软件支援环境

在宿主硬件和宿主软件的基础上,用于辅助、支援其他软件的研制和维护的一组软件。软件,特别是大型软件的研制和维护是一种费用大、耗时多的工程。软件生产率除了同软件人员的水平有关外,支援环境是一个重要的因素。

完备的软件支援环境的作用是:

(1)支援生存全周期,即不仅能支援软件研制和维护中的各别阶段,而且能支援软件生存周期中的所有阶段;

(2)支援大型软件工程项目,即不仅支援各别程序的研制,而且能支援大型软件工程项目的研制和维护中所涉及的所有程序;

(3)支援软件配置管理。

软件支援环境应满足整体性、扩充性、层次性、移植性和坚定性等要求。

(1)整体性:软件支援环境是按照整体化要求设计的一个整体,因而它所包含的各项软件不是一些彼此孤立的个体,应相互配合支援各个软件工程项目的研制和维护。环境数据库中对象的性质和有关信息,可反映环境的整体化程度。

(2)扩充性:软件支援环境中所包含的工具组随时可以修改,可以扩充,工具组中所含的工具不是固定不变的。

(3)层次性:软件支援环境本身是层次式的,即区分为若干层,如宿主层、核心层、基本层和应用层。

(4)移植性:软件支援环境可以方便地从一台宿主机移到另一台宿主机。

(5)坚定性:即软件支援环境可以不受或少受来自用户和系统错误的影响。

基本组成

软件支援环境由环境数据库、接口软件和工具组组成。

环境数据库

软件支援环境的重要组成部分。其中存放的信息有:被研制的软件在其生存周期中所必要的信息和软件研制工具的有关信息等。在环境数据库中,可以分别标识的信息组称为对象;作为一组相关的版本而存在的一组对象称为版本组。把一个项目中各个不同的“对象组”组合起来,就可以构成各种不同的软件配置。

接口软件

包括系统与用户的接口、子系统和子系统之间的接口。支援环境要求所有这些接口都具有统一性。例如,为了实现用户和各种工具的通信,要求有统一的调用方式。

工具组

软件支援环境中的工具不是孤立工作的,而是彼此有交互作用的。工具组包括软件研制工具、软件维护工具和控制配置工具等,如整理文件资料用的编辑程序和连接装配程序。工具组中的各个工具应设计成由一些基本功能成分组成。这些基本功能成分可以组合,供用户选用,并且可通过环境数据库进行通信。

层次结构

一般说来,软件支援环境都具有层次式的结构,可以区分为四层(见图)。

(1)宿主层:它包括基本宿主硬件和基本宿主软件。

(2)核心层:一般包括核心工具组、环境数据库、通信设施和运行时刻支援设施。

(3)基本层:一般包括最少限度的一组工具,如编译程序、编辑程序、调试程序、连接程序和装配程序等。这些工具都是由核心层来支援的。

(4)应用层:以特定的基本层为基础,但可包括一些补充工具,借以更好地支援各种应用软件的研制。

图