软件工程张海藩课后习题解析.pdf
《软件工程导论》课后习题答案
第一章软件工程概论
1.什么是软件危机?
软件危机是指在计算机软件的开发维护过程中所碰到的一系列严重问题,这
些问题表目前如下几种方面:
(1)顾客对开发出的软件很难满意。
(2)软件产品H勺质量往往靠不住。
(3)一般软件很难维护。
(4)软件生产效率很低。
(5)软件开发成本越来越大。
(6)软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2.为何会产生软件危机?
(1)开发人员方面,对软件产品缺乏对口勺认识,没有真正理解软件产品是一种完
整时配置构成。导致开发中制定计划盲目、编程草率,不考虑维护工作的必要性。
(2)软件自身方面,对丁“算机系统来说,软件是逻辑部件,软件开发过程没有
统一的、公认的措施论规范指导,导致软件维护困难。
(3)尤其是伴随软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不
高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突
出,技术日勺发展已经远远不能适应社会需求.
3.怎样克服软件危机?
(1)充足吸取借鉴人类长期以来从事多种工程项目中积累的行之有效H勺有效
原理、概念、技术与措施,尤其是吸取几十年来人类从事计算机硬件研究开发的
经验教训。在开发软件H勺过程中努力作到良好H勺组织,严格的管理,互相友好H勺协
作。
(2)推广在实践中总结出来日勺开发软件的成功日勺技术措施,并研究更好、更有
效的技术措施,尽快克服在计算机系统初期发展阶段形成口勺某些错误概念伦法。
(3)根据不一样的应用领域,开发更好口勺软件工具并使用这些工具。将软件开发
各个阶段使用的软件工具集合成一种整体,形成•种很好的软件开发支环环境,
总之为了处理软件危机,既要有技术措施(措施和工具),乂要有必要H勺组织管理措
施。
4.成软件项目H勺最终产品:
应用程序、系统程序、面向顾客的文档资料和酉向开发者H勺文档资料。
5.什么是软件生存周期?
软件生存周期是指从软件定义、开发、使用、雄:护到淘汰日勺全过程。
6.软件生存周期为何划提成阶段?
(1)任何一种阶段的详细任务不仅独立,并且简朴,便于不一样人员分工协作,
从而减少整个软件开发工作日勺困难程度。
(2)可以减少每个阶段任务的复杂程度,简化不一样阶段的联络,有助于工程的
组织管理,也便于采用良好的技术措施。
(3)使软件开发H勺全过程以一种有条不紊的方式进行,保证软件H勺质量,尤其是
提高了软件的可维护性,
7.应当怎样来划分阶段?
(1)每一种阶段H勺任务尽量独立;
(2)同一阶段内日勺任务性质尽量相似;
(3)每一种阶段任务的开始和结束有严格的原则。
8.软件开发模型有几种?它们口勺开发措施有可特点?
软件开发模型有瀑布型、渐增型和变换型。
瀑布型开发措施是按照软件生存周期的划分依次实行,每•种阶段有明确规定
H勺任务。它的特点:
(1)各个阶段H勺次序性和依赖性;
(2)划分逻辑设计与物理设计,尽量推迟程序的物理实现:
(3)每个阶段必须完毕规定的文档,对其中问题通过复审及早发现,及早处理。
渐增型开发措施及特点:
(1)从部分需求出发,先建立一种不完全MJ系统,通过测试运行该系统获得经
验和信息反馈,加深对软件需求的理解,深入使系统扩充和完善。如此反复,直至
软件人员和顾客对所设计完毕的软件系统满意为止,
⑵在渐增型开发下的软件是随软件开发的过程而逐渐形成口勺。
⑶渐增型开发措施适合于知识型软件的开发,设计系统时对顾客需求的认识
开始不是很清明出勺,需要在开发过程中不停认识、不停获得新H勺知识去丰富和完善
系统。多数研究性质的试验软件,一采用此