系统分析与设计第三次作业
系统分析与设计第三次作业
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
瀑布模型
瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。
- 优点
- 降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性;
- 推迟软件实现,强调在软件实现前必须进行分析和设计工作;
- 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,保证了阶段之间的正确衔接,能够及时发现并纠正开发过程中存在的缺陷,使产品达到预期的质量要求。
- 缺点
- 强调过程活动的线性顺序。
- 缺乏灵活性,尤其无法解决软件需求不明确或不准确的问题;
- 风险控制能力较弱;
- 瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量;
- 管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
增量模型
增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。
- 优点
- 将待开发的软件系统模块化,可以分批次地提交软件产品,使用户可以及时了解软件项目的进展;
- 以组件为单位进行开发降低了软件开发的风险。一个开发周期内的错误不会影响到整个软件系统;
- 开发顺序灵活。开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件。当组件的优先级发生变化时,还能及时地对实现顺序进行调整;
- 提高系统的稳定性、可靠性和可维护性。
- 缺点
- 要求待开发的软件系统可以被模块化。如果待开发的软件系统很难被模块化,那么将会给增量开发带来很多麻烦;
- 建立初始模型时,作为增量基础的基本业务服务的确定有一定难度;
- 增量粒度难以选择。
螺旋模型
螺旋模型是一种演化软件开发过程模型,它兼顾了快速原型的迭代的特征以及瀑布模型的系统化与严格监控。螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。同时,在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。
- 优点
- 设计上的灵活性,可以在项目的各个阶段进行变更;
- 以小的分段来构建大型系统,使成本计算变得简单容易;
- 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性;
- 随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。
- 缺点
- 螺旋模型强调风险分析,但说服外部客户接受和相信分析结果并做出相关反应并不容易;
- 风险分析需要耗费相当的成本;
- 建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
简述统一过程三大特点,与面向对象的方法有什么关系?
三大特点:
- 软件开发是一个迭代过程;
- 软件开发是由Use Case驱动的;
- 软件开发是以架构设计为中心的;
与面向对象的方法的关系:
统一软件过程是一个面向对象且基于网络的程序开发方法论。
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 划分准则:时间
- 每个阶段关键的里程碑:
- 初始阶段:生命周期目标里程碑,用于项目基本的生存能力。
- 细化阶段:生命周期结构里程碑,为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。
- 构造阶段:初始功能里程碑,决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。
- 交付阶段:产品发布里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
软件企业之所以能按固定节奏生产、固定周期发布软件产品,是因为企业多采用统一过程的软件项目规划方法。该方法利用软件产品范围的弹性,通过合理规划软件范围和前期的规划与中期的进度控制,使得软件生产可以按照固定的节奏运行、迭代、开发和升级。
软件产品的生产节奏和发布周期可以确定的话,对企业项目的管理带来很大的可控性与便利性,进而可以降低企业在管理方面的运营成本,为企业带来更高的效益。