Построение сетевого графика создания программного продукта
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Сетевое планирование (построение сетевого графика) позволяет установить перечень тех работ, от которых непосредственно зависит продолжительность создания программного продукта. Работы, не попавшие в этот перечень, являются определенным запасом во времени и ресурсах. Целями применения сетевых графиков являются разработка оптимального варианта плана создания ПП, обеспечивающего рациональную увязку во времени и пространстве выполняемых работ и наилучшее использование ресурсов, а также эффективное управление процессом реализации этого плана. В результате применения сетевого планирования сокращается продолжительность создания ПП, снижается его трудоемкость и себестоимость, растет производительность труда.

Необходимые краткие теоретические сведения для построения сетевого графика приведены в приложении 1.

 

Пример построения сетевого графика

Требуется спроектировать, изготовить и сдать в эксплуатацию программный продукт согласно полученному техническому заданию (ТЗ). Срок выполнения проекта равен 30 дней. Для этого необходимо выполнить следующий перечень  работ (табл.1). Продолжительность каждой работы (чел-дни), определяется экспертами.

 

Таблица 1 - Исходные данные для расчета

 

№ работы Перечень событий и работ Продолжительность работы, чел-дни
(0, 1) Составление и анализ ТЗ. 6
(0, 2) Определение общего перечня выпускаемых документов 3
(0, 5) Составление плана-графика разработки ПП 8
(1, 3) Разработка концепции электронного курса программного продукта 4
(1, 4) Согласование концепций электронного курса продукта с соисполнителями 4
(2, 4) Определение перечня документов предъявляемых на предварительные испытания 0
(2, 5) Концепции электронного курса разработаны 3
(3, 6) Проведение предварительных испытаний 13
(4, 6) Доработка и выпуск ПП 10
(4, 7) Окончательное согласование ПП с соисполнителями  5
(5, 7) Комплексная отладка ПП 4
(5, 8) Разработка функциональной структуры проведения эксперимента 5
(6, 9) Составление программы и выбор методики испытания электронного ПП 5
(6, 10) Система электронного программного продукта предъявлена на испытание 0
(7, 10) Испытание работы электронного программного продукта 7
(8, 11) Разработка и согласование электронного ПП, составление акта испытаний 7
(8, 12) Доработка рабочей документации по результатам испытаний 5
(9, 12) Доработка электронного курса по результатам испытаний 1
(10, 12) Доработка рабочей документации программного продукта 5
(11, 12) Сдача электронного ПП государственной комиссии 4
Итого   99

 

       Планирование НИР с применением сетевого метода ведется в следующем порядке:

1) составляется перечень событий и работ;

2) устанавливается топология сети;

3) строится сетевой график по теме;

4) определяется продолжительность работ;

5) рассчитываются параметры сетевого графика;

6) определяется продолжительность критического пути;

7) проводится анализ и оптимизация сетевого графика, если это необходимо.

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

На основании данных, представленных в таблице 1, необходимо построить сетевой график (рис.1). Требуется:

а) ввести обозначения вершин и рёбер;

б) построить дерево путей сетевого графика и найти по нему критический путь;

в) найти критический путь и резервы времени.

 

Пунктирными линиями на графике изображены фиктивные работы. Здесь они нужны для синхронизации работ (затраты времени и ресурсов на них равны 0). В других случаях фиктивные работы могут отражать отсрочки времени и ожидания (тогда при нулевых затратах ресурсов затраты времени ненулевые). Вершинами данного орграфа являются события; рёбрам соответствуют работы.

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

Для правильной нумерации событий нумерацию начинают с исходного события, которому даётся номер 0. Из исходного события 0 вычёркивают все следующие за ним работы, на оставшейся сети находят событие, которому не предшествует ни одна работа. Это событие получает номер 1. Затем вычёркивают события, следующие за событием 1, и на оставшейся части сети, вновь находят событие, которому не предшествует ни одна работа, ему присваивают номер 2, и так продолжается до завершающего события.

Фиктивные работы участвуют в процессе равноправно.

8
9
102
112
122
5
2
7
4
6
3
1
0
3
3
1
4
4
4
4
5
5
5
5
5
6
7
7
8
102
132

 

Рис.1 – Сетевой график выполнения работ

 

Обозначения вершин:

1-й слой содержит вершину 0;

2-й слой содержит вершины 1, 2;

3-й слой содержит вершины 3, 4, 5;

4-й слой содержит вершины 6, 7, 8;

5-й слой содержит вершины 9, 10, 11;

6-й слой содержит вершину 12.

 

б) При небольшом числе работ критические пути могут быть найдены перебором возможных путей сетевого графика.

29
22
16
24
24
18
19
18
20
22
28
26
25
27
12
12
12
12
12
12
12
12
12
12
12
12
12
12
11
11
10
10
10
10
10
10
10
9
9
9
8
8
7
7
7
7
6
6
6
5
5
4
4
3
2
1
0
18

Рис.2 - Дерево путей сетевого графика

 

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

1-й способ вычисления критического пути ("графический")

Совокупность возможных путей сетевого графика (всего их 14) соответствует дереву путей сетевого графика (рис.2).

- общее время выполнения работ равно, соответственно: 29, 28, 26, 25, 27, 19, 18, 20, 22, 22, 16, 24, 24, 18 дней.

Критическим (наибольшим) является путь, длительность которого максимальна и равна 29 дням, содержащий работы (0,1) , (1,3) , (3,6) , (6,9) , (9,12).

 

► 2-й способ вычисления критического пути ("табличный")

 

Вычислим и сведём в таблицу 2 временные параметры сетевого графика.

 

Таблица 2 - Временные параметры сетевого графика.

 

Номер

события

Сроки совершения события

Резерв времени,

С3 – с2

ранний поздний
1 2 3 4
0 0 0 0
1 6 6 0
2 3 9 6
3 10 10 0
4 10 12 2
5 8 12 4
6 23 23 0
7 15 17  2
8 13 17 4
9 28 28 0
10 23 24 1
11 20 25 5
12 29 29 0

 

Ранние сроки для событий:

0) 0 ,

1) 6 ,

2) 3,

3) 6+4=10,

4) max{3+0;6+4}=max{3;10}=10,

5) max{8;3+3}= max{8;6}=8,

6) max{10+13 ; 10+10}=max{23 ; 20}=23 ,

7) max{10+5 ; 8+4}=max{15 ; 12}=15 ,

8) 8+5=13,

9) 23+5 = 28 ,

10) max{23+0 ; 15+7}=max{23 ; 22}=23,

11) 13+7 = 20 ,

12) max{13+5 ; 28+1 ; 23+5 ; 20+4}=max{18 ; 29 ; 28 ; 24}=29 .

 

Поздние сроки для событий:

12) 29 (этот срок равен раннему сроку завершающего события),

11) 29−4 = 25,

10) 29−5 = 24

9) 29−1 = 28 ,

8) min{25−7 ; 29−5}=min{18 ; 24}=18 ,

7) 24−7 =17

6) min{28−5 ; 24−0}=min{23 ; 24}=23,

5) min{17−4 ; 17−5}=min{13 ; 12}=12 ,

4) min{23−10 ; 17−5}=min{13 ; 12}=12

3) 23−13=10 ,

2) min{12−0 ; 12−3}=min{12 ; 9}=9 ,

1) min{10−4 ; 14−4}=min{6 ; 8}=6 ,

0) min{6−6 ; 12−8; 9-3}=min{0; 4; 6}=0.

 

Резерв времени, например, для события 2 равный 9 – 3 = 6 означает, что время свершения события 2 может быть задержано на 6 единиц времени без увеличения общего срока выполнения проекта.

События, не имеющие резерва времени, образуют критический путь, содержащий работы (0,1) , (1,3) , (3,6) , (6,9) , (9,12). Его длительность равна 29.

 

в) Вычисление резерва времени для работ.

Различают четыре резерва времени:

Полный резерв времени - это количество времени, на которое можно перенести начало работ или увеличить продолжительность без изменения общего срока проекта.

Свободный резерв времени - максимальное время, на которое можно отсрочить начало или увеличить продолжительность работы, при условии, что все события наступают в ранние сроки.

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

Гарантийный резерв означает для исполнителя работы резерв времени, который он имеет, когда исполнители предшествующих работ заканчивают их в неудобные для него поздние допустимые сроки, но и он сдаёт свою работу в поздний срок.

 

Обычно ограничиваются расчётом полного и свободного резервов. Последовательность расчета полного и свободного резерва времени приведена в таблице 3.

    Для заполнения колонки "раннее начало" и "позднее окончание" используем результаты вычислений предыдущей таблицы - раннее начало работы соответствует раннему сроку события, с которого она начинается; позднее окончание работы соответствует позднему сроку события, которым она завершается.

Сроки раннего окончания работ вычисляются как сумма сроков раннего начала работ с продолжительностью соответствующих работ. Сроки позднего начала работ вычисляются как разность сроков позднего окончания работ и продолжительности соответствующих работ.

 

Таблица 3 - Расчёт полного и свободного резервов времени

 

Работа

 

Продолжительность, дни

Сроки совершения события, дни

Полный

резерв,

 

 

с5 – с3

Свободный резерв,

 

с2 (табл.2) – с3 – с2

раннее начало раннее окончание, с3 + с2 позднее начало,   с6 – с2 позднее окончание
1 2 3 4 5 6 7 8
(0, 1) 6 0 0+6=6 6‐6=0 6 0‐0=0 (к) 6‐0‐6=0
(0, 2) 3 0 0+3=3 9‐3=6 9 6‐0=6 3‐0‐3=0
(0, 5) 8 0 0+8=8 12‐8=4 12 4‐0=4 8‐0‐8=0
(1, 3) 4 6 6+4=10 10‐4=6 10 6‐6=0 (к) 10‐6‐4=0
(1, 4) 4 6 6+4=10 12‐4=8 12 8‐6=2 10‐6‐4=0
(2, 4) 0 3 3+0=3 12‐0=12 12 12‐3=9 10‐3‐0=7
(2, 5) 3 3 3+3=6 12‐3=9 12 9‐3=6 8‐3‐3=2
(3, 6) 13 10 10+13=23 23‐13=10 23 10‐10=0 (к) 23‐10‐13=0
(4, 6) 10 10 10+10=20 23‐10=13 23 13‐10=3 23‐10‐10=3
(4, 7) 5 10 10+5=15 17‐5=12 17 12‐10=2 15‐10‐5=0
(5, 7) 4 8 8+4=12 17‐4=13 17 13‐8=5 15‐8‐4=3
(5, 8) 5 8 8+5=13 17‐5=12 17 12‐8=4 13‐8‐5=0
(6, 9) 5 23 23+5=28 28‐5=23 28 23‐23=0 (к) 28‐23‐5=0
(6, 10) 0 23 23+0=23 24‐0=24 24 24‐23=1 23‐23‐0=0
(7, 10) 7 15 15+7=22 24‐7=17 24 17‐15=2 23‐15‐7=1
(8, 11) 7 13 13+7=20 24‐7=17 24 17‐13=4 20‐13‐7=0
(8, 12) 5 13 13+5=18 29‐5=24 29 24‐13=11 29‐13‐5=11
(9, 12) 1 28 28+1=29 29‐1=28 29 28‐28=0 (к) 29‐28‐1=0
(10, 12) 5 23 23+5=28 29‐5=24 29 24‐23=1 29‐23‐5=1
(11, 12) 4 20 20+4=24 29‐4=25 29 25‐20=5 29‐20‐4=5

 

Полный резерв времени работы вычисляем как разность сроков позднего начала работ и раннего срока события, с которого она начинается. Например, полный резерв времени для работы (0, 2) равен 6 единицам времени, т.е. срок выполнения данной работы можно увеличить на 6, при этом срок выполнения комплекса работ не изменится.

Свободный резерв времени работы вычисляем как разность раннего срока события, которым она завершается, раннего срока события, с которого она начинается, и продолжительности работы. Например, свободный резерв времени для работы (5, 7) равен 3 единицам времени, т.е. начало данной работы можно отсрочить на 3 или можно увеличить продолжительность данной работы на 3, при сохранении общего срока выполнения проекта; но без затрат резерва времени предшествующих ей работ.

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

    Разность между продолжительность критического пути Ткр и продолжительностью любого другого пути TL называется полным резервом времени пути L, т.е. RL= Ткр - TL. Этот резерв показывает, на сколько в сумме может быть увеличена продолжительность всех работ данного пути L, чтобы при этом не изменился общий срок окончания всех работ, т.е. Ткр.

Rп(i,j) показывает максимальное время, на которое может быть увеличена продолжительность работы (i,j) или отсрочено ее начало, чтобы продолжительность проходящего через нее максимального пути не превысила продолжительности критического пути. Важнейшее свойство полного резерва работы (i,j) заключается в том, что если его использовать частично или полностью, то уменьшится полный резерв у работ, лежащих с работой (i,j) на одних путях. Таким образом полный резерв времени принадлежит не одной данной работе (i,j), а всем работам, лежащим на путях, проходящим через эту работу.

Rс(i,j) показывает максимальное время, на которое можно увеличить продолжительность отдельной работы или отсрочить ее начало, не меняя ранних сроков начала последующих работ, при условии, что непосредственно предшествующее событие наступило в свой ранний срок. Использование свободного времени на одной из работ не меняет величины свободных резервов времени остальных работ сети.

    Конечным результатом выполняемых на сетевой модели расчетов является календарный график (Таха), который иногда называют графиком привязки.

График привязки отображает взаимосвязь выполняемых работ во времени и строится на основе данных о ранних сроках начала и окончания работ. Для удобства дальнейшей работы на этом графике могут быть указаны величины полных и свободных резервов работ. По вертикальной оси графика привязки откладываются коды работ, по горизонтальной оси - длительность работ (раннее начало и раннее окончание работ).

 

Таблица 4 - Исходные данные для построения графика привязки

 

№ работы Перечень событий и работ Продолжительность работы, чел-дни Кол-во исполнителей
1 2 3 4
(0, 1) Составление и анализ ТЗ. 6 программист 1
(0, 2) Определение общего перечня выпускаемых документов 3 руководитель проекта
(0, 5) Составление плана-графика разработки 8 программист 2
(1, 3) Разработка концепции электронного курса продукта 4 программист 1
(1, 4) Согласование концепций электронного курса продукта с соисполнителями 4 программист 4
(2, 4) Определение перечня документов предъявляемых на предварительные испытания 0  
(2, 5) Концепции электронного курса разработаны 3 руководитель проекта
(3, 6) Проведение предварительных испытаний 13 руководитель проекта
(4, 6) Доработка и выпуск программного продукта 10 программист 1
(4, 7) Окончательное согласование программного продукта с соисполнителями  5 программист 2
(5, 7) Комплексная отладка программного продукта 4 руководитель проекта
(5, 8) Разработка функциональной структуры проведения эксперимента 5 программист 3
(6, 9) Составление программы и выбор методики испытания электронного программного продукта 5 руководитель проекта
(6, 10) Система электронного программного продукта предъявлена на испытание 0  
(7, 10) Испытание работы электронного программного продукта 7 программист 2
(8, 11) Разработка и согласование электронного программного продукта, составление акта испытаний 7 программист 3
(8, 12) Доработка рабочей документации по результатам испытаний 5 программист 4
(9, 12) Доработка электронного курса по результатам ГИ 1 руководитель проекта
(10, 12) Доработка рабочей документации программного продукта 5 программист 1
(11, 12) Сдача электронного программного продукта ГК 4 программист 3
Итого   99  

 

11, 12                                     8 8 8 8              
10, 12                                             8 8 8 8 8    
9,12                                                         8
8,12                       8 8 8 8 8                          
8,11                       8 8 8 8 8 8 8                      
7,10                               8 8 8 8 8 8 8              
6,9                                               8 8 8 8 8  
5,8             8 8 8 8 8                                    
5,7             8 8 8 8                                      
4,7                     8 8 8 8 8                            
4,6                     8 8 8 8 8 8 8 8 8 8                  
3,6                     8 8 8 8 8 8 8 8 8 8 8 8 8            
2,5       8 8 8                                              
1,4             8 8 8 8                                      
1,3             8 8 8 8                                      
0,5 8 8 8 8 8 8 8 8                                          
0,2 8 8 8                                                    
0,1 8 8 8 8 8 8                                              
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

 

Рис.3 - График привязки по разработке проекта

 

График привязки можно построить без предварительного расчета ранних сроков начала и окончания всех работе, используя только данные о продолжительности работ. При этом необходимо помнить, что работа (i,j) может начать выполняться только после того как будут выполнены все предшествующие ей работы (k,j).

Построим график привязки для следующих исходных данных (табл.4), имея в виду, что число исполнителей должно быть не менее 99/29 = 3.4, то есть 4 человека. Для выполнения данных работ руководитель проекта планируется привлечь дополнительно несколько программистов.

На рисунке 3 представлен график привязки по разработке проекта, на которых представлено выполнение всего перечня работ (табл.4).

 

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

Из полученных данных следует, что выполнить проект можно только с привлечением пяти исполнителей. В таблице 5 показано, какие исполнители, и в каком объеме принимают участие в выполнении проекта.

 

Таблица 5 – Список исполнителей проекта

 

Рук.проекта

Программист 1

Программист 2

Программист 3

Программист 4

№ работы Прод. дни № работы Прод. дни № работы Прод. дни № работы Прод. дни № работы Прод. Дни (0, 2) 3 (0, 1) 6 (0, 5) 8         (2, 5) 3 (1, 3) 4 2 дня   (5, 8) 5 (1,4) 4 (5,7) 4 (4, 6) 10 (4, 7) 5 (8, 11) 7 (8,12) 5 (3,6) 13 2 дня   (7, 10) 7 (11,12) 4     (6, 9) 5 (10, 12) 5             (9, 12) 1                 Итого 29   25   20   16   9

 

Анализируя, представленные в табл.5 данные, можно сделать выводы, что работа программистов над проектом является оптимальной. Так, программисты 1 и 2 имеются свободные промежутки времени (по 2 дня), в течение которых они не работают, или привлекаются к выполнению других, не связанных с данным проектом работ. Программисты 3 и 4 приступают к работе не с самого начала проекта. Имеется и ряд других недостатков. Все это указывает на необходимость проведения оптимизации проекта.

Дата: 2019-05-29, просмотров: 392.