软件工程(导论)

成秀秀、杨玲、戚爱斌、苗世迪、温东新

目录

  • 1 软件与软件工程
    • 1.1 软件
    • 1.2 软件危机
    • 1.3 软件工程
    • 1.4 软件生命周期
    • 1.5 软件过程模型
    • 1.6 学生成果分享
  • 2 可行性研究与项目开发计划
    • 2.1 可行性研究的任务
    • 2.2 可行性研究过程
    • 2.3 进度计划
    • 2.4 学生成果分享
  • 3 需求分析
    • 3.1 需求分析的任务
    • 3.2 与用户沟通获取需求的方法
    • 3.3 分析建模与规格说明
    • 3.4 实体-联系图
    • 3.5 数据规范化
    • 3.6 状态转换图
    • 3.7 其它图形工具
    • 3.8 验证软件需求
  • 4 总体设计
    • 4.1 系统流程图
    • 4.2 数据流图
    • 4.3 数据字典
    • 4.4 设计过程
    • 4.5 设计原理
    • 4.6 启发规则
    • 4.7 描绘软件结构的图形工具
    • 4.8 面向数据流的设计方法
  • 5 详细设计
    • 5.1 结构程序设计
    • 5.2 人机界面设计
    • 5.3 过程设计的工具
    • 5.4 面向数据结构的设计方法
    • 5.5 程序复杂程度的定量度量
  • 6 软件编码
    • 6.1 程序设计语言
    • 6.2 编码风格
  • 7 软件测试
    • 7.1 软件测试基础
    • 7.2 单元测试
    • 7.3 集成测试
    • 7.4 确认测试
    • 7.5 白盒测试技术
    • 7.6 黑盒测试技术
    • 7.7 调试
    • 7.8 软件可靠性
  • 8 软件项目管理
    • 8.1 估算软件规模
    • 8.2 工作量估算
    • 8.3 人员组织
    • 8.4 质量保证
    • 8.5 软件配置管理
    • 8.6 能力成熟度模型
软件配置管理

软件配置管理总述

软件配置管理是在软件的整个生命期内管理变化的一组活动。

具体地说,这组活动用来:①标识变化;②控制变化;③确保适当地实现了变化;④向需要知道这类信息的人报告变化。

软件配置管理的目标是,使变化更正确且更容易被适应,在必须变化时减少所需花费的工作量。 


一、软件配置

1. 软件配置项

软件过程的输出信息可以分为3类:  

■计算机程序(源代码和可执行程序); 

■描述计算机程序的文档(供技术人员或用户使用); 

■数据(程序内包含的或在程序外的)。 

上述这些项组成了在软件过程中产生的全部信息,我们把它们统称为软件配置,而这些项就是软件配置项。

2. 基线

基线是一个软件配置管理概念,有助于我们在不严重妨碍合理变化的前提下控制变化。

IEEE把基线定义为:已经通过了正式复审的规格说明或中间产品,它可以作为进一步开发的基础,并且只有通过正式的变化控制过程才能改变它。

简而言之,基线就是通过了正式复审的软件配置项。


二、软件配置管理过程

具体来说,软件配置管理主要有5项任务:标识、版本控制、变化控制、配置审计和报告。

1. 标识软件配置中的对象

为了控制和管理软件配置项,必须单独命名每个配置项,然后用面向对象方法组织它们。可以标识出两类对象:

■基本对象,是软件工程师在分析、设计、编码或测试过程中创建出来的“文本单元”。

■聚集对象,是基本对象和其他聚集对象的集合。

2. 版本控制

版本控制联合使用规程和工具,以管理在软件工程过程中所创建的配置对象的不同版本。

借助于版本控制技术,用户能够通过选择适当的版本来指定软件系统的配置。

3. 变化控制

典型的变化控制过程如下:

■首先评估该变化在技术方面的得失、可能产生的副作用、对其他配置对象和系统功能的整体影响以及估算出的修改成本。

■为每个被批准的变化都生成一个“工程变化命令” 。把要修改的对象从项目数据库中“提取”出来,进行修改并应用适当的SQA活动。

■最后,把修改后的对象“提交”进数据库,并用适当的版本控制机制创建该软件的下一个版本。

4. 配置审计

通常从下述两方面采取措施:

■正式的技术复审,关注被修改后的配置对象的技术正确性。

■软件配置审计,通过评估配置对象那些通常不在复审过程中考虑的特征,是对正式技术复审的补充。

5. 状态报告

书写配置状态报告回答下述问题:

■发生了什么事?

■谁做的这件事?

■这件事是什么时候发生的?

■它将影响哪些其他事物?