软件工程实用教程(2版)-第2章-习题与参考答案-2012-3-15

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
阶段评审:
在每一阶段工作完成后都要进行评审,以便尽早发现问题,避免后期的返 工,如果评审不合格,贝y不开始下一阶段的工作。
文档管理:
在每阶段都规定了要完成的文档,没有完成文档,就认为没有完成该阶段 的任务。
3.试说明原型模型的两种实现方案各有什么特点?各适用于什么情况?
答案要点:
原型模型在软件分析、设计阶段的应用,用来解决用户对软件系统在需求 分析上的模糊认识。将模拟的手段引入需求分析的初期阶段,通过建立原型缩 短用户与分析人员之间的距离。
瀑布模型,快速原型模型。进化的软件过程模型有:
增量模型、螺旋模型。传统软件开发模型主要采用了系列化、结构化开发 技术,所以软件过程具有 “线性”特征,开发活
--软件工程实用教程(第2版)
动比较有序、清楚、规范,但开发出的软件产品的稳定性、可复用性、可 维护性都比较差。
敏捷软件开发过程可用于任何软件过程,将软件过程设计为:
-1软件工程实用教程(第2版)
原型进化模型对开发过程的考虑是,针对有待开发的软件系统,先开发一 个原型系统让用户使用,然后根据用户使用情况的意见反馈,对原型系统不断 修改,使它逐步接近并最终达到开发目标。跟快速原型不同的是,快速原型在 完成需求定义后将被抛弃,而原型进化所要创建的原型则是一个今后要投入应 用的系统,只是所创建的原型系统在功能、性能等方面还有许多不足,还没有 达到最终的开发目标,需要不断改进。
答案要点:
瀑布模型是一种基于里程碑的阶段过程模型,它所提供的里程碑式的工作 流程,为软件项目按规程管理提供了便利。例如,按阶段制定项目计划,分阶 段进行成本核算,进行阶段性的评审等。这为提高软件产品质量提供了有效保 证。
瀑布模型的特点:
阶段性:
前一阶段工作完成以后,后一阶段工作才能开始,前一阶段的输出文档是 后一阶段的输入文档。
4.一般认为,只有大型项目才采用螺旋模型,其原因是什么?
答案要点:
螺旋模型增加了软件项目的风险分析,因为项目规模越大、问题越复杂, 资源、成本、进度等因素的不确定性就越大,承担项目所冒的风险也越大。人 们进行风险分析与管理的目的就是在造成危害之前及时对风险进行识别、分 析、采取对策,从而消除或减少风险所造成的损失。该模型适合于指导大型软 件项目的开发,它将软件项目开发划分为制定计划、风险分析、实施开发以及 客户评估4类活动。在对风险进行识别和分析时,如果开发风险过大,开发者 和用户无法承受,项目有可能因此而终止。螺旋模型的优越性在于它吸收了 化”的概念,使得开发人员和用户对每一个演化层出现的风险均有所了解,并对 此做出反应。但使用该模型需要丰富的风险评估经验和专门知识,如果项目风 险较大又未及时发现,势必造成重大损失。实际上,对软件项目进行风险分析 也需要费用,假如项目风险分析费用过高,甚至超过了项目的开发费用,显然
原型进化模型将软件的需求细节定义、产品开发和有效性验证放在同一个 工作进程中交替或并行运作。因此,在获得了软件需求框架以后,例如,软件 的基本功能被确定以后,就可以直接进入到对软件的开发中。
原型进化模型是通过不断发布新的软件版本而使软件逐步完善的,因 此,这种开发模式特别适合于那些用户急需的软件产品开发。它能够快速地向 用户交付可以投入实际运行的软件成果,并能够很好地适应软件用户对需求规 格的变更。
就不合适了。一般大型项目才有较高的风险,才有进行详细风险分析的必要。 因此这种模型比较适合大型的软件项目。
5.为什么说构件复用模型是一种有利于软件按工业流程生产的过程模型? 答案要点:
构件复用模型最明显的优势是减少了需要开发的软件数量,缩短了软件交 付周期,提高了软件的质量,降低了开发风险。由于构件具有一定的通用性, 可以在不同的软件系统中被复用。在基于构件复用的软件开发中,软件由构件 装配而成,这就如同用标准零件装配汽车一样。构件复用技术,它能带来更好 的复用效果,并且具有工程特性,更能适应软件按工业流程生产的需要。
国家标准GB8566-1988《计算机软件开发规范》将软件生命周期划分为几个 阶段:
可行性研究、项目计划、需求分析、总体设计、详细设计、编码实现(包 括单元测试)、集成测试、确认测试、系统运行和维护。这几个阶段又可以归 纳为3个大的阶段,即软件定义阶段,软件开发阶段和软件运行维护阶段。
2.瀑布模型有哪些特点?对于里程碑,你有哪些认识?
快速原型不能贯穿软件的整个生命周期,它需要和其他的过程模型相结 合才能产生作用。例如,前面我们提到的在瀑布模型中应用快速原型,可以解 决瀑布模型在需求分析时期存在的不足。
对于一个大型复杂的系统,如果不经过分析来进行整体性划分,想直接 用屏幕来一个地模拟是很困难的;对于大量运算、逻辑性较强的程序模块,快 速原型方法很难构造出模型来供人评价。因此,原型方法只适用于小型、简 单、处理过程比较明确、没有大量运算和逻辑处理过程的系统。
软件工程实用教程
《软件工程实用教程》习题与参考答案
第2章软件生存周期及开发模型
1.简述什么是软件生存周期?根据国家标准《计算机软件开发规范》,软 件生存周期主要包括哪几个阶段?
答案要点:
软件生存周期是指软件产品从功能确定、设计、开发成功、投入使用,并 在使用中不断修改、完善,直至被新的软件所替代,而停止该软件使用的全过 程。
6.敏捷方法的价值观和原则与传统的方法有哪些联系和区别?
答案要点:
敏捷软件开发过程是一类过程的统称,敏捷方法的价值观和原则:
.个体和交互胜过过程和工具;
.可以工作的软件胜过面面俱到的文档;
.客户合作胜过合同谈判;
.响应变化胜过遵循计划。
传统软件开发过程是顺序和进化的软件过程模型,如:
顺序软件过程模型有:
快速原型方法具有以下一些特点。
快速原型是用来获取用户需求的,或是用来试探某种设计是否有效。一 旦需求或设计确定下来,原型就将被抛弃。因此快速原型要求快速构建、容易 修改,以节约原型创建成本,加速开发速度。快速原型往往采用软件生成工具 来创建,例如,4GL语言。
快速原型是暂时使用的,因此并不要求完整。它往往针对某个局部问题 建立专门原型,如面原型、工作流原型、查询原型等。
相关文档
最新文档