new软件工程课后习题答案 (修复的)

上传人:ji****72 文档编号:37532866 上传时间:2018-04-18 格式:DOC 页数:60 大小:2.14MB
返回 下载 相关 举报
new软件工程课后习题答案 (修复的)_第1页
第1页 / 共60页
new软件工程课后习题答案 (修复的)_第2页
第2页 / 共60页
new软件工程课后习题答案 (修复的)_第3页
第3页 / 共60页
new软件工程课后习题答案 (修复的)_第4页
第4页 / 共60页
new软件工程课后习题答案 (修复的)_第5页
第5页 / 共60页
点击查看更多>>
资源描述

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

1、第一章第一章一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机?一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面: 如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现:软件危机的典型表现: (1)(1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、

2、对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、 实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计 又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2)(2) 用户对已完成的软件不满意的现象时有发生。用户对已完成的软件不满意的现象时有发生。 (3)(3) 软件产品的质量往往是靠不住的。软件产品的质量往往是靠不住的。 (4)(4) 软件常常是不可维护

3、的。软件常常是不可维护的。 (5)(5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多 难以想象的困难和难以解决的问题。难以想象的困难和难以解决的问题。 (6)(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7)(7) 开发生产率提高的速度远跟不上计算机应用普及的需求。开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因:软件危机出现的原因: (1)(1) 来自软件自身的特点来自

4、软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2)(2) 软件开发与维护的方法不当软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3)(3) 供求矛盾将是一个永恒的主题供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图二、假设自己是一家软件公司的总工程师,当把图 1.11.1 给手下的软件工程师们观看,告诉他

5、们及时给手下的软件工程师们观看,告诉他们及时 发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清除它们是不 现实的,并举例说:现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢? ”应该怎么反驳他?应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期早期引入变动,涉及的面较少,引入变动,涉及的面较

6、少, 因而代价也比较低;在开发的因而代价也比较低;在开发的中期中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成,软件配置的许多成分已经完成,引入一个变动要对所有已完成 的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件的配置成分都做相应的修改,不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件 “已经完成已经完成”时再引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是时再引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是 不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。不可避免的,但

7、要修改的成本是很小的,因为这不是整体构架的错误。三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机?三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 19931993 年年 IEEEIEEE 的的定义定义:软件工程是:软件工程是: 把系统的、规范的、可度量的途径应用于软件开发、运行和把系统的、规范的、可度量的途径应用于软件开发、运行和 维护过程,也就是把工程应用于软件;维护过程,也就是把工程应用于软件; 研究研究中提到的途径。中提到的途径。 软件工程的本质特征:软件工程的本质特征: (1)(1) 软件工程关注于大型程序软件工程关注于大型程序( (软件系统软件系统

8、) )的构造的构造 (2)(2) 软件工程的中心课题是分解问题,控制复杂性软件工程的中心课题是分解问题,控制复杂性 (3)(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4)(4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好 更有效的方法和工具更有效的方法和工具 (5)(5) 和谐地合作是开发软件的关键和谐地合作是开发软件的关键 (6)(6) 软件必须有效地支持它的用户软件必须有效地支持它的用户 (7)

9、(7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人( (完成一些工作完成一些工作) )消除消除 软件危机的途径:软件危机的途径: (1)(1) 对计算机软件有一个正确的认识对计算机软件有一个正确的认识( (软件软件程序)程序) (2)(2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、 各类人员协同配合、共同完成的工程项目各类人员协同配合、共同完成的工程项目 (3)(3) 推广使用在实践中总

10、结出来的开发软件的成功技术和方法推广使用在实践中总结出来的开发软件的成功技术和方法 (4)(4) 开发和使用更好的软件工具开发和使用更好的软件工具 四、简述四、简述结构化范型和面向对象范型结构化范型和面向对象范型的要点,并分析他们的优缺点。的要点,并分析他们的优缺点。 1.1. 传统方法学:也称为生命周期方法学或结构化范型。传统方法学:也称为生命周期方法学或结构化范型。 优点:把软件生命周期划分成基干个阶段,优点:把软件生命周期划分成基干个阶段,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作,每个阶段的任务相对独立,而且比较简单,便于不同人员分工协作, 从而降低了整个软件开发过程从

11、而降低了整个软件开发过程 的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时的困难程度。缺点:当软件规模庞大时,或者对软件的需求是模糊的或会承受时 间而变化的时候,间而变化的时候, 开发出的软件往往不成功;而且维护起来仍然很困难。开发出的软件往往不成功;而且维护起来仍然很困难。 2.2. 面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发面向对象方法学:优点:降低了软件产品的复杂性;提高了软件的可理解性;简化了软件的开发 和维护工作;和维护工作; 促进了软件重用。促进了软件重用。 五、五、1-51-5 根据历史数据可以做出如下的假设根据历史

12、数据可以做出如下的假设 : 对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:M=4080e0.28(Y-1960)M=4080e0.28(Y-1960) 存储器的价格按下面公式描述的趋势逐年下降:存储器的价格按下面公式描述的趋势逐年下降:P1=0.30.72Y-1974(P1=0.30.72Y-1974(美分美分/ /位位) ) 如果计算机字长为如果计算机字长为 1616 位,则存储器价格下降的趋势为:位,则存储器价格下降的趋势为:P2=0.0480.72Y-1974(P2=0.0480.72Y-1974(美元美元/ /字字) )

13、 在上列公式中在上列公式中 Y Y 代表年份,代表年份,M M 是存储容量是存储容量( (字数字数) ),P1P1 和和 P2P2 代表价格。代表价格。 基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:(1)(1) 在在 19851985 年对计算机存储容量的需求估计是多少年对计算机存储容量的需求估计是多少? ?如果字长为如果字长为 1616 位,这个存储器的价格是多少位,这个存储器的价格是多少? ? 存储容量需求存储容量需求 M=4080e0.28M=4080e0.28(1985-19601985-1960)=447

14、4263=4474263(字)(字) 存储器价格存储器价格 P=0.048*0.72P=0.048*0.72(1985-19741985-1974)*4474263=5789*4474263=5789 美元美元(2)(2) 假设在假设在 19851985 年一名程序员每天可开发出年一名程序员每天可开发出 1010 条指令,程序员的平均工资是每月条指令,程序员的平均工资是每月 40004000 美元。如果美元。如果 一条指令为一个字长,计算使存储器装满程序所需用的成本。一条指令为一个字长,计算使存储器装满程序所需用的成本。 需要工作量需要工作量 4474263/200=223714474263/

15、200=22371(人(人/ /月)月) 指令成本指令成本 22371*4000=8948400022371*4000=89484000 美元美元(3)(3) 假设在假设在 19951995 年存储器字长为年存储器字长为 3232 位,一名程序员每天可开发出位,一名程序员每天可开发出 3030 条指令,程序员的月平均工资条指令,程序员的月平均工资 为为 60006000 美元,重复美元,重复(1)(1)、(2)(2)题。题。 需求估计需求估计 M=4080e0.28M=4080e0.28(1995-19601995-1960)=73577679=73577679 字字 存储器价格存储器价格 0

16、.003*32*0.720.003*32*0.72(1995-19741995-1974)*73577679=7127*73577679=7127 美元美元 工作量工作量 73577679/600=122629(73577679/600=122629(人人/ /月)月) 成本成本 122629*6000=735776790122629*6000=735776790 美元美元六、什么是软件过程六、什么是软件过程? ?它与软件工程方法学有何关系它与软件工程方法学有何关系? ? 软件过程软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务的 工作步骤。工作步骤。 软件工程方法学软件工程方法学:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称:通常把在软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称 范型。范型。 软

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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