软件工程课本习题答案

上传人:第*** 文档编号:58296937 上传时间:2018-10-28 格式:PDF 页数:30 大小:535.20KB
返回 下载 相关 举报
软件工程课本习题答案_第1页
第1页 / 共30页
软件工程课本习题答案_第2页
第2页 / 共30页
软件工程课本习题答案_第3页
第3页 / 共30页
软件工程课本习题答案_第4页
第4页 / 共30页
软件工程课本习题答案_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《软件工程课本习题答案》由会员分享,可在线阅读,更多相关《软件工程课本习题答案(30页珍藏版)》请在金锄头文库上搜索。

1、第 1 章 作业参考答案11 1 软件与软件工程概念软件与软件工程概念1.11.1 举出你所知道的应用软件的例子。举出你所知道的应用软件的例子。办公软件办公软件、游戏软件游戏软件、财务软件财务软件、银行软件银行软件、人事管理软件人事管理软件、工资管理软件工资管理软件、学籍管理软件等学籍管理软件等。1.21.2 认为认为“软件就是程序,软件开发就是编程序。软件就是程序,软件开发就是编程序。”这种观点是否正确?为什么?这种观点是否正确?为什么?认为认为“软件就是程序,软件开发就是编程序。软件就是程序,软件开发就是编程序。”这种观点是错误的。这种观点是错误的。首先,软件是计算机系统中与硬件相互依存的

2、另一部分,它是包括程序,数据及其相关文档的首先,软件是计算机系统中与硬件相互依存的另一部分,它是包括程序,数据及其相关文档的完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一完整集合,程序只是软件的组成部分之一;其次,在软件开发中,编程只是软件开发过程的一个阶段。个阶段。1.31.3 如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?如果将软件开发比作高楼大厦的建造,可以将软件的设计比作什么?可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。可以将软件的设计比作建筑设计,软件设计的成果相当于建筑设计的设计图纸。1.41.4 什么是软

3、件危机?它有哪些典型表现?为什么会出现软件危机?什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。典型表现:典型表现:(1)(1)对软件开发成本和进度的估计常常很不准确。对软件开发成本和进度的估计常常很不准确。(2)(2)用户对用户对“已完成的已完成的”软件系统不满意的现象经常发生。软件系统不满意的现象经常发生。(3)(3)软件产品的质量往往靠不住。软件产品的质量往往靠不住。(4)(4)软件常常是不可维护的。软件常常是不可维护的。(5)(

4、5)软件通常没有适当的文档资料。软件通常没有适当的文档资料。(6)(6)软件成本在计算机系统总成本中所占的比例逐年上升。软件成本在计算机系统总成本中所占的比例逐年上升。(7)(7)软件开发生产率提高的速度软件开发生产率提高的速度,既跟不上硬件的发展速度既跟不上硬件的发展速度,也远远跟不上计算机应用迅速也远远跟不上计算机应用迅速普及深入的趋势。普及深入的趋势。产生软件危机的原因:产生软件危机的原因: 除了软件本身的特点,其原因主要有以下几个方面:除了软件本身的特点,其原因主要有以下几个方面:(1)(1) 缺乏软件开发的经验和有关软件开发数据的积累,使得开发工作计划很难制定。缺乏软件开发的经验和有

5、关软件开发数据的积累,使得开发工作计划很难制定。(2)(2) 软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。软件人员与用户的交流存在障碍,使得获取的需求不充分或存在错误。(3)(3) 软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。软件开发过程不规范。如,没有真正了解用户的需求就开始编程序。(4)(4) 随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技随着软件规模的增大,其复杂性往往会呈指数级升高。需要很多人分工协作,不仅涉及技术问题,更重要的是必须有科学严格的管理。术问题,更重要的是必须有科学严格的管理。(5)(5) 缺少有效的软件评

6、测手段,提交给用户的软件的质量不能完全保证。缺少有效的软件评测手段,提交给用户的软件的质量不能完全保证。1.51.5 什么是软件工程?什么是软件工程?第 1 章 作业参考答案2软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法软件工程是指导计算机软件开发和维护的工程学科。采用工程的概念、原理、技术和方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法来开发和维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。结合起来,以经济地开发出高质量的软件

7、并有效地维护它,这就是软件工程。1.61.6 简述软件生存期由哪些主要的阶段组成,每一阶段的主要任务是什么?简述软件生存期由哪些主要的阶段组成,每一阶段的主要任务是什么?(1)(1)问题定义与可行性研究问题定义与可行性研究:问题定义必须回答的关键问题是问题定义必须回答的关键问题是:“要解决的问题是什么要解决的问题是什么”。可可行性研究要回答的关键问题是:行性研究要回答的关键问题是:“在成本和时间的限制条件下能否解决问题?是否值得在成本和时间的限制条件下能否解决问题?是否值得做?做?”。(2)(2)需求分析需求分析:这个阶段的任务仍然不是具体地解决客户的问题这个阶段的任务仍然不是具体地解决客户的

8、问题,而是准确地回答而是准确地回答“目标系统目标系统必须做什么必须做什么”这个问题。这个问题。(3)(3)软件设计软件设计:本阶段要回答的关键问题是本阶段要回答的关键问题是“目标系统如何做?目标系统如何做?”为此为此,必须在设计阶段中制必须在设计阶段中制定设计方案定设计方案,把已确定的各项需求转换成相应的软件体系结构把已确定的各项需求转换成相应的软件体系结构。结构中的每一组成部分都结构中的每一组成部分都是意义明确的构件是意义明确的构件,此即所谓概要设计此即所谓概要设计。进而具体描述每个构件所要完成的工作进而具体描述每个构件所要完成的工作,为源程为源程序编写打下基础,此即所谓详细设计。序编写打下

9、基础,此即所谓详细设计。(4)(4)程序编码和单元测试:程序编码和单元测试:本阶段要解决的问题是本阶段要解决的问题是“正确地实现已做的设计正确地实现已做的设计” ,为此,需要选,为此,需要选择合适的编程语言择合适的编程语言,把软件设计转换成计算机可以接受的程序代码把软件设计转换成计算机可以接受的程序代码,并对程序结构中的各并对程序结构中的各个模块进行单元测试个模块进行单元测试,然后运用调试的手段排除测试中发现的错误然后运用调试的手段排除测试中发现的错误。要求编写出的程序应要求编写出的程序应当是结构良好、清晰易读的,且与设计相一致的。当是结构良好、清晰易读的,且与设计相一致的。(5)(5)集成测

10、试和系统测试:集成测试的任务是将已测试过的模块按设计规定的顺序组装起来集成测试和系统测试:集成测试的任务是将已测试过的模块按设计规定的顺序组装起来,在组装的过程中检查程序连接的问题在组装的过程中检查程序连接的问题。系统测试的任务是根据需求规格说明的要求系统测试的任务是根据需求规格说明的要求,对必对必须实现的各项需求须实现的各项需求,逐项进行确认逐项进行确认,判定已开发的软件是否符合用户需求判定已开发的软件是否符合用户需求,能否交付用户能否交付用户使用使用。为了更有效地发现系统中的问题为了更有效地发现系统中的问题,通常这个阶段的工作由开发人员通常这个阶段的工作由开发人员、用户之外的第用户之外的第

11、三者承担。三者承担。(6)(6)运行维护运行维护:已交付的软件投入正式使用已交付的软件投入正式使用,便进入运行维护阶段便进入运行维护阶段。这一阶段可能持续若干年这一阶段可能持续若干年。软件在运行中可能由于多方面的原因软件在运行中可能由于多方面的原因,需要对它进行维护需要对它进行维护。通常有四种类型的维护通常有四种类型的维护:改正改正性维护、适应性维护、完善性维护和预防性维护。性维护、适应性维护、完善性维护和预防性维护。1.71.7 常见的软件生存期模型主要有哪些?每种模型的优缺点是什么?常见的软件生存期模型主要有哪些?每种模型的优缺点是什么?常见的软件生存期模型主要有瀑布模型、快速原型模型、增

12、量模型、螺旋模型、喷泉模型和统常见的软件生存期模型主要有瀑布模型、快速原型模型、增量模型、螺旋模型、喷泉模型和统一过程。一过程。(1)(1) 瀑布模型瀑布模型第 1 章 作业参考答案3优点:可强迫开发人员采用规范化的方法;严格地规定了每个阶段必须提交的文档;要求每个优点:可强迫开发人员采用规范化的方法;严格地规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证。阶段交出的所有产品都必须经过质量保证小组的仔细验证。缺点:由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发出的软件产品不能缺点:由于瀑布模型几乎完全依赖于书面的规格说明,很可能导致最终开发

13、出的软件产品不能真正满足用户的需要;用户往往需要等待很长时间才能看到可以运行的程序;适应需求变更的真正满足用户的需要;用户往往需要等待很长时间才能看到可以运行的程序;适应需求变更的能力比较差。能力比较差。适用范围:适用范围:瀑布模型只适用于项目开始时需求已确定的情况。瀑布模型只适用于项目开始时需求已确定的情况。(2)(2) 快速原型模型快速原型模型优点:有助于满足用户的真实需求;原型系统已经通过与用户的交互而得到验证,据此产生的优点:有助于满足用户的真实需求;原型系统已经通过与用户的交互而得到验证,据此产生的规格说明文档能够正确地描述用户需求。规格说明文档能够正确地描述用户需求。缺点:要求开发

14、人员快速建立原型。缺点:要求开发人员快速建立原型。适用范围:适用于需求不明确的软件项目。适用范围:适用于需求不明确的软件项目。(3)(3) 增量模型增量模型优点:优点:能在较短时间内向用户提交可完成一些基本功能的产品,即从第一个构件交付之日起,用能在较短时间内向用户提交可完成一些基本功能的产品,即从第一个构件交付之日起,用户就能做一些有用的工作。户就能做一些有用的工作。逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的逐步增加产品的功能可以使用户有较充裕的时间学习和适应新产品,从而减少一个全新的软件可能给用户组织带来的冲击。软件可能给用户组织带来的冲击。项目失败的风

15、险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够项目失败的风险较低,虽然在某些增量构件中可能遇到一些问题,但其他增量构件将能够成功地交付给客户。成功地交付给客户。优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统优先级最高的服务首先交付,然后再将其他增量构件逐次集成进来。因此,最重要的系统服务将接受最多的测试。服务将接受最多的测试。缺点:缺点:在把每个新的增量构件集成到现有软件体系结构中时在把每个新的增量构件集成到现有软件体系结构中时, 必须不破坏原来已经开发出的产品必须不破坏原来已经开发出的产品。软件体系结构必须是开放的,即向现有产品中加入新构件

16、的过程必须简单、方便。软件体系结构必须是开放的,即向现有产品中加入新构件的过程必须简单、方便。适用范围:适用于工期紧张、功能可以划分、比较复杂的软件项目。软件工程师必须有较高的适用范围:适用于工期紧张、功能可以划分、比较复杂的软件项目。软件工程师必须有较高的技术水平,能够设计出开放的软件体系结构。技术水平,能够设计出开放的软件体系结构。(4)(4) 螺旋模型螺旋模型优点:优点:对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标;的一个重要目标;第 1 章 作业参考答案4减少了过多测试或测试不足所带来的风险;减少了过多测试或测试不足所带来的风险;在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。在螺旋模型中维护只是模型的另一个周期,在维护和开发之间并没有本质区别。缺点:螺旋模型是风险驱动的,因此要求软件开发人员必须

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号