Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Проектирование и разработка информационных систем. Учебное пособие для СПО

.pdf
Скачиваний:
4
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
91
ность проекта будет максимально большой. Если выполнять их параллельно, то она будет минимальна. Параллельное выполне­ние идеально подходит для тех работ, которые никак не зависят друг от друга. Но оно возможно далеко не для всех работ. Пото­му что между работами (или действиями) существуют зависимо­сти. Прежде, чем строить график работ надо определить типы зависимостей между ними.
Зависимости можно классифицировать на управляемые ресурсами и на управляемые действиями. Под ресурсами в слу­чае разработки ПО в основном понимается персонал (команда разработчиков, например).
Часто определенное действие не может быть начато пото­му, что работник, который должен его выполнять, занят работой над другим действием. Аналогично часто действие не может быть начато, пока не закончены какие-то другие действия, кото­рые подготавливают условия для начала данного действия. Типы зависимостей проиллюстрированы на рис. 3.4–3.7.
Рис. 3.4. Взаимосвязь финиш — старт
Рис. 3.5. Взаимосвязь старт — старт
92
Рис. 3.6. Взаимосвязь финиш – финиш
Рис. 3.7. Взаимосвязь старт — финиш
Реальные зависимости, конечно, не так просты. У них
могут быть и дополнительные характеристики, например, все перечисленные типы зависимостей могут быть запаздывающими и опережающими. На отставание обычно указывает положи­тельное число, а на опережение — отрицательное. На рис. 3.8 демонстрируется действие В, которое выполняется через 10 дней после завершения действия А, а действие Б может начать вы­полняться немедленно.
Рис. 3.8. Запаздывающая взаимосвязь
93
Рабочий график
Рабочий график — один из элементов планирования. С его помощью можно избежать неопределенности и продуктивно распределить рабочее время. Обычно рабочий график в процессе работы над проектом часто обновляется.
Он строится на базе ППР, диаграмм зависимостей работ и с учетом наличия ресурсов. Наиболее распространены рабочие графики в виде диаграмм Ганта и сетевых диаграмм.
Название
задачи
Ресурсы
2010
2011
I
II
III
IV I II
III
IV
Фаза 1 — подготовка
1.1…
1.2…
1.3…
Фаза 2 — развитие
2.1…
2.2…
2.3…
…
Фаза N … N.M Завершить проект
Рис. 3.9. Диаграмма Ганта
Диаграмма Ганта. Чаще всего для представления графика работ используется диаграмма Ганта, которую еще иногда назы­вают гистограммой. Она была изобретена Генри Гантом во вре­мя Первой мировой войны и первоначально использовалась для составления графиков отправки солдат и техники из тыла на побе­режье США, откуда они должны были переправляться в Европу.
94
Фактически этот вид диаграмм (рис. 3.9) хорошо известен даже тем, кто никогда не сталкивался с разработкой каких-либо проектов.
На простой диаграмме Ганта слева перечислены производ­ственные действия (они должны быть отсортированы по дате начала или по какому-либо другому параметру), а справа — по­лоски, длина которых соответствует длительности выполнения каждого этапа.
Сетевые диаграммы. Очень распространены методы се­тевого планирования и управления. Они основаны на сетевых моделях, допускающих использование современной вычисли­тельной техники, позволяющих быстро определить последствия различных вариантов управляющих воздействий и находить наилучшие из них. Существует несколько различных методов построения сетевых диаграмм:
– GERT-метод графической оценки и обзора; PERT — ме­тод программной оценки и обзора; СРМ — метод критического пути;
– PDM-метод предшествования;
– ADM-метод стрелочных диаграмм.
Рассмотрим метод СРМ. Он был изобретен в 1950-х годах. Под методом CPM подразумевается общий процесс анализа с использованием сетевых диаграмм. Он наиболее простой, так как в нем предполагается, что фиксирована как продолжитель­ность действий, так и логика определения приоритетов.
В общем виде сетевая диаграмма представляет собой набор узлов и стрелок. В ней (рис. 3.10) содержится следующая информация:
– название действия или идентификатор узла (при этом ча­сто используется код ППР);
– время наискорейшего начала производственного этапа, которое определяется на основании времени завершения преды­дущего действия или какого-либо другого ограничения (напри­мер, даты, фиксированной в проекте);
– время быстрейшего завершения действия;
– продолжительность этапа (количество временных пери­одов, необходимых для выполнения работы);
95
– максимально возможный срок, когда действие может быть завершено, не затронув стадию следующего действия.
Рис. 3.10. Представление узла на сетевой диаграмме
На сетевых диаграммах (рис. 3.11) хорошо прослежива-
ется старшинство узлов. В этом и заключается их основное пре­имущество.
Рис. 3.11. Сетевая диаграмма
Можно легко проследить порядок совершения действий слева направо и увидеть взаимосвязь между различными после­довательностями узлов. Подобные диаграммы широко исполь-
96
зуются при разработке проектных планов «с нуля», когда отсут­ствует даже шаблон структуры ППР.
Недостаток этих диаграмм аналогичен недостатку диа­грамм Ганта и других графических представлений: в больших проектах с огромным количеством действий они становятся очень громоздкими и неудобочитаемыми. Тем не менее, сетевые диаграммы очень удобны на начальном этапе планирования, а также при разработке ППР.
3.2.3. Прогнозирование
ТЗ включает в том числе ряд показателей, которые нельзя измерить для проекта, разработка которого еще только предсто­ит, а можно только прогнозировать. Основой для прогноза явля­ется опыт экспертов и (или) метрические данные об аналогич­ных проектах, которые уже разработаны.
Количественные характеристики
Основные количественные показатели проекта:
1) размер кода (измеряется количестве строк кода LOC —
Lines Of Codes);
2) трудозатраты (измеряется в чел. ч., чел. мес., чел. год);
3) стоимость, то есть размер необходимого финансирова-
ния (в рублях, долларах, евро);
4) длительность работы над проектом (в днях, месяцах, го-
дах).
Прогнозирование показателей 2–4 базируется на предпо­лагаемом размере проектируемой ИС.
В свою очередь, размер ИС оценивается экспертами на ос­новании как опыта собственных разработок, так и метрических данных о уже разработанных ИС. Эти оценки предваряются со­ставлением пооперационного перечня работ (ППР). На рис. 3.12 показана последовательность прогнозирования основных пара­метров проекта.
97
Рис. 3.12. Последовательность оценки
количественных характеристик проекта
Итак, размер ПО есть та отправная точка, от которой про­изводятся остальные прогнозы базовых количественных харак­теристик проекта. Основой прогноза размера являются метриче­ские данные. Метрические данные — это разнообразные сведе­ния о ранее разработанных системах, как минимум, об их разме­рах, стоимости, трудоемкости, времени разработки.
Желательно сохранять сведения о допущенных при разра­ботке ошибках, а именно, на каком этапе ошибка допущена, на каком выявлена причина ее возникновения, стоимость ее устра­нения, время, требуемое на устранение, и другие сведения.
Как эксперты, так и разработчики используют метриче­ские сведения, и чем большим объемом таковых они располага­ют, тем выше будет точность их оценки.
При планировании строительства Бруклинского моста точность оценки по стоимости и времени разработки была ±1 %. При прогнозировании затрат и времени разработки ПО началь­ное планирование не может быть точнее более чем в четыре ра­за. Причина этого в том, что мосты человечество строит не одну тысячу лет, а программирует от силы лет 50, и, значит, накоп­ленные метрические данные по строительству мостов несопо­ставимы с данными о программных продуктах.
98
Тем не менее оценки производить необходимо, так как без предварительных оценок не будет производиться финансирова­ние работ.
Для повышения точности экспертных оценок можно ис­пользовать три оценки, то есть эксперт дает оценку с его точки зрения:
– максимальную;
– минимальную;
– реальную.
Например, прогнозируемая оценка:
Так как исходный код может быть в разных языках про­граммирования, для учета сравнительной сложности работ вве­дена единица SLOC, то есть количество строк в базовом Assembler(e) (табл. 3.4).
Таблица 3.4
Соответствие LOC и SLOC для разных языков
программирования
Язык
SLOC (Basic
Assembler)
Средний показатель SLOC
на 1 функциональную точку
Basic Assembler 1 320
С \ C++
1,5 \ 6
320 \ 53
Basic
3
107
FORTRAN 3 105–106
PROLOG 5 64
JAVA
6
53
Pascal \ DELPHI
3,5 \ 11
91 \ 29
Языки 4 поколения
16
20
Языки б/д SQL
25
13–16
EXCEL (языки электронных таблиц)
50
6
99
При подсчете LOC используются правила:
1) строка кода содержит только один оператор;
2) учитываются все выполняемые операторы;
3) определение данных учитывается один раз;
4) не учитывается отладочный (временный) код.
Зная примерный размер проекта, можно сделать прибли­зительные оценки его базовых количественных характеристик. Все они носят эмпирический характер, то есть получены на базе анализа опыта уже состоявшихся разработок.
Для примера рассмотрим оценку трудозатрат:
Трудозатраты = а (размере)b,
где a, b — эмпирические константы.
Собственно, формула не содержит других переменных, кроме «размера кода», что может показаться странным, ведь каждому, имеющему опыт программирования хотя бы в рамках школьного курса информатики, ясно, что создание разных по сложности программ требует разных усилий. Но дело в том, что влияние сложности проекта учтено в значениях констант, то есть a и b зависят от сложности проекта.
Рассмотрим, как сложность проекта влияет на вычисляе­мые значения на примере.
Пример. Для простого проекта, размер которого составля- ет 200 kLOC, — а = 2,4, b = 1,05, и, значит:
Трудозатраты = 2,4(200)
1,05
= 2,4260,66 = 626 чел. мес.
Но если проект очень сложный, то для него а = 3,6, b = 1,2, и, значит, при том же размере в 200 kLOC трудозатраты возрас­тают в 3,3 раза:
Трудозатраты = 3,6(200)
1,2
= 2077 чел. мес.
Технико-экономическое обоснование (ТЭО)
ТЭО есть анализ, расчет, оценка экономической целесооб­разности осуществления предлагаемого проекта. ТЭО основано
100
на сопоставительной оценке затрат и результатов, установлении эффективности использования, срока окупаемости вложений.
ТЭО содержит расчет стоимости разработки ПО с момента получения первого варианта ТЗ и заканчивая оформлением до­кументации и сдачей проекта.
В ТЭО должна быть обоснована экономическая эффектив­ность разработки.
Кроме этого, ТЭО может включать:
– характеристику исходных данных о предметной области;
– обоснование цели создания ЭИС;
– обоснование автоматизируемых подразделений, ком­плекса автоматизируемых задач, выбора комплекса технических средств, программного и информационного обеспечения;
– разработку перечня организационно-технических меро­приятий по проектированию системы;
– выводы о техническом уровне проекта и возможности дальнейших разработок.
На этапе разработки ТЗ проводятся предварительные рас­четы по ТЭО, которое является одним из разделов ТЗ. Расчеты потом уточняются на стадиях эскизного, технического и рабоче­го проектирования.
3.3. Этап проектирования (синтез системы)
Проектирование — следующий после системного анализа этап. Смысл этого этапа в общих чертах описан в п. 1.2. и табл. 3.1. На этом этапе сначала создается эскизный проект, цель которого — разработать архитектуру проекта.
Как правило, разрабатываются четыре архитектурные мо­дели.
1. Статическая структурная модель, в которой представ-
лены подсистемы или компоненты, разрабатываемые в даль­нейшем независимо.
2. Динамическая модель процессов, в которой представ-
лена организация процессов во время работы системы.
3. Интерфейсная модель, которая определяет сервисы,
предоставляемые каждой подсистемой через общий интерфейс.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]