欢迎来到天天文库
浏览记录
ID:14162888
大小:2.35 MB
页数:33页
时间:2018-07-26
《《软件工程导论》课后习题详细答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《软件工程导论》课后习题答案第一章软件工程概论1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面:(1)用户对开发出的软件很难满意。(2)软件产品的质量往往靠不住。(3)一般软件很难维护。(4)软件生产效率很低。(5)软件开发成本越来越大。(6)软件成本与开发进度难以估计。 (7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。2.为什么会产生软件危机? (1)开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。(2
2、)软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。(3)尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。3.怎样克服软件危机?(1)充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。(2)推广在实践中总结出来的开发软件的
3、成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。(3)根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。4.构成软件项目的最终产品:应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。5.什么是软件生存周期?软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。5-1。(1)在1985年对计算机存储容量的需求,估计是如果字长为16位,则这个存
4、储器的价格是ll(2)如果一条指令的长度为一个字,则使存储器装满程序共需4474263条指令。l在1985年一名程序员每天可开发出10条指令,如果每月有20个工作日,则每人每月可开发出10×20条指令。l为了开发出4474263条指令以装满存储器,需要的工作量是:ll程序员的月平均工资是4000美元,开发出4474263条指令的成本是ll(3)在1995年对存储容量的需求估计为:ll如果字长为32位,则这个存储器的价格是:ll如果一条指令为一个字长,则为使存储器装满程序共需73,577,679条指令。l在1995年一名程序员每天可开发出30条指令,每月可开发出600条指令,为
5、了开发出可装满整个存储器的程序,需要的工作量为开发上述程序的成本为6.软件生存周期为什么划分成阶段? (1)任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。(2)可以降低每个阶段任务的复杂程度,简化不同阶段的联系,有利于工程的组织管理,也便于采用良好的技术方法。(3)使软件开发的全过程以一种有条不紊的方式进行,保证软件的质量,特别是提高了软件的可维护性。l6-1..开发上述程序的成本为:u1-6什么是软件过程?它与软件工程方法学有何关系?ü软件过程是为了开发出高质量的软件产品所需完成的一系列任务的框架,它规定了完成各项任务
6、的工作步骤。ü软件过程定义了运用技术方法的顺序、应该交付的文档资料、为保证软件质量和协调软件变化必须采取的管理措施,以及标志完成了相应开发活动的里程碑。软件过程是软件工程方法学的3个重要组成部分之一。7.应该怎样来划分阶段?(1)每一个阶段的任务尽可能独立;(2)同一阶段内的任务性质尽可能相同;(3)每一个阶段任务的开始和结束有严格的标准。8.软件开发模型有几种?它们的开发方法有可特点? 软件开发模型有瀑布型、渐增型和变换型。 瀑布型开发方法是按照软件生存周期的划分依次实施,每一个阶段有明确规定的任务。它的特点: (1)各个阶段的顺序性和依赖性;(2)划分逻辑设计与物理
7、设计,尽可能推迟程序的物理实现;(3)每个阶段必须完成规定的文档,对其中问题通过复审及早发现,及早解决。 渐增型开发方法及特点:(1)从部分需求出发,先建立一个不完全的系统,通过测试运行该系统取得经验和信息反馈,加深对软件需求的理解,进一步使系统扩充和完善。如此反复,直至软件人员和用户对所设计完成的软件系统满意为止。(2)在渐增型开发下的软件是随软件开发的过程而逐渐形成的。(3)渐增型开发方法适合于知识型软件的开发,设计系统时对用户需求的认识开始不是很清楚的,需要在开发过程中不断认识、不断获得新的知识去
此文档下载收益归作者所有