5:新闻发布系统概要设计-软件工程与UML项目化实用教程(第2版)-刘振华-清华大学出版社
- 格式:ppt
- 大小:468.00 KB
- 文档页数:2
《软件工程》课程标准课程信息【课程编码】:xxxxx【课程名称】:软件工程【适用专业】:计算机类各相关专业【先修课程】:C语言程序设计、SQL Server数据库技术、oracle 数据库技术、Java语言程序设计和Servlet&JSP开发技术等【后续课程】:顶岗实习【建议课时】:72课时1.课程定位《软件工程》是高等职业教育软件技术专业的专业必修课程。
本课程是一门研究和指导软件开发和维护的工程性课程,它以计算机科学理论及其他相关学科的理论为指导,采用工程化的概念、原理、规范、技术和方法进行软件工程项目的开发和维护,把经过实践证明正确的管理措施和当前能够得到最好的技术方法结合起来,以较少的代价获取高质量的软件产品。
通过本课程的学习,使学生掌握软件工程的常用工具的使用,能够熟练使用工具辅助完成软件需求分析建模、数据库设计、界面设计和管理工作。
2.课程设计理念《软件工程》作为一专业必修课程,重点要求学生学习了解与软件开发和维护有关的四个方面的主要内容——过程与模型、方法与技术、工具与环境、标准与规范。
进而通过课程实践培养学生运用软件工程工具辅助完成软件需求分析建模、软件设计、数据库设计、界面设计和管理工作的实践应用能力与创新能力,努力成为当今信息社会和知识经济时代所需要的高素质计算机人才。
3.课程目标本课程是软件技术专业的专业必修课程。
通过本课程的学习,使学生初步建立工程化意识,掌握用工程化思想(包括技术、方法与环境)开发各种软件,以软件的生命周期作为主线,了解软件工程的基本理论,进一步系统化、工程化,为今后实际工程中能够进行系统分析与设计奠定良好的基础。
3.1知识目标1)熟悉软件与软件工程基本概念和基本知识。
2)熟悉软件与软件工程基本原理和准备、实施、评价策略。
3)掌握运用一些具体的方法与技术,如软件需求规格说明书的格式叙写、软件设计方法、软件测试的步骤等。
4)熟悉软件工程主要文档编制规范。
单项选择题(每小题1分,共10分)1、在结构性的瀑布模型中,哪一个阶段定义的标准将成为软件测试中的系统测试阶段的目标( A )(A)需求分析阶段(B)详细设计阶段(C)概要设计阶段(D)可行性2、研究阶段软件工程方法中普遍定义的方法之一是结构化生命周期方法(SLC方法),下述哪一个论述不具有SLC方法的主要特征( C )A 严格定义需求B 划分开发阶段C 规范文档格式D 分析控制流程3、软件结构中两个模块之间有调用关系,传递简单数据值,相当于高级语言中的值传递,这两个模块之间的耦合是( D )(A)公共耦合(B)控制耦合(C)标记耦合(D)数据耦合4、软件维护的四类维护活动是( A )(A)改正性维护,适应性维护,完善性维护和预防性维护。
(B)适应性维护,完善性维护,抢救性维护和辅助性维护。
(C)改正性维护,适应性维护,完善性维护和辅助性维护。
(D)适应性维护,完善性维护,抢救性维护和预防性维护。
5、主要从( A )几个方面进行系统可行性研究。
(A)技术可行性,经济可行性,操作可行性。
(B)技术可行性,经济可行性,系统可行性。
(C)经济可行性,系统可行性,操作可行性。
(D)经济可行性,系统可行性,时间可行性。
6、进行需求分析可使用多种工具,但( C )是不适用的。
(A)数据流图(B)判定表(C)PAD图(D)数据字典7、软件需求分析阶段的工作,可以分为四个方面:对问题的识别、分析与综合、编写需求分析文档以及( B )(A)软件的总结(B)需求分析评审(C)阶段性报告(D)以上答案都不对8、OMT(Object Modelling Technique)方法的第一步是从问题的陈述入手,构造系统模型。
系统模型由对象模型、( C )组成。
A静态模型和功能模型 B动态模型和过程模型C动态模型和功能模型 D静态模型和操作模型9、为了表示项目管理功能工作中各项任务之间的进度衔接关系,常用的计划管理工具是( D )(A)程序结构图(B)数据流图(C) E-R图(D)甘特(Gantt)图①软件生命周期中所花费用最多的阶段是(D)A.详细设计B.软件编码C.软件测试D.软件维护②可行性分析是在系统开发的早期所做的一项重要的论证工作,它是决定该系统是否开发的决策依据,因必须给出(B)的回答。
信息管理与信息系统专业主要课程1H10915 运筹学学分:3.0 Operations Research预修课程:高等数学、线性代数、概率论与数理统计、管理学内容简介:运筹学是一门实践性、技巧性和可操作性均极强的专业基础课,是用定量方法研究管理问题的一门学科。
其特点是将管理的相关问题,采用定性定量相结合的方法,去研究客观世界的各种运行系统中所发生的各种复杂问题,为决策提供科学支持。
在本课程的学习中,重点介绍运筹学的建模技巧及重要模型在生产经济管理、金融财务等方面的应用,包括将实际管理问题转化为运筹学模型的一般方法和技巧、线性规划、单纯型法、对偶理论与灵敏度分析、整数规则、动态规则、图与网络分析、排队论、对策与决策等成功运用运筹学模型的案例。
推荐教材:《运筹学教程》,胡运权,清华大学出版社,1998年主要参考书:《运筹学》(修订版),《运筹学》教材编写组编,清华大学出版社,1990年《运筹学模型与实例教程》,程理民等,清华大学出版,2001年《管理运筹学方法》,韩大卫,大连理工大学出版社,1999年1H10495 离散数学学分:2.5 Discrete Mathematics预修课程:高等数学、线性代数内容简介:随着计算机科学技术的不断发展和广泛应用,迫切需要适当的数学工具来解决计算机科学各个领域中提出的有关离散量的理论问题,离散数学以离散变量为研究对象,综合运用并系统地论述了计算机科学中所用到的研究离散量的问题,是学习计算机专业理论的重要数学工具,主要内容为数理逻辑、集合论和图论。
数理逻辑是以符号化方法研究推理规律;集合论是现代教学的基础;图论在计算机及相关领域应用广泛。
通过本课程的学习,学生应掌握现代数学的观点和方法,树立基于抽象和严密推理的逻辑判断能力,学会用数学模型的方法分析和解决实际问题。
推荐教材:《离散数学》(第二版),耿素云、屈婉玲主编,清华大学出版社,1999年主要参考书:《离散数学》,檀凤琴、何自强编著,科学出版社,1999年《离散数学》,朱一清主编,电子工业出版社,1997年《离散数学》,马叔良、顾豫编,电子工业出版社,1997年《离散数学》,邵学才主编,清华大学出版社,2001年1H10643 数据库原理学分:3.0 Database principles预修课程:计算机文化基础、C语言程序设计、数据结构内容简介:数据库原理是信息技术学科的一门重要的基础课,因为各种应用软件和基于计算机的应用系统常常要用各种数据库来管理大量的复杂数据、信息和知识。
《软件工程导论》课程教学大纲(5篇)第一篇:《软件工程导论》课程教学大纲《软件工程导论》课程教学大纲课程编号:课程中文名称:软件工程导论课程英文名称:Introduction of Software Engineering 总学分:2 总学时: 36 讲课学时:36习题课学时:0 实验学时:0 上机学时:0 授课对象:软件工程专业本科先修课程:程序设计课程要求:必修课课程分类:专业基础课一、课程教学目的随着计算机技术的发展,软件的规模越来越大,软件的结构越来越复杂,软件开发与维护的难度也越来越高,软件的质量难以保证,软件开发与维护的进度和成本难以控制,这就要求有一种科学的方法指导软件的开发与维护工作。
软件工程就是这样一种指导软件开发和维护的工程学科。
通过本课程的学习,使学生了解软件工程的概念、原理和技术,初步掌握软件开发的基本方法和常用工具,建立软件开发和维护的工程化意识,培养独立思考的能力和团队合作的精神,为后续相关课程的学习以及从事软件开发与维护的实际工作打下良好的基础。
二、教学内容及基本要求教学内容:1.课程内容简介(1学时)本课内容简介,基本要求和目标,教学方法,学习方法,教材(英1 文原版)的主要内容及使用,中文参考教材简介2.软件工程的基本概念(4学时)软件工程的基本概念,软件危机产生的原因,软件危机面临的问题及解决方法,什么是好的软件以及软件的质量的概念,实施软件工程的人员,软件工程的系统方法,软件工程的工程方法,软件工程的发展3.过程建模与生命周期(4学时)过程的概念,软件过程模型,软件生命周期,各种常用的软件过程模型,过程建模的工具和技术 4.软件项目计划与管理(4学时)软件项目进展跟踪,软件项目的人员,工作量的估算,风险管理,项目计划,项目管理 5.需求获取(4学时)需求过程,需求的类型,需求的特征,需求的表示方法,原型需求法,需求文档,需求过程的参加人员,需求确认,需求度量,需求表示方法的选择,表示需求的工具。
软件工程形考一一、单选题1.()是职业软件工程师的必要条件。
A.自律、善于沟通、具有一定的软件技能B.编程速度快C.熟悉众多的软件环境D.语言天赋正确答案: A2.根据软件工程的7条基本原理判断下面正确的选项是()。
A.软件错误发现的时机不重要,重要的是错误的严重程度B.软件错误只能通过运行代码才能发现C.软件错误发现的越早改正的成本越低D.需求阶段一般不会引入错误正确答案: C3.美国著名软件工程专家B.W.Boehm于1983年提出了软件工程的()条基本原理。
A.7B.5C.3D.12正确答案: A4.软件、程序和代码是()。
A.相同的软件概念B.程序语言写的代码C.计算机代码和数据D.三个不同的概念正确答案: D5.软件对硬件和环境有着不同程度的依赖性,这导致了软件()问题。
A.复杂性B.升级和移植C.通用性D.脆弱性正确答案: B6.软件工程的出现是由于()。
A.软件危机B.计算机硬件技术的发展C.软件社会化的需要D.计算机软件技术的发展正确答案: A7.软件工程四个层次由下至上是(),它们的顺序不能互换。
A.质量层、过程层、方法层、工具层B.过程层、方法层、质量层、工具层C.方法层、过程层、质量层、工具层D.方法层、质量层、过程层、工具层正确答案: A8.软件可行性研究一般不考虑()A.是否有足够的人员和相关的技术来支持系统开发B.是否有足够的工具和相关的技术来支持系统开发C.待开发软件是否有市场、经济上是否合算D.待开发的软件是否会有质量问题正确答案: D9.软件与程序的区别是()。
A.程序价格便宜,软件价格昂贵B.程序是用户自己编写的,而软件是由厂家提供的C.程序是用高级语言编写的,而软件是由机器语言编写的D.软件包括程序、相关数据及其文档,程序是软件的一部分正确答案: D10.在软件生产的程序系统时代由于软件规模扩大和软件复杂性提高等原因导致了()。
A.软件危机B.软件工程C.程序设计革命D.结构化程序设计正确答案: A11.软件工程学科出现的主要原因是()。
软件工程大作业(2)(答案)软件工程作业第二部分一、填空1.结构化分析方法的分析策略是___自顶向下逐步求精_______。
2.衡量模块独立性的两个定性标准是_耦合性与内聚性________。
3.软件集成测试的方法主要有两种,它们是___渐增式与非渐增式测试_______。
4.继承性是子类自动共享其父类的__数据结构和方法____________机制。
5.在面向对象方法中,人们常用状态图描述类中对象的___动态行为________。
6.规定功能的软件,在一定程度上能从错误状态自动恢复到正常状态,则称该软件为____容错_____软件。
7.可行性研究的目的是用最小的代价在尽可能短的时间内确定该软件项目_是否值得开发_。
8.需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是__功能需求_。
9.软件生存周期中时间最长、花费的精力和费用最多的一个阶段是__维护_____阶段。
10.对象之间进行通信叫做__消息_____。
11.计算机辅助软件工程这一术语的英文缩写为_CASE_______。
12.McCall提出的软件质量模型包括______11________个软件质量特性。
13.为了便于对照检查,测试用例应由输入数据和预期的___输出结果____两部分组成。
14.软件结构是以____模块__________为基础而组成的一种控制层次结构。
15.结构化语言(PDL)是介于自然语言和____形式语言____之间的一种半形式语言。
16.软件概要设计的主要任务就是__软件结构的设计______。
17.结构化程序设计方法是使用___三种基本控制结构____构造程序。
18.软件开发是一个自顶向下逐步细化和求精过程,而软件测试是一个__自底向上或相反顺序 _____集成的过程。
19.在建立对象的功能模型时,使用的数据流图中包含有处理、数据流、动作对象和__数据存储对象_____。
二、选择1.UML是软件开发中的一个重要工具,它主要应用于哪种软件开发方法( C )A、基于瀑布模型的结构化方法B、基于需求动态定义的原型化方法C、基于对象的面向对象的方法D、基于数据的数据流开发方法2.面向对象的开发方法中,(B)将是面向对象技术领域内占主导地位的标准建模语言。
第一章 (2)第二章 (3)第三章 (4)第四章 (5)第五章 (6)第六章 (8)第七章 (10)第八章 (10)第九章 (11)课后习题答案第一章项目的市场调研习题1.选择题(1)软件是计算机系统中与硬件相互依存的另一部分,它包括文档、数据和()。
A.数据B. 软件C.文档D. 程序(2)软件工程是一门研究如何用系统化、()、可度量化等工程原则和方法去进行指导软件开发和维护的学科。
A.规范化B.标准化C.抽象化D.简单化(3)软件工程的出现主要是由于()。
A.方法学的影响B.软件危机的出现C.其他工程学科的发展D.计算机的发展(4)可行性研究主要包括经济可行性、技术可行性、法律可行性和()等六个方面。
A.运行可行性B.条件可行性C.环境可行性D.维护可行性(5)编制项目开发计划的目的是用文件的形式,把在开发过程中各项工作的负责人员、开发进度、所需经费预算、所需软件、硬件条件等问题做出的安排以()记载下来。
A.文件形式B. 文档形式C. 电子档案形式D. 条文形式2.填空题(1)软件工程是开发、运行、维护和修复软件的系统方法,这里所说的系统方法,是把系统化的、规范化的、可度量化的途径应用于软件生存周期中,也就是把工程化应用于软件中。
(2)可行性研究的任务不是具体解决系统中的问题,而是确定问题是否值得解决、是否能够解决。
(3)软件的开发计划也称项目实施计划,是一个综合的计划,是软件开发工作的指导性文档,阅读对象是软件开发的主管部门、软件技术人员和普通用户。
3.思考题(1)软件危机产生的原因是什么?为何要引入软件工程的概念?答:①忽视了软件开发前期的需求分析的需求分析;②开发过程没有统一、规范的方法论的指导,文档资料不齐全,忽视了人与人之间的交流。
③忽视测试阶段的工作,提交给用户的软件质量差。
④请示软件的维护。
(2)可行性研究的主要任务有哪些?答:①经济可行性②技术可行性③时机可行性④管理上的可行性⑤法律可行性⑥运行可行性(3)制定项目开发计划的主要任务是什么?答:①项目资源计划软件开发中的资源包括用于支持软件开发的硬件,软件工具以及人力资源。
软件工程/开发项目管理类书目----------------------------------------------------------------------------------------- 2010-3-10-----------------------------------------------------------------------------------------1.《软件调试实战》(图灵程序设计丛书)(The Developer's Guide to Debugging)作者:(德国)Thorsten Grotker (德国)Ulrich Holtmann (德国)Holger Keding等译者:赵俐·出版社:人民邮电出版社·页码:190 页·出版日期:2010年02月·ISBN:9787115218858内容简介《软件调试实战》主要讲述C/C++程序的调试和分析,书中的调试技术也可以应用于其他语言编写的程序。
《软件调试实战》在讲述简单的源代码分析和测试的基础上,讲述了现实的程序中经常遇到的一些问题(如程序链接、内存访问、并行处理和性能分析)并给出了解决方案。
《软件调试实战》适合软件开发人员、调试人员阅读和使用。
2.《高效程序员的45个习惯:敏捷开发修炼之道》(图灵程序设计丛书)(Practices of An Agile Developer:Working in the Real World)作者:(美国)苏帕拉马尼亚姆(Venkat Subramaniam) (美国)亨特(Andy Hunt)译者:钱安川郑柯·出版社:人民邮电出版社·页码:186 页·出版日期:2010年01月·ISBN:7115215537/9787115215536作者简介苏帕拉马尼亚姆(Venkat Subramaniam),博士Agile Developer公司创始人。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)郭宁主编马玉春邢跃吴文红副主编人民邮电出版社北京内容提要本书根据软件工程的最新发展,结合目前软件工程教学的需要,以传统的软件工程和面向对象的软件工程为主线,遵循软件开发“工程化”思想,结合大量的应用案例,系统地介绍软件工程学的理论、方法以及应用技术。
内容包括:软件开发模型、需求分析、软件设计、软件测试、软件维护、质量管理、文档技术、软件项目管理、软件工程工具和环境等。
本书强调软件工程的理论与实践相结合、技术与管理相结合、方法与CASE工具相结合,语言简练,通俗易懂,采用案例教学方法,注重培养实际开发能力和文档的写作能力,具有很强的实用性和可操作性。
书中含有丰富的例题与习题,便于教学和自学。
本书可作为高等院校计算机专业或信息类相关专业高年级本科生或研究生教材,也可作为软件开发人员的参考书。
普通高等教育“十一五”国家级规划教材21世纪高等学校计算机规划教材软件工程实用教程(第2版)♦主编郭宁副主编马玉春邢跃吴文红责任编辑邹文波♦人民邮电出版社出版发行北京市崇文区夕照寺街14号邮编 100061 电子邮件 315@网址 北京鑫正大印刷有限公司印刷♦开本:787×1092 1/16印张:18.75 2011年8月第2版字数:494千字2011年8月北京第1次印刷ISBN 978-7-115-25538-9定价:35.00元读者服务热线:(010)67170985 印装质量热线:(010)67129223反盗版热线:(010)67171154。
第十一届中国大学生服务外包创新创业大赛企业命题类赛题手册中国大学生服务外包创新创业大赛组委会二〇一九年十一月中国大学生服务外包创新创业大赛组委会目录一、概述 (2)二、企业赛题 (4)2.1【A01】基于绿色出行场景个人碳排放积分系统开发与运营【八维通】 (4)2.2【A02】基于地铁出行场景的小游戏设计【八维通】 (7)2.3【A03】工业物联网——高性能边缘计算轻量级容器管理引擎设计【文思海辉】 . 9 2.4【A04】工夹具全寿命智能管理系统(TMS)【捷普】 (12)2.5【A05】基于人工智能的视觉识别技术【文思海辉】 (16)2.6【A06】交通时空大数据分析挖掘系统【东软】 (18)2.7【A07】酒店视觉AI解决方案【虹软】 (21)2.8【A08】智.会学习——今目标“智慧校园”场景挖掘与实践应用【今目标】 .. 24 2.9【A09】僵尸企业画像及分类【科创信息】 (26)2.10【A10】金融科技服务平台企业数据的无监督分类系统【浪潮】 (30)2.11【A11】多方数据安全计算平台的设计与实现【浪潮】 (33)2.12【A12】基于算法的配送路线优化系统【华云+中诺思】 (36)2.13【A13】运用文本相似度实现主观题自动评阅【华云+中诺思】 (39)2.14【A14】金融领域公司实体消歧系统构建【恒生电子】 (42)附件一:A类企业命题初赛统一评分标准(仅供参考) (49)一、概述第十一届中国大学生服务外包创新创业大赛(以下简称“服创大赛”或“大赛”)企业命题类竞赛邀请具有代表性的企业参与命题,所有赛题组成赛题池,参赛团队可在赛题池中选择任一赛题参赛。
本类竞赛重点考察参赛团队的专业技能及专业竞争力水平。
命题企业根据自己的真实业务需要发布赛题,由参赛团队按要求进行回应。
参赛团队需接受参赛承诺书中规定的知识产权条款,赛题涉及特殊知识产权的部分由企业赛题中单独约定。
根据赛题要求不同,部分赛题要求不能使用开源代码的,则选择该赛题的团队禁止使用。
2024年软考-高级软考-系统分析师考试历年真题常考点试题带答案(图片大小可任意调节)第1卷一.单选题(共20题)1.原型化方法是用户和软件开发人员之间进行的一种交互过程,它从用户界面的开发入手,首先形成系统界面原型,用户( )并提出意见。
A.改进用户界面的设计B.阅读文档资料C.模拟用户界面的运行D.运行用户界面原型2.由用户开发应用系统可以解决的主要问题是( )。
A. 提高应用系统效率B.系统开发直接反映用户需求C.增强系统的可靠性D.降低开发成本3.系统设计阶段的主要成果是( )。
A.用户的决策方针B.用户的分析方案C.系统设计说明书D.系统总体设计方案4.一般子系统的划分是在系统( )阶段,根据对系统的功能 /数据分析的结果提出的。
A.需求分析B.逻辑阶段C.总体设计D.详细设计5.软件工程的主要目标是( )。
A.软件需求B.软件设计C.风险分析D.软件实现6.用户开发应用系统的主要手段是( ) 。
A.生命周期法B. 原型法C.第四代语言D.面向对象方法7.在绘绘数据流时,应遵循父图与子图平衡的原则,所谓平衡是指( )。
A.父图和子图都不昨改变数据流的性质B.子图不改变父图数据流的一致性C.父图的输入 /输出数据流与子图的输入 / 输出数据流一致D.子图的输出数据流完全由父图的输入数据流确定8.数据字典是数据流图中所有元素的定义的集合,一般由以下四类条目组成( )。
A. 数据说明条目、控制流条目、加工条目、数据存储条目B.数据流条目、数据项条目、文件条目、加工条目C. 数据源条目、数据流条目、数据处理条目、数据文件条目D.数据流条目、数据文件条目、数据池条目、加工条目9.在用户需求分析中,开发人员要从用户那里解决的最重要的问题是( )。
A.要让软件做什么B.要给软件提供哪些信息C.要求软件工作效率怎样D.要让软件具有何种结构10.SA 法的主要描述手段有( )。
A.系统流程图和模块图B.DFD 图、数据词典、加工说明C.软件结构图、加工说明D.功能结构图、加工说明11.继承机制的作用是( )。
一、判断题判断以下叙述的正误。
正确的叙述请在答题纸上的相应题号后打“√”,错误的打“×”。
1.编码时应尽可能使用全局变量。
2.为了提高程序的易读性,尽可能使用高级语言编写程序。
3.只要模块之间的接口关系不变,各模块的内部实现细节的修改不会影响别的模块。
4.为了加快软件维护作业的进度,尽可能增加维护人员的数目。
5.尽可能用GOTO语句6.程序的注释并不是可有可无的。
7.尽可能在软件生产过程中保证各阶段文档的正确性。
8.在进行总体设计时应加强模块间的联系。
9.程序的模块划分得越大越好。
10.模块越小,模块化的优点越明显,一般说来,模块的大小都在10行以下。
11.软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。
12.在可行性研究中最难决断和最关键的问题是经济可行性。
13.在软件开发中,采用原型系统策略的主要困难是时间问题。
14.数据流图从数据传递和加工的角度,以图形的方式描述数据流从输入到输出的传输变换过程。
15.模块越多,开发成本越小。
16.耦合是指一个模块内各个元素彼此结合的紧密程度。
17.内聚是指一个软件结构内各个模块之间互连程度的度量。
18.模块分解时应注意不要降低模块的独立性。
19.总体设计阶段完成的主要文档是总体设计说明书。
20.详细设计是在总体设计之后进行的,它利用总体设计的结果,对系统中的每个模块给出足够的过程性描述。
21.程序设计语言中应绝对禁止使用GOTO语句。
22.PAD图在设置了五种基本的控制结构后,还允许递归调用。
23.程序中嵌套的层数应加以限制。
24.程序的书写格式最好所有语句都左对齐,这样也可以节省纸张。
25.在编写程序时尽可能对程序代码进行优化。
26.使用可以看得出意义的标识符。
27.在进行需求分析时需同时考虑维护问题。
28.完成测试作业后,为了缩短源程序的长度应删去源程序的注释。
29.重视程序结构的设计,使程序具有较好的层次结构。
软件工程简答题答案第五版软件工程简答题第一章绪论1.什么是软件危机?软件危机有什么表现?软件危机产生的原因是什么?答:所谓软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
主要是指如何开发软件,怎样满足对软件日益增长的需求,如何维护数量不断膨胀的先有软件。
表现:(1)对于软件开发的成本和进度的估计很不准确。
(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。
(3)开发的软件可靠性差。
(4)软件通常没有适当的文档资料。
(5)软件的可维护性差。
(6)软件开发生产率提高的速度,远远跟不上计算机应用普及深入的趋势。
原因:软件开发中遇到的问题因找不到解决的办法,使问题积累起来,形成了尖锐的矛盾,导致了软件危机。
2.简述软件的发展过程。
答:软件生产的发展划分为三个年代:(1)程序设计时代:这一时期,软件的生产主要是个体手工劳动的生产方式。
(2)程序系统时代:由于计算机的应用领域不断扩大,软件的需求也不断增长,软件由于处理的问题域扩大而使程序变得复杂,设计者不得不由个体手工劳动组成小集团合作,形成作坊式生产方式小集团合作生产的程序系统时代。
(3)软件工程时代:软件工程时代的生产方式是采用工程的概念、原理、技术和方法,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3.什么叫软件工程?软件工程是如何克服软件危机的?答:软件工程是将系统的、规范的、可度量的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。
为了克服软件危机,人们从其他产业的工程化生产得到启示,采用工程的概念、原理、技术和方法来开发和维护软件。
4.软件工程的目标是什么?软件工程有哪些原则?答:软件工程的目标是:在给定成本、进度的前提下,开发出具有可修改性、有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性并满足用户需求的软件产品。
原则如下:抽象、模块化、信息隐藏、局部化、完整性、一致性和可验证性。
软件工程期末大作业《软件工程》(二)引言概述:为了完成软件工程期末大作业《软件工程》(二),本文将围绕软件工程的相关内容展开讨论。
软件工程是一门关于软件开发和维护的学科,涉及到多方面的知识和技术。
本文将从需求分析、系统设计、编码、测试和软件维护这五个方面分阐述软件工程的主要内容。
需求分析:1. 确定用户需求: 通过与用户沟通和调研,明确用户对软件的需求和使用场景。
2. 分析需求: 将用户需求进行逐一分解,理解每个需求的重要性和优先级。
3. 编写需求文档: 将需求转化为文档,明确需求的功能、性能和界面要求。
4. 确定需求变更处理方法: 需求变更是常见的情况,需要制定相应的变更管理流程。
系统设计:1. 架构设计: 根据需求分析的结果,设计系统的整体结构和模块间的关系。
2. 数据库设计: 设计系统需要使用的数据库结构和数据流程。
3. 界面设计: 设计系统的用户界面,保证用户友好性和易用性。
4. 安全设计: 考虑系统的安全性和防护措施,保护用户数据和系统的完整性。
5. 性能设计: 针对系统的性能要求,进行合理的资源和算法设计。
编码:1. 选择编程语言和开发平台: 根据系统需求和团队的技术经验,选择适合的编程语言和开发平台。
2. 划分模块: 将系统功能划分为多个模块,分别进行编码和测试。
3. 编码规范: 遵循编码规范,保证代码的可读性和可维护性。
4. 使用工具和框架: 利用现有的工具和框架,提高开发效率和质量。
5. 版本控制: 使用版本控制工具,管理和追踪代码的变更和版本发布。
测试:1. 单元测试: 针对每个独立的模块进行单元测试,确保其功能的正确性。
2. 集成测试: 将各个模块整合在一起进行测试,验证模块间的协同工作。
3. 系统测试: 对整个系统进行全面的测试,验证系统的功能和性能。
4. Bug修复: 在测试过程中发现的问题需要及时修复,并进行相应的再测试。
5. 用户验收测试: 邀请用户进行最终的测试,反馈系统的问题和建议。