Инструментальное программное обеспечение используется для создания программных продуктов в любой области, включая и системные программы. В настоящее время для создания программных продуктов используются мощные системы визуального программирования, которые включают в себя обширные библиотеки стандартных программ, специальные средства отладки и тестирования.
Системы программирования предназначены для разработки новых программ на конкретном языке программирования и включают в себя компиляторы, интерпретаторы, диалоговую среду, редакторы текстов, библиотеки стандартных подпрограмм, компоновщики, отладчики, справочные службы и т.д.
Компилятор (составитель, собиратель) выполняет преобразование исходного текста программы, написанного на языке высокого уровня, в машинный язык, язык близкий к машинному, или в объектный модуль. Он создает законченный вариант программы на машинном языке (exe-файл), который потом и выполняется ЭВМ. Процесс работы компилятора называется компиляцией.
Интерпретатор(толкователь, устный переводчик) переводит и выполняет программу строка за строкой.
Диалоговая среда — средство взаимодействия пользователя и ЭВМ.
Редактортекста — программа, выполняющая набор, корректировку и печать текстов.
Библиотекистандартныхподпрограмм — это совокупность программ, составленных на одном из языков программирования и предназначенных для выполнения узкого класса задач.
Отладчики — программные средства, выполняющие отладку и проверку готовых программ, поиск алгоритмических и семантических ошибок в программе и тестирование программ.
Компоновщик (также редактор связей, линкер — от англ. link editor, linker) — программа, которая производит компоновку — принимает на вход один или несколько объектных модулей и собирает по ним исполняемый модуль.
Справочная служба — набор программ, хранящих Справочную и пояснительную информацию.
Кроме того в инструментальное ПО входят:
· SDK (от англ. Software Development Kit) или "devkit" - комплект средств разработки, который позволяет специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, видеоигровых консолей, оперативных систем и прочих платформ. Программист, как правило, получает SDK непосредственно от разработчика целевой технологии или системы. Часто SDK распространяется через Интернет. Многие SDK распространяются бесплатно, для того, чтобы поощрить разработчиков использовать данную технологию или платформу. Поставщики SDK иногда подменяют термин Software в словосочетании Software Development Kit на более точное слово. Например, «Microsoft» и «Apple» предоставляют Driver Development Kits (DDK) для разработки драйверов устройств, а «PalmSource» называет свой инструментарий для разработки «PalmOS Development Kit (PDK)».
· Ассемблер (от англ. assembler — рабочий-сборщик) — компьютерная программа, компилятор исходного текста программы написанной на языке ассемблера, в программу на машинном коде.
· Генератор документации — программа или пакет программ, позволяющая получать документацию, предназначенную для программистов и/или для конечных пользователей системы, по особым образом комментированному исходному коду и, в некоторых случаях, по исполняемым модулям (полученным на выходе компилятора).
· Средства анализа покрытия кода - мера, используемая при тестировании программного обеспечения. Она показывает процент, насколько исходный код программы был протестирован.
· Средства непрерывной интеграции. Непрерывная интеграция (англ. Continuous Integration) — это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо задержать окончание работ. Переход к непрерывной интеграции позволяет снизить трудоёмкость интеграции и сделать её более предсказуемой за счет наиболее раннего обнаружения и устранения ошибок и противоречий.
· Средства автоматизированного тестирования, системы управления версиями, парсеры и генераторы парсеров и др.
В настоящее время для создания программных продуктов используются интегрированные среды разработки.
Интегрированная среда разработки программного обеспечения (англ. IDE, Integrated development environment) — система программных средств, используемая программистами для разработки программного обеспечения. Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит систему управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования — как например, Visual Basic.
Примеры сред разработки — Eclipse, Sun Studio, Turbo Pascal, Borland C++, GNU toolchain, DrPython, Borland Delphi, Dev-C++, Lazarus, KDevelop, QDevelop, QNX Momentics IDE, XCode.
Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы.
1. Программными средствами для защиты информации в сети являются: