软件开发工具是用于辅助软件生命周期过程的基于计算机的工具。通常可以设计并实现工具来支持特定的软件工程方法,减少手工方式管理的负担。与软件工程方法一样,他们试图让软件工程更加系统化,工具的种类包括支持单个任务的工具及囊括整个生命周期的工具。

软件开发工具的功能

认识与描述客观系统

存储及管理开发过程中的信息

代码的编写与生成

文档的编制或生成

软件项目的管理

软件开发工具的特性

表达能力或描述能力

保持信息一致性的能力

使用的方便程度

工具的可靠性

对硬件和软件环境的要求

软件开发工具的分类

基于工作阶段的工具基于各个阶段对信息的需求不同,软件开发工具可分为三类:设计工具、分析工具、计划工具。

基于集成程度划分的工具集成化程度是用户接口一致性和信息共享的程度,是一个新的发展阶段。集成化的软件开发工具要求人们对于软件开发过程有更深入的认识和了解。开发与应用集成化的软件开发工具是应当努力研究与探索的课题,集成化的软件开发工具也常称为软件工作环境。

基于硬件、软件的关系划分的工具按与硬件和软件的关系,软件开发工具可以分为两类:依赖于特定计算机或特定软件(如某种数据库管理系统)和独立于硬件与其它软件的软件开发工具。一般来说,设计工具多是依赖于特定软件的,因为它生成的代码或测试数据不是抽象的,而是具体的某一种语言的代码或该语言所要求的格式的数据。而分析工具与计划工具则往往是独立于机器与软件的,集成化的软件开发工具常常是依赖于机器与软件的。

基于应用领域划分的工具按照应用领域的不同,应用软件可以分为事务处理、实时应用、嵌入式应用等。随着个人计算机与人工智能的发展,与这两个方面相联系的应用软件,也取得较大的进展。