系统分析与设计第三次作业
标签:系统分析与设计 作业
简答题
第一题
简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点(从项目特点、风险特征、人力资源利用角度思考)
一、 瀑布模型的优点和缺点
- 优点:
- 从项目特点的角度思考,它为项目提供了按阶段划分的检查点。且提供了一种模版,能够使得分析、设计、编码、测试和支持的方法在该模版下有一个共同的指导。因此对于需求明确的大规模项目是十分有力的。
- 从人力资源利用的角度:当前一阶段的完成后,就只需要关注后续阶段,因此可以节省大量的人力资源到其他项目上。
- 缺点:
- 从项目特点的角度思考,各个阶段的划分是完全固定的,而且阶段之间会产生大量的文档,增加工作量,因此对于小项目来说是十分不利的。
- 从风险特征的角度思考,开发模型是完全线性的,用户只有到整个过程的末期才能够看到产品,存在很大的开发风险。
- 从人力资源的角度思考,项目通过过多的强制完成日期和里程碑来跟踪项目的各个阶段,如果规划不善,会存在很大的工期压力。
二、 增量模型的优点和缺点
- 优点:
- 从项目特点的角度思考,增量模型将待开发的软件系统模块化,有利于分批次的提交软件制品,这样子有利于需求不明确的项目和一些比较小的项目。
- 从风险特征的角度思考,因为是较小的组件为单位进行开发,就算是一个开发周期内出现了错误,也只是损失一个开发有误的迭代而不会影响到整体。
- 从人力资源的角度,因为开发顺序灵活多变,开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心部件,因此赶工期之类的管理问题的发生可能性会降低。
- 缺点:
- 从项目特点来说,只能够应对允许分批交付的软件项目且能够模块化的系统,对于需要完整制品的软件项目,增量模型可能要花费更长的时间来进行模块之间的对接。
- 从风险特征来说,虽然每一个迭代没有风险,但是模块与模块之间的对接上是可能存在问题的。
- 人力资源的角度上,要求项目管理人员能够把握全局,要求比较高。
三、 螺旋模型的优点和缺点
- 优点:
- 从项目特点上来说,因为螺旋模型中客户参与每个阶段的开发,因此比较适用于需要与用户进行密切交互的项目。特别适合与需求不明确的新项目。
- 从风险特征来说,因为客户参与了每个极端的开发,这样可以保证项目不偏离正确的方向。且以小的分段来构成最终的系统会让成本计算变得更加的容易。
- 从人力资源的角度,因为分成了多个部分,所以对开发人员的要求也降低了,开发人员不再需要像以前一样需要对系统有整体的认知。
- 缺点:
- 从项目特点来说,建设周期会更长,而且迭代次数也可能变得不可控制。
- 从风险的角度,尽管没有偏离正确的方向,但是由于开发时间较长的原因,可能开发出来的产品已经过时了,无法满足用户的需求。
- 从人力资源的角度,对项目管理者的要求也不低。需要有合格的系统工程师提供整体的指导和把控。
第二题
简述统一过程三大特点,与面向对象的方法有什么关系?
统一过程的三大特点:
- 软件开发是一个迭代过程。
- 软件开发是由Use Case驱动的
- 软件开发是以架构设计为中心的。
与面向对象的方法的关系:
统一过程是一个面向对象的软件开发方法,它给出了有关软件开发过程组织及实施的指导。
第三题
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 初始阶段(Inception):为系统建立业务案例并确定项目边界
里程碑:生命周期目标(Lifecycle Objective)里程碑
-
细化阶段(Elaboration):分析问题领域,建立健全的体系结构基础,编制项目计划,完成项目中高风险需求部分的开发。
里程碑:生命周期体系结构(Lifecycle Architecture)里程碑
-
构建阶段(Construction):完成所有剩余的技术构建和稳定业务需求功能的开发,并集成为产品,详细测试所有功能。
里程碑:初始运行能力(Initial Operational Capability)里程碑
- 交付阶段(Transition):确保软件对最终用户是可用的
里程碑:产品发布(Product Release)里程碑
第四题
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
因为软件统一过程将软件开发过程划分为4个极端,通过阶段划分使得企业能够按照固定的节奏来进行生产,每个项目组可以周期性地产出交付物,因此可以固定周期地发布软件产品。
好处:
- 在软件开发的早起就可以对关键的、影响大的风险进行处理。
- 可以提出一个软件体系结构来直到开发。
- 可以更好的处理不可避免的需求变更。
- 可以较早的得到一个可运行的系统,鼓舞开发团队的士气,增强项目成功的信息。
- 为开发人员提供了一个能更有效工作的开发过程。