11.1 Структурное планирование (сетевая модель)

Этап структурного планирования начинается с разбиения программы на четко определенные операции.

Затем определяются оценки продолжительности операций, и строится сетевая модель (сетевой график, стрелочная диаграмма), каждая дуга (стрелка) которой отображает работу.

Отношения упорядочения между операциями задается с помощью событий.

Событие определяется как момент времени, когда завершаются одни операции, и начинаются другие.

Начальная и конечная точки любой операции описываются, таким образом, парой событий, которые обычно называются начальным и конечным.

Операции, выходящие из некоторого события не могут начаться, пока не будут завершены операции входящие в это событие.

На рисунке 11.1 схематично изображена операция . Протекание операций во времени задается путем нумерации событий, причем номер начального события всегда меньше номера конечного события. Обозначим длительность операции через .

Правила построения сетевой модели

Правило 1. Каждая операция в сети представляется одной и только одной дугой (стрелкой). Ни одна операция не должна появляться в модели дважды.

Правило 2. Ни одна пара операций не должна определяться одинаковыми начальными и конечными событиями (рис. 11.2).

Возможность неоднозначного определения операций через события появляется в случае, когда две или большее количество операций допустимо выполнять одновременно.

В таких случаях между  и конечным (началь

ным) событием или между  и конечным (начальным) событием, вводится фиктивная операция, которая не требует ни затрат ресурсов ни времени.

На рис. 11.3 представлены все возможные варианты введения фиктивной операции. Фиктивная операция  изображена штриховой дугой.

В программе операции  и  должны непосредственно предшествовать , а операции  непосредственно предшествует только В (рис. 11.4).

Правило 3. При включении каждой операции в сетевую модель для обеспечения правильного упорядочения необходимо ответить на следующие вопросы:

а) Какие операции необходимо завершить непосредственно перед началом рассматриваемой операции?

б) Какие операции должны непосредственно следовать после завершения данной операции?

в) Какие операции могут выполняться одновременно с рассматриваемой операцией.

Пример 11.1

Построить сетевую модель, включающую операции: A, B, C, …, L, которая отображает следующие отношения упорядочения:

1. A, B, C – исходные операции программы, которые можно начинать одновременно.

2. A и B предшествуют D.

3. B предшествует E, F, H.

4. F и С предшествуют G.

5. E и H предшествуют I и J.

6. C, D, F и J предшествуют K.

7. K предшествует L.

8. I, G, L – завершающие операции программы.

Вариант сетевой модели представлен на рис. 11.5. Для реализации всех отношений упорядочения потребовалось ввести три фиктивных операции: .