软件工程导论课后习题答案 联系客服

发布时间 : 星期一 文章软件工程导论课后习题答案更新完毕开始阅读c58f28ffaef8941ea76e058a

大学生校园网—努力打造大学生最实用的网络平台! http://www.vvschool.cn 中应该计入维护成本。

7.对前面各章中分析的各应用系统,提出改进和扩充功能的要求? (1) 教材销售采购系统; (2) 图书管理系统; (3) 房产管理系统。 (略)

第九章 软件工程管理 习题答案

1.软件工程管理的内容?

(1) 费用管理: 对软件开发进行成本核算,使软件生产按照商品生产的规律办事。包括:以简单、科学方法估算软件开发费用,作为签定开发合同的根据;管理开发费用的有效使用,即用经济手段来保证产品如期按质完成。 (2) 质量管理: 按项目的质量保证计划,确保各个开发阶段的开发和维护工作全部按软件工程的规范进行,保证软件产品的质量。

(3) 配置管理:通过对于程序、文档和数据的各种版本所进行的管理,保证资料的完整性与一致性。

(4) 项目管理:制定《项目实施计划》,按照计划的内容组织和实施软件的工程化生产。最终目标是以合理的费用和进度,圆满完成计划所规定的软件项目。

2.软件项目有哪些特点?

(1) 软件项目与其他任何产业项目不同,它是算法、思想、概念、组织、流程、效率、优化等的融合体;

(2) 开发软件项目产品,在多数情况下,用户给不出明确的想法和要求。 (3) 在开发过程中,程序及其相关的文档资料常常需要修改,在修改过程中又可能带来新的问题,且这些问题要在很久以后才会发现。

(4) 在研制开发过程中,文档资料是不可缺少的,但工作量又是巨大的,往往也是人们不愿去作的。 (5) 参加软件项目的工作人员,要求具有一定的业务水平和实际工作经验,而很难完全避免的人员流动,对工作的影响是很大的。离开的人员不仅带走了重要的信息,而且带走了工作经验。

3.软件成本估算的一般方法?

自顶向下估计: 首先估算出项目总的开发成本,然后在项目内部进行成本分配。由少数专家参与,依靠他们过去的经验,将要开发的软件与过去开发过的软件进行\类比\,以估计新的软件开发所需要的工作量和成本。

自底向上估计: 将开发任务分成若干子任务,子任务又分成子子任务,直到每一个单元内容足够明确为止;把各个任务单元的成本估计出来,汇合成项目的总成本。该方法得到的结果比较接近实际。

4.为什么在软件开发中,不能用简单增加人员的方法来缩短开发时间?

大量软件开发实践说明:向一个已经延迟的项目追加开发人员,可能使它完成得更晚。因为当开发人员以算术级数增长时,而人员之间的通信将以几何级数增长,往往\得不偿失\。

更多精彩尽在大学生校园网—VvSchool.CN

大学生校园网—努力打造大学生最实用的网络平台! http://www.vvschool.cn

5.影响软件质量的主要因素有哪些?

(1) 产品运行:正确性、风险性、效率、完整性、健壮性和可用性; (2) 产品修改:可理解性、可维护性、灵活性、可测试性; (3) 产品转移:可移植性、可重用性和互运行性。

6.本章第四节的例子是某个软件项目的PERT图。 (1)找出关键路径和完成项目的最早时间;

(2)标出每项活动的最早起止时间与最迟起止时间。 (见该章教案举例)

7.将上题的内容改用Gantt图来表示。 (见该章教案举例)

第十章 软件工程环境 习题答案

1.软件工具是什么?按照软件生存周期可将其分为几类? 软件工具是指为支持计算机软件及其文档的开发、维护、模拟、移植或管理而研制的程序系统。按照软件生存周期可将其分为如下几类:

(1) 需求分析:如数据流图绘制与分析工具、状态转换图绘制与分析工具、面向对象的模型和分析工具、快速原型构造工具、数据字典与数据库工具等。 (2) 软件设计:如HIPO图、PDL(程序设计语言)或PAD(问题分析图)支持工具等。

(3) 编码:集成化的程序员工作平台。如各种正文编辑器和常规的编译程序、汇编程序、连结程序及符号调试器等。

(4) 软件测试:如静态分析器、动态覆盖率测试器、测试用例生成器、测试报告生成器及环境模拟器等。

(5) 软件维护:如反汇编程序、反编译程序、程序结构分析器、源程序格式化工具、文档生成工具、源程序至PAD(问题分析图)或流程图的自动转换工具等。

2.评价软件工具的原则?

(1) 易用性:友好的用户界面,用户乐于使用; (2) 对开发方法的支持:能满足预期的任务和功能需求,且能支持完成该任务所遵循的方法学;

(3) 稳健性:具备自检测机制,即使在故障情况下也不会导致严重后果; (4) 性能:能使资源得到充分有效的利用;

(5) 工具结构柔性:工具结构是柔软的、可修改的和可扩充的。

3.什么是软件开发环境?按技术发展方向分为哪几类环境? 将一组相关的软件工具按照一定的软件开发方法、软件生产和维护模型有机的组合起来,为特定的领域所使用,以支持从需求分析、设计、编码、测试直到维护的整个软件生命周期的计算机辅辅助开发程序系统称为软件开发环境。 按技术发展方向软件开发环境可分为以语言为中心的环境、面向结构化的环

更多精彩尽在大学生校园网—VvSchool.CN

大学生校园网—努力打造大学生最实用的网络平台! http://www.vvschool.cn 境和工具箱环境。

4.工具箱类软件工具的基本特点?

(1) 在某种OS基础上通过一组小的实用工具构成; (2) 虽然各工具之间相互独立,但系统能提供统一的用户命令界面及工具之间统一的数据交换方式;

(3) 工具箱中各工具之间是相互独立的,用户可根据需要进行灵活的增加和裁减;

(4) 工具箱环境中一般除了包括支持编码阶段的工具(如编辑程序、编译程序、汇编程序、连结程序调试程序等)外,还可包括支持大型软件开发方面的工具;

(5) 由于工具箱环境具有较强的通用性和灵活性,因而目前商品化的算机系系统上配置的软件环境大多属于这一类。如:UNIX程序设计环境、及VAX/VNS SET、PCDE、APCE等程序设计环境。

5.软件开发环境的组成与各成分的作用?

软件开发环境的构成:交互式人机界面、工具集及软件环境数据库。

交互式人机界面:人机界面(也称用户界面或人机对话)是用户与计算机系统之间相互交流的中间媒介。 工具集:工具集中软件工具是构成软件开发环境的基本成分。包含在软件开发环境中的工具不是各自封闭和分离的,而是与某种软件开发方法或某种软件加工模型相适应,并以一种综合的、一致的和整体连贯的形态来支持软件开发的全过程。

软件环境数据库:是各个软件工具之间共享数据及相互连结的统一媒介。

6.软件开发环境数据库在软件开发中的作用?

软件环境数据库是用于支持软件项目的大型数据库;软件环境数据库中主要存储软件开发过程中产生的有关产品或半成品的数据及各种项目数据,如源程序、测试数据和各种文档等,它构成软件开发和维护过程中所有项目数据的集中化的存储设施,是集成化软件开发环境的核心组成部分,也是各个软件工具之间共享数据及相互连结的统一媒介。

7.集成化项目支持环境IPSE的主要特征是什么? (1) 集成化和相互兼容的工具集; (2) 支持项目的管理和控制; (3) 支持配置管理;

(4) 支持多种语言的软件开发; (5) 支持硬件开发;

(6) 允许宿主机和目标机使用分布式系统。

8.CASE的含义是什么?

CASE是计算机辅助软件工程的简称。简单的说,可以将CASE理解为: CASE=软件工程+自动化工具.从狭义角度解释它是一组工具和方法的结合;从广义角度解释它是辅助软件开发的任何计算机技术;从学术研究角度解释:它是软件开发

更多精彩尽在大学生校园网—VvSchool.CN

大学生校园网—努力打造大学生最实用的网络平台! http://www.vvschool.cn 方法、软件开发管理和软件工具等方面多年研究和发展的产物;从软件产业角度解释它是种类繁多的软件开发和系统集成的产品和软件工具的集合。

9.CASE工具一般分为几类?有什么区别?

CASE工具可以理解为除OS外的所有软件工具的总称。按对软件过程的支持范围CASE工具分为三类:一是工具: 支持单个任务;二是工作台:支持某一软件过程或一个过程中的某些活动;三是环境:支持某些软件过程及相关的大部分活动。

10.工作台实现软件工具集成的方式?

工作台实现软件工具集成的方式是通过共享文件、共享仓库或共享数据结构来集成。

更多精彩尽在大学生校园网—VvSchool.CN