1.6 软件支持过程

1. 软件过程

软件过程,指软件生命周期(Life Cycle)中的时间序列。

软件过程作为一个时间序列,自然有起始点和终止点。例如,可将一个软件的生命周期划分为市场调研、立项、需求分析、策划、概要设计、详细设计、编程、单体测试、集成测试、运行、维护、退役几个过程,前一过程的终止点就是后一过程的起始点。过程与阶段(Phase)有关,阶段与里程碑(Milestone)有关。某些重要里程碑上的文档(通过评审和审计之后)又称为基线(Baseline)。例如,《软件需求分析规格书》、《软件设计说明书》,它们都是基线。

软件工程的支持过程,由支持软件生命周期各个阶段的生产工具组成。

这些生产工具有需求分析工具、概要设计工具、详细设计工具、编程工具、测试工具、维护工具、CASE工具、软件开发环境SDE、软件工程环境SEE等。

2. CASE工具

CASE(Computer Aided Software Engineering)是一组工具和方法的集合,一般提供给个人使用,可以辅助软件开发生命周期各阶段进行软件开发。它在软件开发/维护过程中提供计算机辅助支持和工程化方法,CASE技术分为两类,一类是支持软件开发过程本身的技术,另一类是支持软件开发过程管理的技术。

3. 软件开发环境SDE

软件开发环境SDE(Software Development Environment)指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

软件配置管理工具、面向行业领域开发的业务基础平台,都是软件开发环境的例子。

4. 软件工程环境SEE

软件工程环境SEE(Software Engineering Environment)一般提供给团队使用,它是以软件工程为依据,支持典型软件生产的系统。SEE具有以下特点:

(1)强调支持软件生产的全过程。

(2)强调大型软件的工业化生产。

(3)以集成和剪裁作为主要技术路径,实现软件工业化生产的目标。

(4)标准化。软件生产走向工业化需要建立相应的工业标准。

软件工程环境的例子有北大青鸟系统,Rational Rose等。

与程序设计语言不同,软件工程环境目前正处在发展之中,还不十分成熟,因此不容易普及,而且对使用者的素质要求很高,所以初学者要谨慎使用。当然,有经验的软件专家可以大胆使用。目前软件工程环境的典型代表,是支持面向对象的Rational Rose,它以统一建模语言UML为标准,支持从需求分析到产品发布和维护的整个软件生命周期。

5.CASE、SDE、SEE三者的异同

三者的相同点是:都是软件过程的支持工具,其目的都是为了加快软件开发效率,提高软件开发质量。

三者的不同点是:它们的功能强弱、使用范围、使用背景不尽相同。

如果不去追究CASE、SDE、SEE三者的严格定义与相互区别,人们在工作中有时将它们三者混为一谈,不加区分。支持过程是通过支持工具实现的。支持工具的研发,是当前软件界的热点之一,但它不是软件工程的重点内容,在此不做专门的讨论,只涉及支持工具的使用知识。