Пример разработки проекта Семь задач Исходные данные Задано 7 задач одного уровня иерархии. Задачи обезличены, т.е. не именованы. Вектор продолжительности задач 1 2 3 4 5 6 10 17 5 18 6 7 6 10 Матрица связности задач 1 1 2 3 4 2 3 4 5 6 7 1 1 1 1 1 1 5 6 7 1 Матрица назначения ресурсов ресурс 1 2 3 4 1 2 3 4 5 6 7 4 5 1 Содержание контрольной работы: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Разработка графовой модели проекта Разработка линейной модели проекта Вычисление длительности проекта Построение ресурсной гистограммы Выводы Выравнивание ресурсов Построение ресурсной гистограммы Определение продолжительности проекта Выводы Построение табличной модели проекта 1. Разработка графовой модели проекта на основе матрицы связности 4 2 5 1 3 6 7 2. Построение линейного графика проекта (временной диаграммы) на основе электронной таблицы и с учетом связности задач 10 7 6 6 18 5 17 4 10 3 6 2 5 1 0 t 3. Выявление критических задач и общей продолжительности проекта. Критический путь: { 4, 5 } Продолжительность проекта = 17 + 18 = 35 10 7 6 6 18 5 17 4 10 3 6 2 5 1 0 t 4. Графическое отображение загруженности каждого ресурса во времени (ресурс-гистограмма) 10 7 6 6 18 5 17 4 10 3 6 2 5 1 t 0 5 -100% ресурс 5 9 7 9 9 5 4 1 2 3 4 4 5 1 5. Выводы 1. Проект не может быть выполнен в следствие перегрузки ресурса. 2. Требуется сглаживание ресурсов на участках совместного выполнения работ: {2, 3 и 4}, {3 и 4}, {4 и 6}, {5 и 6}, так как на соответствующих участках выявлены потребности в ресурсе (9, 7, 9 и 9 человек), превышающие возможности (5 человек) 6. Сглаживание ресурсов Процедура выравнивания ресурсов представляет собой разработку нового варианта проекта, начиная с линейной модели. При этом необходимо учесть, что исходные данные должны оставаться неизменными (длительности и логические связи задач). t В нашем случае мы принимаем также условие, при котором назначение ресурса также остается неизменным. Т. е. сглаживание ресурса в нашем примере мы будем обеспечивать только путем распараллеливания задач, для которых наблюдается перегрузка. При этом приоритетным должно быть выполнение смещения задач в рамках их резервов. Чтобы не нарушились связи, выравнивание выполняется путем смещения отдельных задач вправо. И так,1 шаг. При одновременном выполнении задач 1 и 4, перегрузки ресурса не наблюдается, следовательно, мы эти задачи можем оставить без изменения: Задачи 2, 3 и 4 одновременно выполнить невозможно – потребности в ресурсе составляют 9 человек. Если попытаться оставить совмещенными с 4-ой задачей одну из двух: 2-ую либо 3-ью, то это окажется невозможным, т.к. приведет к перегрузкам: совмещение 2-ой и 4-ой задач потребует 2 + 4 = 6 человек; совмещение 3-ей и 4-ой задач потребует 3 + 4 = 7 человек. Следовательно, ни одна из задач 2 и 3 не может выполняться одновременно с 4-ой задачей. Они обе должны быть смещены вправо и начать их можно после 4-ой задачи. А вот одновременное выполнение задач 2 и 3 допустимо. Это потребует 2 + 3 = 5 человек. Встает вопрос, когда начинать 5-ую и 6-ую задачи? В исходном варианте проекта 5-ая задача начиналась после 4-ой задачи, а 6-ая задача выполнялась после 3-ей задачи. Теперь они не могут остаться в этих позициях. Поскольку в этом случае 5-ая задача будет совмещена с задачами 2 и (или) 3. А это приведет к перегрузкам: 2 человека на 2-ую задачу + 4 человека на 5-ую задачу = 6 человек; 3 человека на 3-ью задачу + 4 человека на 5-ую задачу = 7 человек. Следовательно, 5-ую задачу можно начать после завершения 2-ой и 3-ей задач, причем после момента завершения более поздней из них, т.е. после 3-ей задачи. Понятно, что задачи 5 и 6 параллельно выполняться не могут. Это совмещение приведет к перегрузке ресурса: 4 человека на 5-ую задачу + 5 человек на 6-ую задачу = 9 человек. Встает вопрос, какую же из двух задач – 5-ую или 6-ую – поставить непосредственно после 3-ей задачи? Согласно логическим связям эти задачи не зависимы друг от друга, и в принципе после 3-ей задачи мы могли бы поставить их в любой последовательности. Таким образом, получаем два различных варианта распределения задач: 7 7 6 6 5 5 4 4 3 3 2 2 1 1 Прежде, чем принимать окончательное решение, следует сделать прогноз относительно размещения 7-ой задачи. Согласно заданным логическим связям, начать 7-ую можно только по окончании 6-ой задачи. В первом варианте 7-ая задача будет завершающей задачей всего проекта. Во втором варианте она пойдет параллельно с 5-ой задачей. При этом требования по ресурсу нас вполне устраивают: 4 человека на 5-ую задачу + 1 человек на 7-ую задачу = 5 человек. Таким образом, окончательный вариант проекта представляет собой следующую модель: 7 6 5 4 3 2 1 7. Графическое отображение загруженности ресурса во времени (после сглаживания) 7 6 5 4 3 2 1 t 5 -100% ресурс 5 4 5 3 5 5 1 2 3 4 4 5 1 4 8. Определение критического пути и реального срока выполнения проекта. Критический путь: { 4, 3, 6, 5 } Продолжительность проекта = 17 + 10 + 6 + 18 = 51 7 6 6 18 5 17 4 10 3 2 1 t 9. Выводы 1. Проект реализуем, т.к. перегрузка по ресурсу устранена. 2. Общая продолжительность проекта увеличилась на 16 единиц (с 35-ти до 51). 10. Разработка табличной модели проекта Придумать наименование каждой из семи функциональных задач, согласуясь с определенной предметной областью, а также содержанием матрицы связности и вектора продолжительности контрольного задания. Тема: «Разработка программного продукта» № п/п 1 2 3 4 5 6 7 Наименование задач Изучение предметной области Разработка математической модели Описание исходных данных Изучение ППП Разработка программного модуля Подготовка рабочей документации Разработка инструкции пользователя Продол Предше житель ствующ ность ие задач задачи 5 Ресурсы 1 6 1 2 10 17 1 3 4 18 2,4 4 6 2,3 5 10 6 1 На этом разработка проекта закончена!