软件工程导论(第五版)课后习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程导论(第五版)课后习
题答案
《软件工程导论》课后习题答案
第一章软件工程概论
1-1
1 •什么是软件危机?
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:
(1) 用户对开发出的软件很难满意。
(2) 软件产品的质量往往靠不住。
(3) —般软件很难维护。
(4) 软件生产效率很低。
(5) 软件开发成本越来越大。
(6) 软件成本与开发进度难以估计。
(7) 软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.软件危机有那些典型表现?
(1) 对软件开发成本和进度的估计常常很不准确。
(2) 用户对已完成的”软件系统不满意的现象经常发生。
(3) 软件产品的质量往往靠不住。
(4) 软件常常是不可维护的。
(5) 软件通常没有适当的文档资料。
(6) 软件成本在计算机系统总成本中所占的比例逐年上升。
(7) 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。
3 •为什么会产生软件危机?
(1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统
一的、公认的方法论和规范指导,造成软件维护困难。
(3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。
4 •怎样克服软件危机?
(1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经
验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。
(3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。
总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措
施。
1-3、
1-5、根据历史数据可以做出如下的假设:
对计算机存储容量的需求大致按下面公式描述的趋势逐年增加:
M=4080e0.28(Y-1960)
存储器的价格按下面公式描述的趋势逐年下降:P1=0.3 X 0.72Y-1974(美分/位)
如果计算机字长为16位,则存储器价格下降的趋势为:P2=0.048 X 0.72Y-1974(美元/字)
在上列公式中Y代表年份,M是存储容量(字数),P1和P2代表价格。基于上述假设可以比较计算机硬件和软件成本的变化趋势。要求计算:
(1) 在1985年对计算机存储容量的需求估计是多少?如果字长为16位,这个存储器的价格是多少?
(2) 假设在1985年一名程序员每天可开发出10条指令,程序员的平均工资是每月4000美元。如果一条指令为一个字长,计算使存储器装满程序所需用的成本。
⑶假设在1995年存储器字长为32位,一名程序员每天可开发出30条指令,程序员的月平均工资为6000美元,重复(1)、(2)题。
•(1)在1983年对计算机存储容量的需求,估计是
M = 4080e O2SC198^156O)= 4080e7= 4?4715263(字)
•如果字长为16®,则这个存储器的价搭是_
P - 0.048 x 0.72囚3皿x 4474263 - 5,789(美元)
•{2)如果一条指令的长度为一个字,则使存储器装满程序共
^4474263条抱令。
•在佃8刁年一名程序员毎天可开发出10条指令,如果每月
有20个工作日,则每人每月可开发出10X20条指令“
•为了开发出也742G3祭指令以装满存储器,需要的匸作量
屆4474263
200
•程序员的月平均工资是4000美元,开发fB4474263条指 令的成本是 22371 x4000 =89484,000(美元)
•⑶在1995年对存储容量的需求估计为:
M = 4080/玫好N 弼0} = 73,57^679(字)二 40驱卿 •如果字长为32位*则
这个存储器的价格是:
_
P = 0.003x 32x0.72^ _1S7+ x73577679 = 7,127(美元)
•如果一条指令为一个字长*则为使存储器装満稈序共需 73,577,679^ 指令'
•在1995年一名稈序员每天可开发出30条指令,每月可开 发出600条指令,为了开发出可装满整个存储器的程疗,
•开发上述程序的成本为:122629x6000^ 735,776,790(美元)
1-6什么是软件过程?它与软件工程方法学有何 关
系?
软件过程是为了开发出高质量的软件产品所需 完成的一系列任务的框架,它规定了完成各项任 务的工作步骤。
软件过程定义了运用技术方法的顺序、 应该交付 的文档资料、为保证软件质量和协调软件变化必 须采取的管理措施,以及标志完成了相应开发活 动的里程碑。
软件过程是软件工程方法学的 3个重要组成部 分之一。
4.构成软件项目的最终产品:
应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料
5 •什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程
6.软件生存周期为什么划分成阶段?
需要的丄作量为^3577679
~600
7 22 629(人月)