系统开发基础(1)——开发模型

系统开发基础主要考点提要

  • 上午考试,分值11分左右
  • 开发模型
  • 软件开发方法
  • 需求分析
  • 软件设计
  • 软件测试与维护
  • 软件质量保证
  • 软件过程改进
  • 项目管理基础

开发模型

模型分类

  • 瀑布模型
  • V模型
  • 喷泉模型
  • 原型化模型
  • 演化模型
  • 螺旋模型
  • 统一过程模型
  • 敏捷方法

瀑布模型

系统开发基础(1)——开发模型

  • 解决的问题:需求从一开始就很明确的软件开发
  • 弊端:在软件开发中,70%以上的问题出现在软件设计阶段,所以应该将软件测试尽可能的提前。

V模型

系统开发基础(1)——开发模型

  • 特点:十分重视测试
  • 弊端:同瀑布模型

喷泉模型

系统开发基础(1)——开发模型

  • 特点:面向对象;每个阶段没有明确的界限,便于迭代,由此带来管理困难。

原型化模型包括了演化模型

螺旋模型

系统开发基础(1)——开发模型

  • 适合开发高风险的项目,因此其成本很高。

统一过程(UP)模型

系统开发基础(1)——开发模型

四大阶段

  • 初始阶段——生命周期目标:
    • 确定项目范围和边界
    • 识别系统的关键用力
    • 展示系统的候选架构
    • 估计项目费用和时间
    • 评估项目风险
  • 细化——生命周期架构:
    • 分析系统问题领域
    • 建立软件架构基础
    • 淘汰最高风险元素
  • 构建——初始运作功能:
    • 开发剩余的构件
    • 构件组装与测试
  • 交付——产品发布:
    • 进行β测试
    • 制作发布版本
    • 用户文档定稿
    • 确认新系统
    • 培训、调整产品

典型产品代表

  • 典型代表产品:RUP(Rational Unified Process)

敏捷方法

总体目标

通过"尽可能早地、持续地对有价值的软件的交付"使客户满意

典型方法

  • 极限编程(XP)(在一些对费用控制严格的公司中使用,十分有效)
  • 水晶法(用最少的纪律约束仍能成功的方法
  • 自适应软件开发
  • 并列征求法(SCRUM,明确定义了的可重复的方法过程)
  • 特性驱动开发

极限编程(XP)

由价值观、原则、实践和行为4个部分构成

4大价值观

  • 沟通
  • 简单
  • 反馈
  • 勇气

5大原则

  • 快速反馈
  • 简单性假设
  • 逐步修改
  • 提倡更改
  • 优质工作

12大最佳实践

  • 计划游戏
  • 小型发布
  • 隐喻
  • 简单设计
  • 测试先行
  • 重构
  • 结对编程
  • 集体代码所有制
  • 持续集成
  • 每周工作40小时
  • 现场客户
  • 编码标准