软件工程第三版答案Word文档格式.docx
《软件工程第三版答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《软件工程第三版答案Word文档格式.docx(4页珍藏版)》请在冰豆网上搜索。
1.4什么是软件工程答在计算机科学技术百科全书中软件工程是应用计算机科学、数学及管理科学等原理,开发软件的工程。
1.5简述软件工程的基本原则。
答软件工程原则包括围绕工程设计、工程支持和工程管理提出的以下4条基本原则第一条围绕适宜的开发模型;
第二条采用合适的设计方法;
第三条提供高质量的工程支撑;
第四条重视软件工程的管理。
1.6软件生存周期分哪几个阶段分别简述各个阶段的任务。
答软件生存周期有计算机系统工程、需求分析、设计、编码、测试、运行和维护6个阶段。
a计算机系统工程的任务是确定待开发软件的总体要求和范围,以及该软件与其他计算机系统元素之间的关系,进行成本估算,做出进度安排,并进行可行性分析,即从经济、技术、法律等方面分析待开发的软件是否有可行的解决方案,并在若干个可行的解决方案中做出选择。
b需求分析主要解决待开发软件要“做什么”的问题,确定软件的功能、性能、数据、界面等要求,生成软件需求规约。
c软件设计只要解决待开发软件“怎么做”的问题。
软件设计通常可分为系统设计和详细设计。
系统设计的任务是设计软件系统的体系结构,包括软件系统的组成成分、各成分的功能和接口、成分间的连接和通信,同时设计全局数据结构。
详细设计的任务是设计各个组成成分的实现细节,包括局部数据结构和算法等。
d编码阶段的任务是用某种程序设计语言,将设计的结果转换为可执行的程序代码。
e测试阶段的任务是发现并纠正软件中的错误和缺陷。
测试主要包括单元测试、集成测试、确认测试和系统测试。
f软件完成各种测试后就可交付使用,在软件运行期间,需对投入运行的软件进行维护,即可发现了软件中潜藏的错误或需要增加新的功能或使软件适应外界环境的变化等情况出现时,对软件进行修改。
1.9简述各类软件过程模型的特点。
答典型的软件过程模型有瀑布模型、演化模型(增量模型、原型模型、螺旋模型)、喷泉模型、基于构件的开发模型和形式方法模型等。
a瀑布模型中,上一阶段的活动完成并经过评审后才能开始下一阶段的活动,其特征是接受上一阶段活动的结果作为本阶段活动的输入;
依据上一阶段活动的结果实施本阶段应完成的活动;
对本阶段的活动进行评审;
将本阶段活动的结果作为输出。
b增量模型将软件的开发过程分成若干个日程时间交错的线性序列,每个线性序列产生软件的一个可发布的增量版本,后一个版本是对前一个版本的修改和补充,重复增量发布的过程,直至产生最终的c原型模型从软件工程师与客户的交流开始,其目的是定义软件的总体目标,标识需求。
然后快速制定原型开发的计划,确定原型的目标和范围,采用快速设计的方式对其建模,并构建模型。
被开发的原型应交付给客户使用,并收集客户的反馈意见,这些反馈意见可在下一轮迭代中对原型进行改进。
在前一个原型需要改进,或者需要扩展其范围的时候,进入下一轮原型的迭代开发。
d螺旋模型将原型模型实现的迭代特征与瀑布模型中控制的和系统化的方面结合起来,不仅体现了这两种模型的优点而且还增加了风险分析。
e喷泉模型是一种支持面向对象开发的过程模型。
类及对象是面向对象方法中的基本成分。
在分析阶段,标识类及对象,定义类之间的关系,建立对象-关系模型和对象-行为模型。
在设计阶段,从实现的角度对分析模型进行调整和扩充。
在编码阶段,用面向对象语言实现类及对象,通过消息机制实现对象之间的通信,完成软件的功能。
在面向对象方法中,分析模型和设计模型采用相同的符号表示体系,开发的各个活动没有明显的边界,各个活动经常重复,迭代地交替进行。
f基于构件的开发模型,基于构件的开发是指利用预先包装的构建来构造应用系统。
构件可以是组织内部开发的构建,也可以是商业化的、现存的软件构件。
g形式化方法是建立在严格数学基础上的一种软件开发方法。
软件开发的全过程中,从需求分析、规约、设计、编程、系统集成、测试、文档生成,直至维护等各个阶段,凡是采用严格的数学语言,具有精确的数学语义的方法,都称为形式化方法。
形式化方法用严格的数学语言和语义描述功能和设计规约,通过数学的分析和推导,易于发现需求的歧义性、不完整性和不一致性,易于对分析模型、设计模型和程序进行验证。
通过数学的演算,使得从形式化功能规约到形式化设计规约,以及从形式化设计规约到程序代码转换成为可能。
1.10敏捷软件开发的特点是什么答敏捷软件开发的特点有4个a个人和交互高于过程和工具;
b可运行软件高于详尽的文档;
c与客户协作高于合同谈判;
d对变更及时做出反应高于遵循计划。
1.12简述敏捷软件开发的原则。
答敏捷软件开发必须遵循的12条原则如下;
a最优先的是通过尽早地和不断地提交有价值的软件来使客户满意;
【篇二软件工程课后习题答案】1、软件产品的特性是什么答软件产品特性⑴是一种逻辑产品,与物质产品有很大的区别。
⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。
⑶软件产品不会用坏,不存在磨损,消耗。
⑷生产主要是脑力劳动,还末完全摆脱手工开发方式,大部分产品是定做的⑸开发软件的费用不断增加,致使生产成本相当昂贵。
2、软件生产有几个阶段各有何特征答⑴程序设计时代这个阶段生产方式是个体劳动,使用的生产工具是机器语言,汇编语言。
⑵程序系统时代这个阶段生产方式是小集团合作生产,使用的生产工具是高级语言,开发方法仍依靠个人技巧,但开始提出结构化方法。
⑶软件工程时代这个阶段生产方式是工程化的生产,使用数据库、开发工具、开发环境、网络、分布式、面向对象技术来开发软件。
3、什么是软件危机产生原因是什么答软件开发技术的进步未能满足发展的要求。
在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。
产生原因⑴软件规模越来越大,结构越来越复杂。
⑵软件开发管理困难而复杂。
⑶软件包开发费用不断增加。
⑷软件开发技术落后。
⑸生产方式落后,仍采用手工方式。
⑹开发工具落后,生产率提高缓慢。
4、什么是软件工程它目标和内容是什么答软件工程就是用科学的知识程和技术原理来定义,开发,维护软件的一门学科。
软件工程目标付出较低开发成本;
达到要求的功能;
取得较好的性能;
开发的软件易于移植;
只需较低的维护费用;
能按时完成开发任务,及时交付使用;
开发的软件可靠性高。
软件工程内容研究内容包括开发技术和开发管理两个方面。
开发技术主要研究软件开发方法,开发过程,开发工具和环境。
开发管理主要研究软件管理学,软件经济学,软件心理学。
5、软件工程面临的问题是什么答软件工程需要解决的问题软件的费用,可靠性,可维护性,软件生产率和软件的重用。
6、什么是软件生存周期它有哪几个活动答软件生存周期一个软件从提出开发要求开始直到该软件报废为止的整个时期。
包括可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。
7、什么是软件生存周期模型有哪些主要模型答生存周期模型描述软件开发过程中各种活动如何执行的模型。
对软件开发提供强有力的支持,为开发过程中的活动提供统一的政策保证,为参与开发的人员提供帮助和指导,是软件生存周期模型化技术的基础,也是建立软件开发环境的核心。
主要有瀑布模型,增量模型,螺旋模型,喷泉模型,基于知识的模型,变换模型。
8、什么是软件开发方法有哪些主要方法答使用早已定义好的技术集及符号表示习惯来组织软件生产的过程。
通过使用成功的软件开发方法,在规定的投资和时间内,开发出符合用户需求的高质量的软件。
软件开发方法是克服软件危机的重要方面之一,对软件工程及软件包产业的发展起了不可估量的作用。
主要有结构化方法,jackson方法,维也纳开发方法(vdm),面向对象开发方法。
第二章习题参考答案1.可行性研究的任务是什么答可行研究的任务首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。
分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。
从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。
主要从三个方面考虑⑴技术可行性一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能;
资源的有效性;
相关技术的发展是否支持;
⑵经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。
⑶社会可行性要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度、人员素质、操作方式是否可行。
2.可行性研究有哪些步骤答⑴确定项目规模和目标;
⑵研究正在运行的系统;
收集、研究、分析现有系统的文档资料,实地考察系统访问有关人员,然后描绘现有系统的高层系统流程图。
⑶建立新系统的高层逻辑模型;
使用数据流图和数据字典描述数据在系统中的流动和处理情况。
⑷导出和评价各种方案;
导出若干较高层次的物理解决方法,根据技术可行性、经济可行性、社会可行性进行评估,得到可行的解决方法。
⑸推荐可行方案;
进行成本〜效益分析,决定该项目是否值得开发,若值得开发那么解决方案是什么,并且说明该方案可行的原因和理由。
⑹编写可行性研究报告;
将上述可行性过程的结果写成相应文档,即可行性研究报告。
3.可行性研究报告有哪些主要内容答⑴引言编写本文档的目的;
项目名称、背景;
本文档用到的专门术语和参考资料。
⑵可行性研究前提说明开发项目的功能、性能和基本要求;
达到的目标;
各种限制条件;
可行性研究方法和决定可行性的主要因素。
⑶对现有系统的分析说明现有系统的处理流程和数据流程;
工作负荷;
各项费用支出;
所需各类专业技术人吧和数量;
所需各种设备;
向有系统存在什么问题。
⑷所建议的技术可行性分析所建议系统的简要说明;
处理流程和数据流程;
与现有系统比较的优越性;
采用所建议系统对用户的影响;
对各种设备、现有软件、开发环境、运行环境的影响;
对经费支出的影响;
对技术可行性的评价。
⑸所建议系统的经济可行性分析说明建议系统的确良各种支出,各种效益;
收益投资比;
投资顺收周期。
⑹社会因素可行性分析说明法律因素,对合同责任、侵犯专利权、侵犯版权等问题的分析;
说明用户使用可行性,是否满足用户行政管理、工作制度、人吧素质的要求。
⑺其它可供选择方案逐一说明其他可供选择的方案,并说明未被推荐的理由。
⑻结论意见说明项目是否能开发;
还需什么条件