经典软件工程方法

问题定义 -> 需求 -> 分析 -> 设计 -> 编码 -> 测试 -> 维护

software process

  • the way we produce software, 以人为主体
    • evolution model
    • waterfall model
    • Iterative-and-incremental Process Models

waterfall model

waterfall model

evolution-tree life-cycle model

at the end of each episode we have a baseline: a complete set of artifacts

artifact: a constituent component of a software product

Iterative-and-incremental Process Models

  • Incrementation(增量): 指对于产品的功能上、模块上的增加
  • Iteration(迭代): 指增量部分仍然使用相同的流程来开发

superimposing of evolution-tree and incremental

generic process framework

generic process framework

  • framework activities
    • Communication
    • Planning
    • Modeling
    • Construction
    • Deployment
  • umbrella activities:普适性活动,是所有框架性活动都会涉及到的
    • project tracking and control
    • risk management
    • quality assurance
    • configuration management
    • technical reviews

software life-cycle model

  • a description of the steps that should be performed when building a software product,从软件自身来看
  • core workflows in life-cycles
    • Requirements workflow
    • Analysis workflow
    • Design workflow
    • Implementation workflow
    • Test workflow

Code-and-Fix life-cycle model

code-and-fix

waterfall life-cycle model

or classic life cycle

waterfall

  • Communication - Planning - Modeling - Construction - Deployment

Rapid-prototyping life-cycle model

Rapid-prototyping

V-model

V-model

Spiral life-cycle model

Spiral model ≈ Prototyping model + waterfall model

Spiral

Full spiral life-cycle model

Full Spiral