🍐 软件项目管理

吞佛童子大约 2 分钟

🍐 软件项目管理

1. 软件生命周期

  1. 问题描述
  2. 需求分析
  3. 概要设计
  4. 详细设计
  5. 编码
  6. 测试
    • 测试范围:
      • 单元测试
      • 模块测试
      • 系统测试
    • 测试方法:
      • 静态测试
        • 通过阅读代码和文档,分析其正确性、一致性及逻辑结构的正确性
      • 动态测试
        • 黑盒测试
          • 测试代码的功能
        • 白盒测试
          • 关注源代码的逻辑错误
    • 测试群体:
      • α 测试
      • β 测试
  7. 维护

2. 开发模型

1) 瀑布模型

  • 由上至下一次性完成整个项目
  • 特点:
    • 文档驱动

2) 迭代模型(增量模型)

  • 它将一个完整的软件拆分成不同的组件,之后对每个组件进行逐步的开发测试,每当完成一个组件就会向客户进行展示,让客户确认该组件功能与性能是否达到要求,最终确定无误,将组件集成到软件体系结构中
  • 每一个迭代都需要经过需求分析、软件设计、编码、测试这几项过程

3) 快速原型模型

  • 用户需求不确定时,快速开发出一个原型,用于展示,为了用户确定其时机需求,该原型通常无法运行,
  • 用户需求确定后,通常抛弃该原型

4) 敏捷模型

  • 软件项目在构建初期会被拆分为多个相互联系而又独立运行的子项目,然后迭代完成各个子项目。
  • 开发过程中,各个子项目都要经过开发测试。
  • 当客户有需求变更时,敏捷模型能够迅速地对某个子项目做出修改以满足客户的需求。
  • 在这个过程中,软件一直处于可使用状态。

5) 喷泉模型

  • 当客户需求基本类似时,在开发过程中可以采用面向对象的开发方式,将 相同的模块全部封装起来,以便于下次功能开发时使用

6) 螺旋模型

  • 融合了瀑布模型,快速原型模型,该模型最大的特点就是引入了其他模型所没有的 风险分析
  • 螺旋模型将开发过程都分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,在每个周期开始之前都会进行风险分析。在每个迭代阶段构建原型是螺旋模型用以减小风险的途径。