软件开发环境(Software Development Environment,SDE)是指支持软件的工程化开发和维护而使用的一组软件,由软件工具集和环境集成机制构成。
软件开发环境应支持多种集成机制,例如,平台 集成、数据集成、界面集成、控制集成和过程集成等。
软件开发环境应支持小组工作方式,并为其提供配置管理,环境的服务可用于支持各种软 件开发活动,包括分析、设计、编程、调试和文档等。
较完善的软件开发环境通常具有多种功能,例如,软件开发的一致性与完整性维护,配置管理 及版本控制,数据的多种表示形式及其在不同形式之间的自动转换,信息的自动检索与更新,项目控制和管理,以及对开发方法学的支持。软件 开发环境具有集成性、开放性、可裁减性、数据格式一致性、风格统一的用户界面等特性,因而 能大幅度提高软件生产率。
集成机制根据功能的不同,可划分为环境信息库、过程控制与消息服务器、环境用户界面三个部分。
环境信息库。环境信息库是软件开发环境的核心,用以存储与系统开发有关的信息,并支持信息的交流与共享。环境信息库中主要存储两类信息,一类是开发过程中产生的有关被开发系 的信息,例如,分析文档、设计文档和测试报告等;另一类是环境提供的支持信息,例如,文档 模板、系统配置、过程模型和可复用构件等。
过程控制与消息服务器。过程控制与消息服务器是实现过程集成和控制集成的基础。过程集成是按照具体软件开发过程的要求进行工具的选择与组合,控制集成使各工具之间进行并行通信和协同工作。
环境用户界面。环境用户界面包括环境总界面 和由它实行统一控制的各环境部件及工具的界面。统一的、具有一致性的用户界面是软件开发 环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻用户的学习负担的保证。
软件工具
软件系统工具的种类繁多,很难有统一的分类方法。通常可以按软件过程活动将软件工具分为:
软件开发工具:需求分析工具、设计工具、编码与排错工具。
软件维护工具:版本控制工具、文档分析工具、开发信息库工具、逆向工程工具、再工程工具。
软件管理和软件支持工具:项目管理工具、配置管理工具、软件评价工具、软件开发工具的评价和选择。