欢迎来到天天文库
浏览记录
ID:42817693
大小:47.11 KB
页数:7页
时间:2019-09-23
《2014软件工程重点答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1、软件危机定义、发生原因、常见表现,如何避免软件危机?(1)软件危机定义:课本Page8(开发和维护过程)(2)发生原因、常见表现:课本Page8-9,练习册Page1(3)如何避免:Page10(采用软件工程的方法)答案(由于大部分答案参考ppt,故仅供参考,下同)软件危机定义:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。表现在:(1)对于软件开发的成本和进度的估计很不准确。(2)开发的软件产品不能完全满足用户要求,用户对已完成的软件系统不满意的现象常常发生。(3)开发的软件可靠性差。(4)软件通常没有适当的文档。(5)软件的可维护性差。(6)软件开发生产率提
2、高的速度,远远跟不上计算机应用普及深入的趋势。原因:(1)软件的规模愈发庞大;(2)软件开发的管理困难。(3)软件本身的独有特点确实给开发和维护造成一些客观困难。(4)软件开发和维护中千金错误认识和方法的形成可以归结与计算机发展早期软件开发的个体化特点。(5)软件开发技术落后。(6)生产方式落后。(7)开发工具落后,生产率提高缓慢。如何避免(参考,可以自己总结):从软件开发的工程化方法入手,即用现代工程的概念原理、技术和方法去指导软件的开发、管理和维护,这就是软件工程思想和方法。具体措施:(1)使用好的软件开发技术和方法;(2)要有良好的组织、严密的管理,各类人员协同配合,共同
3、完成任务;(3)使用好的软件开发工具,提高软件生产率;(4)建立严格的文档资料,重视软件开发过程的阶段评审。2、软件生命周期模型(软件生命周期?)的组成,每个阶段的内容?(1)组成:Page21(2)内容:Page22—25)答案:软件生存周期定义:一个软件从定义到开发、使用和维护,直到最终被弃用,要经历一个漫长的时期,通常把软件经历的这个漫长的时期称为生存周期。软件生存周期一般可分为以下阶段:(1)问题定义(2)可行性研究(3)需求分析(4)概要设计(总体设计)(5)详细设计(6)编码(7)测试(8)维护也可以分为四个大的阶段:软件分析、软件设计、编码与测试、运行与维护(1)
4、软件分析时期;6任务:确定软件项目的目标,软件应具备的功能和性能,构造软件的逻辑模型,并制定验收标准。在此期间,要进行可行性论证,并做出成本估计和经费预算,制定进度安排。进行可行性研究和项目开发计划,需求分析。(2)软件设计时期;任务:a.设计软件的总体结构; b.设计软件具体模块的实现算法; c.软件设计结束之前,也要进行有关评审,评审通过后才能进入编码时期。(3)编码与测试时期;任务:组织程序员将高驻地的软件“翻译”成计算机可以正确运行的程序;并且要经过按照软件分析中提出需求要求和验收标准进行严格的测试和审查。根据具体软件的特点,决定是否划分成一些阶段,如编码、单元
5、测试、集成测试、验收测试等等。(4)运行与维护时期。任务:软件运行过程中可能由于各方面的原因,需要对它进行修改。3、瀑布模型、原型模型、增量模型的特点,如何选择这些模型?(1)瀑布模型:Page25-27(特点:Page28第二点;使用场合:特点的最后一点)(2)原型模型:Page27-28(特点:Page27;场合:Page28三点)(3)增量模型:Page28)参考答案:瀑布模型:(1)定义:是将软件生命周期各活动规定为依线性顺序联接的若干阶段的模型,是一种整体开发模型。里程碑或基线驱动或者说文档驱动。过程逆转性很差,或者说不可逆转。(2)优点:严格按照生命周期的各个阶段来
6、进行开发,强调了每一阶段的严格性。这样就能解决在开发阶段后期修正不完善的需求说明将花费巨大的费用的问题。在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大作用。(3)缺点:它是一种理想的线性开发模式,缺乏灵活性,特别是无法解决软件需求不明确或不准确的问题。故适用于功能明确、完整、无重大变化的软件开发。如:编译系统、数据库管理系统和操作系统。(4)适用场合:●在开发时间内需求没有或很少变化。●分析设计人员对应用领域很熟悉。●低风险项目(对目标、环境很熟悉)。●用户使用环境很稳定。●用户除提出需求以外,很少参与开发。原型模型:(1)定义:以某个软件原型为参照模型的
7、开发方法,叫做原型法。(原型驱动)(2)原理:在初步需求分析之后,马上向客户展示一个软件产品原型,对客户进行培训,让客户试用,在试用中收集客户意见,修改原型,再让客户试用,反复循环几次,直到客户确认为止。(3)适用场合:●已有产品/产品原型,只需客户化的项目。●简单而熟悉的行业或领域。●有快速原型开发工具。●进行产品移植或升级。增量模型:6(1)定义:增量模型将软件产品看作一组增量构件,每次设计、实现、集成、测试和交付一块构件,直到所有构件全部实现为止。(2)特点:●任务或功能模块驱动,可以
此文档下载收益归作者所有