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