Для многих систем можно четко определить место их разработки, место работы и место сопровождения. Некоторые называют все обеспечение, посылаемое к месту работы, «операционным». Это может вносить только путаницу, поскольку термин «операционное программное обеспечение» является синонимом термина «обеспечение времени использования». Например, корабль, находящийся в море, является местом выполнения, но многие программы, посылаемые туда, не работают в фазе использования. На корабль посылаются диагностические программы, помогающие инженерам-ремонтникам налаживать работу машин, но эти программы работают автономно, а не совместно с системой при ее использовании.
Таблица 4.6. Когда используется программное обеспечение разных типов
Тип программного обеспечения |
Выполняются во время разработки |
Выполняются во время использования |
Выполняются во время сопровождения |
Инструментальное |
Трансляторы |
Нет |
Трансляторы |
Программа-библиотекарь |
Программы-библиотекари |
Отладочные программы |
Отладочные программы |
Системное |
Операционные системы |
Диалоговый режим |
Операционные системы |
|
Системы управления базами данных |
Операционные системы СУБД Диагностика в диалоговом режиме Вычисления в диалоговом режиме |
СУБД |
Прикладное |
Нет |
Ведомости (периодически) Управление или контроль (постоянно) Отслеживание даты (раз в сутки) |
Нет |
Они представляют собой набор инструментальных программ, и называть их «операционными» только за то, что они находятся в одном месте со всей системой, ошибочно. В табл. 4.6 перечислено по крайней мере некоторое программное обеспечение, работающее в разных фазах независимо от места работы, а в табл. 4.7 показано, какие программы могут работать автономно в различных местах.
Таблица 4.7. Какое программное обеспечение может самостоятельно работать в различных местах
|
Выполняются самостоятельно по месту разработки |
Выполняются самостоятельно по месту использования |
Выполняются самостоятельно по месту сопровождения |
Инструментальные |
Диагностические программы |
Диагностические программы Элементы калькуляции |
Диагностические программы |
Системные |
ОС |
Операционные системы |
ОС |
Прикладные |
В целях тестирования программы калькуляции |
Нет |
В целях тестирования программы калькуляции |
Инструментальное программное обеспечение
Инструментальное программное обеспечение — это третий раздел большой области всех программ. Применяется инструментальное обеспечение в фазе разработки. Инструментальное программное обеспечение — это совокупность программ, используемых для помощи программистам в их работе, для помощи руководителям разработки программного обеспечения в их стремлении проконтролировать процесс разработки и получаемую продукцию.
Наиболее известными представителями этой части программного обеспечения являются программы трансляторов с языков программирования, которые помогают программистам писать машинные команды. Инструментальными программами являются трансляторы с языков Фортран, Кобол, Джовиал, Бейсик, АПЛ и Паскаль. Они облегчают процесс создания новых рабочих программ.
Однако трансляторы с языков это только наиболее известная часть инструментальных программ; существует же их великое множество. Проще всего можно получить представление о количестве и разнообразии инструментальных программ, изучив список программ, используемых во время разработки большой программной системы. Взгляните на табл. 4.8.
Таблица 4.8. Некоторые инструментальные программы
Общее назначение |
Требования и спецификации |
Текстовые редакторы |
PSL/PSA |
Форматирование документации |
Реляционные СУБД |
Архивные системы |
Проверка непротиворечивости |
Работа с дисками и лентами |
CARA/CLARA |
Модели |
SADT IA |
Проектирование |
Написание |
Графические пакеты |
Транслятор |
Построители структурных блок-схем |
Кросс-транслятор |
Предтранслятор |
Проектный анализатор APLGOL |
Программа-библиотекарь |
Конструирование |
Верификация |
Система планирования и руководства разработками PERT |
Статические анализаторы |
Символическое выполнение |
Редактор связей |
Интерпретация |
Библиотекарь |
Генератор тестовых последовательностей |
Библиотекарь |
Сбор статистики |
Такое использование вычислительных машин для помощи в создании новых программ далеко не очевидно для людей, не являющихся профессиональными программистами. Часто же бывает так, что профессионалы рассказывают об инструментальном (фаза разработки) и системном (фаза использования) программном обеспечении на едином дыхании, предполагая, что не посвященному в тайны их мастерства известно об этой роли инструментального программного обеспечения. Так же как и в фазе использования (для прикладных программ), системное обеспечение работает и в фазе разработки, но только совместно с инструментальным обеспечением.
Читать дальше