系统分析与设计 Note3

1. 简述瀑布模型、增量模型、螺旋模型(含原型方法)的优缺点

瀑布模型

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

优点
  1. 为项目提供了按阶段划分的检查点
  2. 当前一阶段完成后,只需要关注后面的阶段
  3. 可在迭代模型中应用瀑布模型
缺点
  1. 各个阶段的划分完全固定,阶段之间产生大量的文档,极大地增加了工作量
  2. 由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发成果,从而增加了开发风险
  3. 不适应用户需求的变化
增量模型

增量模型是把待开发的软件系统模块化,将每个模块作为一个增量组件,从而分批次地分析、设计、编码和测试这些增量组件。

优点
  1. 开发初期的需求定义只是用来确定软件的基本结构,而对于需求的细节性描述,则可以延迟到增量构件开发时进行。这种方式有利于用户需求的逐渐明朗,能够有效适应用户需求的变更。
  2. 软件系统可以按照增量构件的功能安排开发的优先顺序,并逐个实现和交付使用。
  3. 有利于从总体上降低软件项目的技术风险。
缺点
  1. 增量模型对软件设计有更高的技术要求,特别是对软件体系结构,要求它具有很好的开放性与稳定性,能够顺利地实现构件的集成。
  2. 由于一些模块必须在另一个模块之前完成,所以必须定义良好的接口。
螺旋模型

螺旋模型(Spiral Model)采用一种周期性的方法来进行系统开发,沿着螺线进行若干次迭代。

优点
  1. 螺旋模型最大的特点在于引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失。
  2. 设计上的灵活性,可以在项目的各个阶段进行变更。
  3. 以小的分段来构建大型系统,使成本计算变得简单容易。
  4. 客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
缺点
  1. 螺旋模型强调风险分析,但要求许多客户接受和相信这种分析,并做出相关反应是不容易的,因此,这种模型往往适应于内部的大规模软件开发。
  2. 如果执行风险分析将大大影响项目的利润,那么进行风险分析毫无意义
  3. 软件开发人员应该擅长寻找可能的风险,准确地分析风险,否则将会带来更大的风险

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

用例驱动

Use Case模型表达了系统的需求。

  • 在需求分析中,客户对Use Case进行描述
  • 在系统分析和系统设计中,设计师对Use Case进行分析
  • 在实现过程中,开发编程人员对Use Case进行实现
  • 在测试过程中,测试人员对Use Case进行检验
以体系结构为中心

由于在项目的开发过程中不同的开发人员所关心的角度是不一样的,因此软件的体系结构应该是一个多维的结构,RUP采用如下所示的4+1视图模型,利用UML语言来描述软件的体系结构。
在这里插入图片描述

迭代和增量

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

与面向对象的联系

统一软件开发过程(RUP)是一个面向对象且基于网络的程序开发方法论。它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。统一软件开发过程和类似的产品,如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具,把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。

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

每个阶段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入下一个阶段。

1. 初始阶段

初始阶段结束时是第一个重要的里程碑:生命周期目标(Lifecycle Objective)里程碑。生命周期目标里程碑评价项目基本的生存能力。

2. 细化阶段

细化阶段结束时第二个重要的里程碑:生命周期结构(Lifecycle Architecture)里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结构的选择以及主要风险的解决方案。

3. 构建阶段

构建阶段结束时是第三个重要的里程碑:初始功能(Initial Operational)里程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“beta”版。

4. 交付阶段

在交付阶段的终点是第四个里程碑:产品发布(Product Release)里程碑。此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个里程碑可能与下一个周期的初始阶段的结束重合。

4. 软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?

RUP将软件的生命周期划分为四个阶段,并且开发被组织成一系列固定的短期小项目,称为迭代,每次迭代都产生经过测试、集成并可执行的局部系统。每次迭代都具有各自的需求分析、设计、实现和测试活动。因此,在每次迭代完成后,都有一定的产品可供发布。

迭代开发降低了在一个增量上的开支风险。如果开发人员重复某个迭代,那么损失只是这一个开发有误的迭代的花费。
降低了产品无法按照既定进度进入市场的风险。通过在开发早期就确定风险,可以尽早来解决而不至于在开发后期匆匆忙忙。
加快了整个开发工作的进度。因为开发人员清楚问题的焦点所在,他们的工作会更有效率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值