Процесс возникновения и исследования идеи является творческим и неформализуемым. Он наиболее адекватно описывается естественным языком.
Языки управления в большинстве случаев - языки графовых структур. Сетевая модель проекта представляет собой графическое описание плана, показывающее взаимосвязь между всеми заданиями, которые надо выполнить для завершения проекта [Филлипс, Гарсиа, Диас 1984]. Сеть состоит из ориентированных дуг или отрезков, соединяющих узлы попарно. Элементы сети, характеризуемые затратами времени (дуги или отрезки), называются работами. Узлы, обозначаемые кружками или прямоугольниками, представляют события. События являются точно заданными моментами времени. Направление дуги или отрезка определяет отношение предшествования. На отрезке сети (рис 4.5) событие i должно произойти до начала работы А, а событие j не может произойти до завершения работы А.
Иногда отношение предшествования между работами нельзя представить точно с помощью обычной структуры работ и событий. Пусть нам нужно представить на схеме изображение следующей последовательности:
Схема, приведенная на рис. 4.6 слева, является неправильной, поскольку показывает, что работа с следует за работами А и В. Для правильного представления изображения следует ввести фиктивную работу (обозначим ее х), продолжительность которой равна нулю.
Модель сетевого графика имеет большое значение как хороший организующий инструмент. Выделение критических путей позволяет организаторам выделить область наибольшего внимания, хотя по многим причинам она не исчерпывается критическими путями. Полезно несколько расширять область контроля, вводя в нее субкритические пути, которые имеют малый резерв времени, и небольшое изменение продолжительности может вывести их на критический путь [Романовский 1999].
2.3. Анализ требований и проектирование
Подробно языки моделирования, применяемые при ведении процессов анализа требований и проектирования, будут рассмотрены в разд. 4.4.
2.4. Программирование (реализация)
Подробно языки программирования высокого уровня, применяемые при ведении процесса программирования, будут рассмотрены в разд. 4.5.
Чем реже встречаются ошибки, тем они ценнее.
Ежи Лец
В процессе тестирования и отладки применяется не так много специализированных языков. Можно отметить язык скриптов для тестового монитора, использующийся на этапе тестирования. На этапе отладки используется язык команд отладчика.
Как правило, единственный язык, который используется в этом процессе - язык инсталляционных (устанавливающих) программ. Инсталляционные программы задают пользователю вопросы и сообщают об устанавливаемой конфигурации на подмножестве естественного языка.
Некоторые инсталляторы имеют богатые скриптовые языки формирования дистрибутива, но знать их необязательно, поскольку над ними практически всегда существует графический интерфейс.
2.7. Эксплуатация и сопровождение
Сопровождение программы предполагает внесение изменений на том же языке программирования, на котором была написана программа. Исключение составляют реинжиниринг и программирование заново (с использованием метода обратной инженерии). В этом случае программа или ее существенная часть может быть:
Водой небытия зародыш мой вспоен,
огнем страдания мой мрачный дух зажжен,
как ветер, я несусь из края в край вселенной
и горсточкой земли окончу жизни сон.
О. Хайям
Завершение эксплуатации анонсируется на естественном языке. Программа, начиная с некоторой версии, будет выдавать пользователю предупреждение о прекращении сопровождения.