系统分析与设计 作业3
文章目录
简述瀑布模型、增量模型、螺旋模型(含原型方法),并分析优缺点
从项目特点、风险特征、人力资源利用角度思考
瀑布模型
- 分阶段,按先后顺序完成
- 优点
- 模型简单,降低软件开发的复杂程度
- 可以顺序独立完成,不用考虑前面已做完的阶段,只关注后续阶段
- 有利于管理、组织大型软件开发,更好地调配人力资源
- 以项目的阶段评审和文档控制为手段有效地对整个开发过程进行指导,减少沟通成本
- 缺点
- 过于强调过程活动的先后顺序,灵活性差,难以适应需求的变化。
- 划分过于硬性,解耦不当可能会造成大量的重复工作
- 风险控制能力较弱
- 规定的文档过多可能带来额外的工作量
增量模型
- 整个产品被分割为很多组件,开发人员逐个开发交付
- 优点
- 可以分批交付,有助于
- 提升团队自信心
- 稳定与用户的交流
- 暴露潜在的问题
- 便于全局把握进展
- 容错性强,开发较为灵活
- 可以分批交付,有助于
- 缺点
- 在需求变化过程中,增量模型很容易退化为边做边改模型,使得软件过程控制失去整体性
- 增量粒度难以选择
- 不必要的模块化会带来许多问题
螺旋模型(含原型方法)
- 将瀑布模型和快速原型模型结合
- 优点
- 强调风险分析
- 强调可选方案和约束条件从而支持软件的重用
- 每个阶段保证客户的参与,循序渐进
- 缺点
- 风险分析需要额外的人才资源和成本
- 小型软件开发得不偿失
- 失误的风险分析可能带来更大的风险
- 难以说服客户接受风险分析的结果
简述统一过程三大特点,与面向对象的方法有什么关系?
- 三大特点
- 软件开发是一个迭代过程
- 软件开发是由Use Case驱动的
- 软件开发是以架构设计为中心的
- 与面向对象的方法的关系
- 设计阶段,需要将系统组织为具有良好接口的设计包和设计组系统,并体现类的对象之间的作用关系
- 实现阶段层次化子系统,定义代码组织结构。以组件的形式实践类和对象
- 测试和整合阶段需要测试类本身的功能和类间作用关系
简述统一过程四个阶段的划分准则是什么?每个阶段关键的里程碑是什么?
- 工作与迭代在时间是划分准则
- 四个阶段的里程碑
- 初始阶段:评价项目的基本生存能力
- 细化阶段:为系统的结构建立管理基准,并使项目小组能够在构建阶段中进行衡量
- 构建阶段:决定产品是否可以在测试环境中进行部署
- 交付阶段:确定目标是否实现,是否应该开始另一个开发周期
软件企业为什么能按固定节奏生产、固定周期发布软件产品?它给企业项目管理带来哪些好处?
- 原因
- 企业规范化管理的思想
- 利用软件产品范围的弹性
- 采用基于统一过程的软件项目规划
- 合理规划范围(20%业务决定80%满意度)
- 好处
- 可以不断修正需求,保证项目的持续热度,提升客户的信任程度
- 专注于处理生命周期中每个阶段中最高风险的迭代开发方法,极大地减少了项目的风险性
- 具备管理变更的能力,同时指导如何通过隔离修改和控制整个软件产物的修改来为每个开发者建立安全的工作区,通过描述如何进行自动化集成和建立管理使小队如同单个单元来工作
- 企业项目管理具有明确的阶段划分,每个迭代阶段都有明确的目标。使项目管理确定合理的产品范围,不投入大量时间在冗余的工作中
- 实现增量发展,稳定推进项目进度