文章目录

    • 5.1 软件工程
      • 5.1.1 软件工程定义
      • 5.1.2 软件过程模型
      • 5.1.3 敏捷模型
      • 5.1.4 统一过程模型(RUP)
      • 5.1.5 软件能力成熟度模型
    • 5.2 需求工程
      • 5.2.1 需求获取
      • 5.2.2 需求变更
      • 5.2.3 需求追踪
    • 5.3 系统分析与设计
      • 5.3.1 结构化方法
      • 5.3.2 面向对象方法
    • 5.4 软件测试
      • 5.4.1 测试方法
      • 5.4.2 测试阶段
    • 5.5 净室软件工程
      • 5.5.1 理论基础
      • 5.5.2 技术手段
      • 5.5.3 应用与缺点
    • 5.6 基于构件的软件工程
      • 5.6.1 构件和构件模型
      • 5.6.2 CBSE过程
      • 5.6.3 构件组装
    • 5.7 软件项目管理
      • 5.7.1 项目管理概述
      • 5.7.2 软件进度管理
      • 5.7.3 软件配置管理
      • 5.7.4 软件质量管理
      • 5.7.5 软件风险管理

5.1 软件工程

5.1.1 软件工程定义

软件工程过程是指为获得软件产品,在软件工具的支持下由软件工程师完成的一系列软件
工程活动,包括以下4个方面。

  • ( 1 ) P( Plan )——软件规格说明。规定软件的功能及其运行时的限制。
  • ( 2 ) D ( Do ) — —软件开发。开发出满足规格说明的软件。
  • ( 3 ) C ( Check )——软件确认。确认开发的软件能够满足用户的需求。
  • ( 4 ) A ( Action )——软件演进。软件在运行过程中不断改进以满足客户新的需求。

软件危机(Software Crisis)。具体表现为:软件开发进度难以预测、软件开发成本难以控制、软件功能难以满足用户期望、软件质量无法保证、软件难以维护和软件缺少适当的文档资料。

5.1.2 软件过程模型

软件过程模型。软件要经历从需求分析、软件设计、软件开发、运行维护,直至被淘汰这样的全过程,这个全过程就是软件的生命周期。软件生命周期描述了软件从生到死的全过程。为了使软件生命周期中的各项任务能够有序地按照规程进行,需要一定的工作模型对各项任务给予规程约束,这样的工作模型被称为软件过程模型,有时也称为软件生命周期模型。常见的软件过程模型主要包括:

1)瀑布模型(Waterfall Model) ,是结构化开发方法使用的