Инструментальная система технологии программирования — это интегрированная совокупность программных и аппаратных инструментов, поддерживающая все процессы разработки и сопровождения больших ПС в течение всего его жизненного цикла в рамках определенной технологии.
С учетом обсужденных свойств инструментальных систем технологии программирования можно выделить три их основные компоненты:
- * репозиторий,
- * инструментарий,
- * интерфейсы.
Инструментарий — набор инструментов, определяющий возможности, предоставляемые системой коллективу разработчиков.
Интерфейсы разделяются на пользовательский и системные. Пользовательский интерфейс обеспечивает доступ разработчикам к инструментарию. Он реализуется оболочкой системы. Системные интерфейсы обеспечивают взаимодействие между инструментами и их общими частями. Системные интерфейсы выделяются как архитектурные компоненты в связи с открытостью системы — их обязаны использовать новые (импортируемые) инструменты, включаемые в систему.
Различают два класса инструментальных систем технологии программирования: инструментальные системы поддержки проекта и языково-зависимые инструментальные системы.
Инструментальная система поддержки проекта — это открытая система, способная поддерживать разработку ПС на разных языках программирования после соответствующего ее расширения программными инструментами, ориентированными на выбранный язык.
Языково-зависимая инструментальная система — это система поддержки разработки ПС на каком-либо одном языке программирования, существенно использующая в организации своей работы специфику этого языка.