系统分析与设计 作业3

  • 简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点

从项目特点、风险特征、人力资源利用角度思考

  • 瀑布模型
    瀑布模型是将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到软件产品。

    • 优点:定义了软件开发基本流程与活动,降低软件开发的复杂程度,提高软件开发过程的透明性,提高开发过程的可管理性。
    • 缺点:强调过程活动的线性顺序,缺乏灵活性,尤其无法解决软件需求不明确的问题,对于风险的控制能力较弱。瀑布模型中的软件活动是文档驱动的,当阶段之间规定过多的文档时,会极大地增加系统的工作量,同时管理人员如果仅仅以文档的完成情况来评估项目完成进度,往往会产生错误的结论。
  • 增量模型
    增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件,同时每个中间版本都要执行必需的过程、活动和任务。

    • 优点:以组件为单位进行开发降低了软件开发的风险,一个开发周期内的错误不会影响到整个软件系统,降低系统失败风险以及提高系统的可靠性、稳定性喝可维护性。开发顺序灵活,开发人员可以对组件的实现顺序进行优先级排序,先完成需求稳定的核心组件,当组件的优先级发生变化时,还能及时地对实现顺序进行调,对于人力资源的调度更加灵活。
    • 缺点:建立初始模型时,作为增量基础的基本业务服务的确定有一定难度,同时对于增量粒度难以选择。
  • 螺旋模型(含原型方法)
    螺旋模型采用一种周期性的方法来进行系统开发,其是风险驱动的迭代过程,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

    • 优点:适用于需求功能复杂、开发周期长的大项目。引入了明确的风险管理机制。设计上的灵活性,可以在项目的各个阶段进行变更。客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。以小的分段来构建大型系统,使成本计算变得简单容易。
    • 缺点:螺旋模型强调风险分析,但说服外部客户接受和相信分析结果并做出相关反应并不容易,因此螺旋模型往往比较适合内部的大规模软件开发。风险分析需要耗费相当的成本,同时失误的风险分析可能带来更大的风险。
  • 简述统一过程三大特点,与面向对象的方法有什么关系?

    • 统一过程的三大特点

      • 统一过程是迭代和增量的过程
        RUP强调采用迭代和增量方式来开发软件,把整个项目开发分为多个迭代过程。在每一次迭代中,只考虑系统的一部分需求,进行分析、设计、实现、测试、部署等过程,每次迭代是在已完成部分的基础上进行的,每次增加一些新的功能实现,以此进行下去,直至最后项目的完成。

      • 统一过程是用例驱动的
        Use Case模型表达了系统的需求。开发过程是沿着一系列从用例得到的工作流前进的:用例被确定、用例被设计、最后用例又称为测试人员构造测试用例的基础。

      • 统一过程是以构架为中心的
        软件构架的作用与建筑构架所起的作用类似,软件系统的构架是从不同的角度描述即将构造的系统,构架刻画了系统的整体设计,去掉了细节部分,突出了系统的重要特性。

    • 与面向对象的联系 统一软件过程是一个面向对象且基于网络的程序开发方法论,其可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。

  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?

    RUP中的软件生命周期在时间维度上被分解为四个顺序的阶段: 初始阶段(Inception)精化阶段(Elaboration)构建阶段 (Construction)产品交付阶段(Transition)。每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段

    里程碑

    • 初始阶段里程碑:生命周期目标(Lifecycle Objective)里程碑,包括一些重要的文档,如:项目构想(Vision)、原始用例模型、原始业务风险评估、一个或者多个原型、原始业务案例等。通过对文档的评审确定用例需求理解正确、项目风险评估合理、阶段计划可行等
    • 精华阶段里程碑:生命周期体系结构(Lifecycle Architecture)里程碑,包括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软 件体系结构已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
    • 构建阶段里程碑:初始运行能力(Initial Operational Capability) 里程碑, 包括可以运行的软件产品、用户手册等,它决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运行。
    • 产品化阶段/移交阶段里程碑:产品发布(Product Release) 里程碑,确定最终目标 是否实现,是否应该开始产品下一个版本的另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段相重合。
  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
    利用软件产品范围的弹性,合理规划范围(20%业务决定80%满意度),使得软件生产按固定节奏运行,固定迭代周期、固定开发周期、固定升级周期。

    固定节奏生产明确了不同阶段迭代的里程碑与目标,使得开发团队更加明确当前的开发目标,更加容易确定当前进度,同时更加利于人力等各种资源的分配,利于管理,利于提高整体的开发效率。同时固定周期发布软件产品,能提高客户的信任度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值