Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР1.rtf
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
627 Кб
Скачать
☆

Контрольные вопросы

  1. Какие методы применяются для структурирования программ?

  2. В каких случаях применение метода дублирования кодов эффективно?

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

  4. Как формулируется теорема о структурировании программ?

Лабораторная работа №2

ПЛАНИРОВАНИЕ ОРГАНИЗАЦИИ РАБОТ НАД ПРОЕКТОМ ПРОГРАММ

Цель работы: приобрести практические навыки в применении методов сетевого планирования разработки крупных программных систем в заданные сроки и с оценкой необходимых ресурсов.

Методические указания

Современная наука об управлении программными проектами сложна и динамично развивается. Целью этого научного направления является создание подсистемы планирования, которая бы своевременно напоминала разработчику о том, что предстоит сделать в проекте; своевременно предупреждала его об окончании сроков, отведенных на данную работу; следила за его руководителем, чтобы он не переполнял заранее оговоренное число заданий на исполнение и каждое задание оформлял в строгом соответствии с существующей договорен­ностью; чтобы сроки согласовывались, а не назначались, работы распределялись поровну в коллективе, система поощрения была обьективной и соответсвовала выполняемой работе; чтобы система блокировала обращение "через голову" к подчиненным; чтобы исходя из существующего опыта, система подсказывала, обучала, следила и т.д. И все это (или почти все) автоматически благодаря анализу самой системой той информации, которая циркулирует в САПР ПО. Многие перечисленные функции планирования реализованы в современных CASE-системах проектирования программ (Computer Aided Software Engineering): EPOS (Германия), CASE. Аналитик (Россия) и т.д.

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

Рассмотрим пример составления рационального сетевого графика изго­товления программного комплекса Диспетчер, модульная структура которого приведена на рисунке 2.1.

Рисунок 2.1 - Схема иерархии программы Диспетчер.

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

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

Диаграмма работ при изготовлении модулей комплекса Диспетчер, напри­мер, по иерархическому способу "снизу-вверх" будет иметь следующий вид:

2.1

3.1 2.3 1.1

Рисунок 2.2 - Диаграмма восходящего проектирования программы

Исходные данные для сетевого планирования готовятся опытными програм­мистами, которые должны на основе опыта, статистических данных и экспертных оценок точно или приближенно оценить длительность каждой k-ой работы (Tk-за­траты на проектирование, кодирование и тестирование модуля, дни), интенсив­ность разработки модуля (Qk,человек/день), средства на выполнение работ (Ck, крб.) и т.д.

По этим исходным данным составляется сетевой график, придерживаясь следующего порядка действий:

  • проводится упорядочение (ранжирование) работ;

  • cортируются работы по убыванию веса работ;

  • для каждой работы находится множество непосредственно предшествую­щих работ ;

  • для каждой работы находится множество непосредственно следующих ра­бот ;

  • определяется наиболее ранний срок окончания каждой работы

;

  • определяется время завершения всего комплекса работ ;

  • определяется поздний срок окончания каждой работы

, где ;

  • вычисляются резервы времени для каждой работы ;

  • вычисляются ранние начала каждой работы .

Результаты расчета сетевого графика проектирования программы Диспет­чер по рассмотренной методике приведены в табл.1.

Поскольку все работы на рисунке 2.3 начинаются в наиболее ранние возможные сроки, то распределение ресурсов по дням получается очень неравномерным (в первый день работает 5 человек, тогда как в последующие дни требуется всего 1 человек). Распределение ресурсов можно сделать более равномерным, если сместить начало некоторых работ, имеющих резервы времени, на более поздний срок в пределах допустимого. После выполнения процедуры смещения начала работ 2.2 и 2.4 получим скорректированный сетевой график (рисунок 2.4).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]