系统设计与分析作业3

博客主要探讨软件开发模型和统一过程。简述了瀑布、增量、螺旋模型优缺点,分析统一过程三大特点及与面向对象方法关系,介绍其四个阶段划分准则和关键里程碑,还说明了软件企业按固定节奏生产、发布产品的原因及对项目管理的好处。

1、简答题

  • 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点
    • 从项目特点、风险特征、人力资源利用角度思考
答:
  • 瀑布模型:

    • 优点:

      • 能降低软件开发的复杂程度,提高软件开发过程的透明性,提高软件开发过程的可管理性。
      • 在一个阶段完成之后,我们只需要关注后续阶段。
      • 为软件开发过程提供了一个模板,这个模板使得分析、设计、编码、测试和维护有一个共同的指导。
      • 有了这个指导,能及时发现开发过程中存在的缺陷
    • 缺点:

      • 强调每一个过程活动的线性顺序,不够灵活
      • 风险控制能力比较弱
      • 其中的软件活动都是文档控制的,当有过多的文档工作的时候,会极大的增加系统的工作量
      • 当开发过程中,用户需求发生变化,瀑布模型不容易去适应这样的变化
  • 增量模型:

    • 优点:
      • 将待开发的软件模块化,可以分批次的提交软件产品,让用户及时的了解软件项目进展。
      • 以组件为单位开发,可以降低软件开发的风险,如果一个组件发生了错误,不会影响整体系统。
      • 有一个比较灵活的开发顺序,方便在开发过程中适当的调整组件开发顺序。
    • 缺点:
      • 由于组件一个一个添加到系统中的,所以需要这个系统必须在每个组件加入之后不能破坏已有的结构
      • 当开发过程中遇到用户需求改变的时候,虽然增量模型比瀑布模型有更好的灵活性,但是容易退化为边做边改模型,让软件开发过程失去整体性。
      • 如果增量包之间相互重复的地方没有处理好,则需要对系统进行全面的分析
  • 螺旋模型(含原型方法):

    • 优点:
      • 设计上比较灵活,可以在开发的各个阶段进行更改
      • 每个大的系统由小的分段构成,让成本比较容易计算
      • 客户可以参与每个阶段的开发,这样能减少需求修改的次数,保证项目的稳定性
      • 客户和开发人员也有比较好的沟通
    • 缺点:
      • 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。
      • 过多的迭代次数会增加开发成本,延迟提交时间。

  • 简述统一过程三大特点,与面向对象的方法有什么关系?
    三大特点如下:

    • 统一过程是用例驱动的:所有的用户和用例组合在一起就是用例模型,它描述了系统的全部功能。用例图不仅能确定用户的需求,还可以驱动系统设计、实现和测试的进行,也就是说用例可以驱动开发过程。
    • 统一过程是以构架为中心的:综合考虑软件系统的各个方面并优先解决软件系统中的主要问题,同时创建常见问题的通用解决方案,解决软件项目的主要风险。
    • 统一过程是迭代和增量的过程:将这些项目划分为切实可行并能够产生一个增量的迭代过程,迭代过程就是用来处理一组用例的,迭代过程要解决最突出的风险问题。

    和面向对象的方法关系:
    统一过程是基于构件的,它采用新的可视化建模标准,即统一建模语言(UML),它依赖三个关键概念——用例驱动、以构架为中心及迭代和增量式的开发。为了使这些概念能够发挥作用,需要一个包括多个方面的过程,而统一过程就是一个考虑到生命周期、阶段、工作流、风险缓解、质量监控、项目管理和配置管理的软件开发过程。其中也是面向功能类编程,架构设计接口,符合面向对象方法的特征。


  • 简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
    UP四个阶段的划分准则是初始阶段(Inception)、精化阶段(Elaboration)、构建阶段 (Construction) 和产品交付阶段(Transition)。 每个阶段结束于一个主要的里程碑(Major Milestone),并在阶段结尾执行一次评估以确定这个阶段的目标是否已经满足。

    • 初始阶段的里程碑:生命周期目标(Lifecycle Objective) 里程碑,包括一些重要的文档,如原始业务案例等。需要对这些 文档进行评审,以确定正确理解用例需求、项目风险评估合理、 阶段计划可行等。
    • 精化阶段的里程碑:生命周期体系结构(Lifecycle Architecture) 里程碑。包 括风险分析文档、软件体系结构基线、项目计划、可执行的进化原型、初始版本的用户手册等。通过评审确定软件体系结构 已经稳定、高风险的业务需求和技术机制已经解决、修订的项目计划可行等。
    • 构建阶段的里程碑:初始运行能力里程碑。 包括可以运行的软件产品、用户手册等,它决定了产品是否可 以在测试环境中进行部署。此刻,要确定软件、环境、用户是 否可以开始系统的运行。
    • 交付阶段的里程碑:产品发布里程碑。确定最终目标是否实现,是否应该开始产品下一个版本的另一个开发周期。在 一些情况下这个里程碑可能与下一个周期的初始阶段的相重合。

  • 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
    因为统一过程模型中,各个阶段的生命周期是有固定长度的, 因此在产品的的迭代开发过程有较为明确的时间限制的。可以让企业能够及时的交付产品,减少耗费的时间金钱,通过迭代开发逐渐地完善产品。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值