学科基础

  • 抽象化
  • 分析,设计的方法和表示法
  • 用户界面原型
  • 模块化和架构
  • 复用
  • 生命周期和过程
  • 度量
  • 工具和集成开发环境

Software Process Model

Waterfall Model

Pros

  1. 阶段间具有顺序性和依赖性
  2. 推迟实现的观点
    • 瀑布模型在编码之前设置了系统分析和系统设计的各个阶段,分析与设计阶段的基本任务规定,这两个阶段主要考虑目标系統的路基模型,不涉及软件的物理实现,清楚地区分逻辑设计与物理设计,尽可能推迟程序的物理实现
  3. 质量保证的观点
    • 每个阶段必须完成规定的文档
    • 每个阶段结束前都要对所完成的文档进行评审

Cons

  1. 在可运行的软件产品交付给用户之前,用户只能通过文档米了解产品
  2. 要求用户不经过实践就提出完整准确的需求,不切实际

Rapid Prototype Model

快速原型的本质是快速,原型的用户是获知用户的真正需求

Incremental Model

增量模型与瀑布模型和快速原型相反,分批逐步向用户提供产品,整个软件产品被分解为需多个增量构件

Pros

  1. 较短时间内向用户提交可完成部分工作的产品
  2. 逐步增加产品功能可以使用户有较充裕时间学习适应新产品

Cons

新的增量构件集成到现有软件体系结构中时必须不破坏原已开发产品

Spiral Model

每个阶段之前都增加了风险分析过程的快速原型模型,主要适用于内部开发的大规模软件项目

Fountain Model

具有面向对象软件开发过程迭代和无缝的特性

Rational Unified Process

三个主要概念驱动:

  • 用例和需求驱动
  • 以体系结构为中心
  • 迭代和增量

迭代

  1. Inception
  2. Elaboration
  3. Construction
  4. Transition

To-do

  • RE