Главная страница
Навигация по странице:

  • Функциональный тип Сложность Низкая Средняя Высокая

  • Тип ПО Размер, FP LOC на одну FP

  • 4. ТЕХНОЛОГИЯ RAD 4.1. Особенности технологии RAD

  • 4.2. Разновидности прототипов ИС

  • Горизонтальные прототипы

  • БИБЛИОГРАФИЧЕСКИЙ СПИСОК 1. Гультяев, А.К.

  • Мармел, Э.

  • Учебное электронное текстовое издание

  • УПРАВЛЕНИЕ ПРОЕКТАМИ ПРИ РАЗРАБОТКЕ ИНФОРМАЦИОННЫХ СИСТЕМ Редактор А.В. Поротникова Компьютерная верстка

  • 620002, Екатеринбург, ул. Мира, 19 Информационный портал УрФУ http://www.ustu.ru

  • Солонин. Управление проектами при разработке информационных систем


    Скачать 329.84 Kb.
    НазваниеУправление проектами при разработке информационных систем
    АнкорСолонин
    Дата04.02.2021
    Размер329.84 Kb.
    Формат файлаpdf
    Имя файлаSolonin.pdf
    ТипМетодические рекомендации
    #173835
    страница3 из 3
    1   2   3
    3.3. Оценка трудоемкости создания ПО
    Для организации работ над проектом очень важно уметь оценить его тру- доемкость. Задачи, решаемые при оценке трудоемкости:
    1) разработка бюджета проекта;
    2) оценка ресурсов и степени риска (масштаб проекта, количество и ква- лификация разработчиков, возможность использования готовых решений, качество инструментальных средств и др.);
    3) планирование проекта (распределение расходов финансов и других ресурсов по компонентам и этапам проекта);
    4) анализ затрат на улучшение качества ПО (оценка целесообразности совершенствования средств и методов разработки).
    При определении трудоемкости проекта одинаково недопустимы как не- дооценка, так и переоценка стоимости, времени и других необходимых ресур- сов. Недооценка влечет за собой недостаточную численность проектной коман- ды, нарушение договорных сроков, низкое качество продукта. С другой сторо- ны, переоценка ведет к удорожанию проекта, т.к. при выделении ресурсов сверх необходимого они все равно будут потрачены.
    Основные методы оценки трудоемкости:
    1. Статистическое моделирование. Метод основан на статистическом анализе данных о ранее выполненных проектах, при этом определяется зависи- мость трудоемкости проекта от какого-нибудь количественного показателя (на- пример, размера программного кода). Далее этот показатель оценивается для данного проекта, после чего прогнозируется трудоемкость.
    2. Экспертные оценки. Проводится опрос нескольких экспертов, знаю- щих область применения разрабатываемого ПО. Каждый из них дает свою оценку трудоемкости. Потом все оценки сравниваются и обсуждаются до тех пор, пока не будет выработана единая оценка трудоемкости.
    3. Оценка по аналогии. Метод основан на сравнении планируемого про- екта с предыдущими проектами, имеющими сходные характеристики. Могут вырабатываться три оценки: оптимистическая, пессимистическая и средняя.

    27
    Существуют и другие методы. В целом большинство моделей оценки трудоемкости использует пять основных параметров:
    1) размер конечного продукта (для вновь создаваемых компонентов);
    2) особенности организации процесса разработки (наличие формализо- ванных процедур, документирование, разделение функций и др.);
    3) возможности персонала, участвующего в разработке ПО (квалифика- ция и стабильность коллектива и пр.);
    4) среда разработки проекта, которая включает инструментальные сред- ства и адекватные методики ведения проекта;
    5) требуемое качество продукта, особенно в плане надежности, произво- дительности и адаптируемости.
    Наиболее важный фактор из перечисленных – размер конечного продук- та. Основными единицами измерения размера ПО являются:
    1) количество строк кода (LOC – Lines of Code);
    2) количество функциональных точек (FP – Function Points).
    Количество строк кода – исторически самая первая и распространенная единица измерения. Ее главный недостаток – неспособность учесть особенно- сти языка и среды программирования. Например, как оценить в строках кода действия разработчика по созданию экранной формы методами визуального конструирования?
    Определение числа функциональных точек является методом оценки раз- мера ПО, не зависящим от технологии и языка программирования. В основу метода положена оценка функциональности разрабатываемой системы. Функ- циональность определяется на основе выявления и подсчета функциональных типов – групп взаимосвязанных данных, используемых системой, а также эле- ментарных процессов, связанных с вводом и выводом данных.
    К функциональным типам относятся (рис. 10):
    1. Внутренний логический файл (ILF, Internal Logical File) – именован- ная совокупность данных, поддерживаемая изнутри приложения.

    28 2. Внешний интерфейсный файл (EIF, External Interface File) – имено- ванная совокупность данных, передаваемых другому приложению или полу- чаемых из него.
    3. Входной элемент приложения (EI, External Input) – элементарный процесс, связанный с обработкой входной информации – документа или экран- ной формы.
    4. Выходной элемент приложения (EO, External Output) – элементарный процесс, связанный с обработкой выходной информации – отчета, документа или экранной формы.
    5. Внешний запрос (EQ, External Query) – элементарный процесс, со- стоящий из комбинации запрос/ответ, не связанный с вычислением или обнов- лением ILF.
    Рис. 10. Функциональные типы
    Для каждого функционального типа определяется сложность (например, по количеству атрибутов объектов), затем подсчитывается количество функ- циональных точек по всем типам и вводится поправка на сложность системы.
    Количество функциональных точек UFP (Unadjusted Function Points) оп- ределяется в соответствии с табл. 4. вывод
    Пользо- ватель
    Бизнес- процес- сы
    Приложение ввод запрос внутренний файл внешний файл

    29
    Таблица 4
    Функциональный
    тип
    Сложность
    Низкая
    Средняя
    Высокая
    ILF 7 10 15
    EIF 5 7
    10
    EI 3 4
    6
    EO 4 5
    7
    EQ 3 4
    6
    В результате получается суммарная сложность элементов системы.
    Сложность самой системы оценивается поправочным коэффициентом VAF
    (Value Adjusted Factor), который зависит от 14 общих характеристик системы
    (GSC, General System Characteristics) и вычисляется по формуле:
    VAF = (0,65 + sum(GSC)
    ⋅ 0,01).
    К числу GSC относятся сложность коммуникации данных, наличие рас- пределенной обработки, величина производительности, эффективность работы конечных пользователей и т.д. Каждая характеристика оценивается в баллах от
    0 до 5.
    Итоговое количество функциональных точек AFP (Adjusted Function
    Points) определяется формулой:
    AFP = UFP
    ⋅ VAF.
    AFP можно перевести в LOC с учетом среднестатистических данных табл. 5.

    30
    Таблица 5
    Тип ПО
    Размер,
    FP
    LOC на одну
    FP
    Текстовые процессоры 3 500 125
    Электронные таблицы 3 500 125
    ПО баз данных 7 500 125
    Крупные бизнес-приложения 10 000 105
    Операционный системы 75 000 150
    Системы масштаба предприятия 150 000 125
    Крупные оборонные системы 250 000 100
    Окончательные расчеты трудоемкости основываются на моделях COCO-
    MO (constructive cost model) и COCOMO II, применяемых для итерационных жизненных циклов ПО. Среднестатистическая производительность труда одно- го программиста составляет около 3 000 строк кода в год и существенно не ме- няется в течение многих лет.
    На реализацию проекта размером в одну функциональную точку требует- ся один день, и они всегда заканчиваются успешно. Таковы небольшие утилиты для временных нужд.
    Объем в 10 ФТ – это типичный объем небольших приложений и дополне- ний, вносимых в готовые системы. Здесь требуется до одного месяца работ, ко- торые также заканчиваются успешно.
    Объем в 100 ФТ близок к пределу возможностей программиста-одиночки.
    Проект доводится до конца в срок до 6 месяцев при успешности в 85 % случаев.
    Объем проекта в 1000 ФТ характерен для большинства сегодняшних коммерческих настольных и клиент-серверных приложений. Заметную долю общего объема работ начинает занимать документирование. Для реализации проекта нужна группа примерно из 10 человек, включая программистов, поста- новщиков, специалистов по тестированию, и около одного года работы. Прова- ливается 15 % проектов при работе группы и 65 % попыток программистов-

    31
    одиночек. В 20 % случаев не удается уложиться в сроки, в 25 % проектов отме- чается перерасход средств.
    Для проекта в 10 000 ФТ требуется около 100 разработчиков. Работы длятся от 1,5 до 5 лет, при этом запланированные сроки чаще всего не выдер- живаются. Важнейшую роль начинает играть технология тестирования. До
    50 % проектов заканчиваются неудачей.
    Объем в 100 000 ФТ на сегодня близок к пределу возможностей создания информационных систем. Это объем современных ОС, таких как Microsoft
    Windows, и крупнейших военных систем. На их создание уходит 5–8 лет. Над проектом трудятся сотни разработчиков, иногда из разных стран. В закончен- ных системах остается много ошибок. До 65 % проектов завершаются неудач- но. Во всех успешных проектах используются системы управления конфигура-
    цией. Управление конфигурацией ПО предполагает применение администра- тивных и технических процедур на всем ЖЦ ПО для определения состояния компонентов ПО, управления модификациями (версиями) ПО, обеспечения полноты, совместимости и корректности компонентов ПО.

    32
    4. ТЕХНОЛОГИЯ RAD
    4.1. Особенности технологии RAD
    Технология RAD (Rapid Application Development) является примером спиральной модели жизненного цикла ИС. Согласно этой модели, основные стадии и этапы жизненного цикла (ЖЦ) проходятся многократно, с постепен- ным усовершенствованием проекта и самой системы. Технология RAD обеспе- чивает быстрое построение ИС с привлечением пользователей к разработке.
    Она применима для систем средней сложности, обладающих элементами но- визны. Для данной технологии характерно перенесение основных объемов ра- бот с предпроектной стадии на стадию проектирования. Представители заказ- чика получают возможность контролировать процесс создания системы, опера- тивно влиять на состав и реализацию ее функций.
    Основные принципы RAD заключаются в следующих требованиях:
    1. Использование прототипирования, позволяющего полнее выяснить потребности пользователей.
    2. Вовлечение пользователей в процесс разработки системы.
    3. Разработка приложений итерациями, многократное возвращение к бо- лее ранним этапам ЖЦ.
    4. Необязательность полного завершения работ на одном этапе ЖЦ для начала работ на следующем этапе. При этом пропущенные работы можно вы- полнить впоследствии. Переход к следующему этапу осуществляется в соответ- ствии с планом, даже если не вся запланированная работа закончена. План со- ставляется на основе статистических данных, полученных в предыдущих про- ектах.
    5. Средства управления проектами являются важным элементом техно- логии RAD. Они применяются для определения состава и объема работ, кон- троля над ходом работ и пр.
    6. Высокая степень параллельности работ.
    7. Повторное использование частей проекта.

    33 8. Применение CASE-средств, обеспечивающих техническую целост- ность проекта на всех этапах проектирования; использование генераторов (мас- теров) для ускорения работ.
    9. Применение средств управления конфигурациями, облегчающее вне- сение изменений в проект и сопровождение готовой системы.
    10. Тестирование и развитие проекта, осуществляемые одновременно с разработкой нескольких версий прототипа.
    Жизненный цикл ИС в соответствии с RAD (рис. 11) состоит из много- кратно повторяемых стадий:
    1) анализ требований к системе и постановка задачи;
    2) проектирование прототипа;
    3) доработка прототипа;
    4) реализация и внедрение.
    Рис. 11. Технологическая сеть проектирования на основе RAD
    На рисунке обозначены:
    Д1 – техническое задание на разработку;
    Д2 – описание предметной области;
    Анализ и поста- новки задачи
    Д1
    Д2
    Д3
    U1
    G1
    Разработка системы- прототипа
    Демонстрация работы прото- типа
    Доработка прототипа
    Разработка но- вой постановки задачи
    Разработка приложения
    Д4
    G2
    Д5
    U1
    Д6
    U2
    G3

    34
    Д3 – постановка задачи;
    U1 – универсум (т.е. множество) средств RAD;
    G1 – приложение-прототип;
    Д4 – результаты работы прототипа при демонстрации;
    Д5 – замечания и уточненные требования;
    G2 – доработанный прототип;
    Д6 – новая постановка задачи;
    U2 – универсум средств разработки приложений;
    G3 – готовое приложение.
    4.2. Разновидности прототипов ИС
    Создание прототипов программного обеспечения (ПО) делает требования к системе более реальными, позволяя уточнить исходный вариант. Прототипы предоставляют пользователям экспериментальную модель новой системы, ак- тивизируя обсуждение требований. Обсуждение прототипов на ранних стадиях процесса разработки помогает заинтересованным в проекте лицам прийти к общему пониманию требований к системе, что уменьшает риск создания нека- чественного проекта.
    Прототип ПО – это частичная или возможная реализация предлагаемого нового продукта. Прототипы позволяют решать три основные задачи.
    1. Прояснение и завершение процесса формулировки требований. Ис- пользуемый в качестве инструмента формулировки требований прототип пред- ставляет собой предварительную версию части системы, понимание которой вызывает затруднения. Оценка прототипа пользователями указывает на ошибки в формулировке требований, которые можно исправить до создания реального продукта без больших затрат.
    2. Исследование альтернативных решений. Прототип, как инструмент конструирования, позволяет заинтересованным в проекте лицам исследовать различные варианты реализации будущей системы. Прототипы позволяют по- казать, насколько осуществимы требования.

    35 3. Создание конечного продукта. Используемый в качестве инструмента разработки прототип – не что иное, как функциональная реализация первичных элементов системы, которую можно превратить в готовый продукт, осуществ- ляя последовательную цепочку небольших циклов разработки.
    Основная цель создания прототипа – устранение неясностей на ранних стадиях процесса разработки. Именно исходя из них следует решать, для каких частей системы необходим прототип и что нужно оценить, используя его. Про- тотип полезен для выявления и устранения двусмысленных и неполных утвер- ждений в требованиях.
    Различают следующие разновидности прототипов:
    1) горизонтальные;
    2) вертикальные;
    3) одноразовые;
    4) эволюционные.
    Горизонтальные прототипы
    Когда говорят о прототипе ПО, обычно имеют в виду горизонтальный
    прототип (horizontal prototype) предполагаемого интерфейса пользователя. Его также именуют поведенческим прототипом (behavioral prototype), или моде-
    лью. Горизонтальным прототип называется потому, что в нем не реализуются все слои архитектуры и нюансы системы, но воплощаются некоторые особен- ности интерфейса пользователя. Он позволяет пользователям исследовать по- ведение предполагаемой системы в тех или иных ситуациях для уточнения тре- бований, а также выяснить, смогут ли они с помощью системы, основанной на прототипе, выполнять свою работу. Горизонтальный прототип создает види- мость функциональности, не обеспечивая ее в действительности. Он показыва- ет внешний вид пользовательского интерфейса, позволяет осуществлять час- тичную навигацию, но не содержит никакой или почти никакой действительной функциональности. Горизонтальные прототипы демонстрируют функциональ- ные возможности, которые будут доступны пользователю, внешний вид поль-

    36
    зовательского интерфейса (цвета, планировку, графику, элементы управления) и структуру доступа к информации (структуру навигации).
    Перемещение между объектами интерфейса возможно, но вместо некото- рых элементов пользователь увидит краткое сообщение о том, что будет здесь находиться. Информация, появляющаяся в ответ на запрос к базе данных, мо- жет быть случайной или постоянной, а содержание отчетов – жестко закодиро- ванным. Лучше использовать реальные данные в образцах отчетов, диаграмм и таблиц – это увеличит достоверность прототипа как модели реальной системы.
    Горизонтальный прототип не выполняет почти никакой полезной работы, однако он очень полезен для того, чтобы пользователи могли решить, нет ли каких-либо упущений, неверных или ненужных функций. Некоторые прототи- пы выражают концепцию реализации конкретных вариантов использования, как ее видят разработчики. Оценивая прототип, пользователи могут указать на альтернативные возможности их реализации, пропущенные шаги взаимодейст- вия или дополнительные условия.
    Вертикальные прототипы
    Вертикальный прототип (vertical prototype), также называемый струк-
    турным прототипом (structural prototype), или проверкой концепции, воплоща- ет срез функциональности приложения от интерфейса пользователя до сервис- ных функций. Вертикальный прототип действует, как настоящая система, по- скольку затрагивает все уровни ее реализации. Разрабатывайте вертикальный прототип всякий раз, когда есть сомнения в осуществимости предполагаемого подхода к архитектуре системы или когда нужно оптимизировать алгоритмы, оценить предлагаемую схему базы данных или проверить критически важные временные требования. Чтобы получить значимые результаты, вертикальные прототипы создают, используя средства разработки в среде, аналогичной среде разработки. Вертикальные прототипы используются для исследования критиче- ски важных требований к интерфейсу и времени исполнения, а также для со- кращения рисков на стадии проектирования системы.

    37
    Одноразовые прототипы
    Прежде чем создавать прототип, необходимо принять решение, прекрати- те вы работать с ним после оценки или он станет частью выпускаемого продук- та. Создание одноразового прототипа (throwaway prototype), или исследова-
    тельского прототипа (exploratory prototype), необходимо, чтобы ответить на возникшие вопросы, разрешить возможные неясности и улучшить требования к
    ПО. Если после выполнения задачи работа с прототипом прекращается, его де- лают как можно более быстро и дешево. Чем больше усилий вложено в прото- тип, тем труднее будет участникам проекта отказаться от него.
    Создавая одноразовый прототип, разработчики пренебрегают большинст- вом известных им методов конструирования качественного ПО. В одноразовом прототипе предпочтение отдается быстроте реализации и модификации, а не устойчивости, надежности, производительности и долговременному удобству сопровождения. Поэтому нужно следить, чтобы код одноразового прототипа не попал в окончательный продукт. В противном случае пользователи и персонал технического обслуживания будут страдать от последствий этого в течение все- го срока эксплуатации продукта.
    Эволюционные прототипы
    В отличие от одноразового прототипа эволюционный прототип
    (evolutionary prototype) представляет собой прочный архитектурный «фунда- мент» для постепенного создания окончательного продукта – по мере проясне- ния требований. Эволюционное прототипирование – один из компонентов мо- дели спирального цикла разработки ПО и некоторых процессов разработки объектно-ориентированного ПО. В отличие от одноразовых прототипов, созда- ваемых быстро и начерно, для построения эволюционного прототипа необхо- димо с самого начала использовать качественный код.
    Поэтому на конструирование эволюционного прототипа требуется боль- ше времени, чем на одноразовый прототип, моделирующий те же свойства сис- темы. Эволюционный прототип следует создавать в расчете на легкий рост и частое расширение, поэтому разработчики должны уделять большое внимание

    38
    архитектуре и принципам проектирования. При создании такого прототипа ни в коем случае не стоит экономить на качестве.
    Многие черты технологии RAD можно обнаружить в системе разработки приложений MSF (Microsoft Solutions Framework) корпорации Microsoft [5].
    Технология RAD близка к подходу XP (Extreme Programming), предна- значенному для использования небольшими высокопрофессиональными ко- мандами разработчиков. Разработка ведется небольшими трехнедельными ите- рациями, в течение которых уточняются и реализуются требования к системе.
    Для оценки проектов с точки зрения применимости RAD и XP применя- ются два показателя – критичность и масштаб. Критичность определяется по- следствиями, вызываемыми дефектами ПО, и может иметь один из четырех уровней:
    1) C – дефекты вызывают потерю удобства;
    2) D – дефекты вызывают потерю возместимых ресурсов;
    3) E – дефекты вызывают потерю невозместимых ресурсов;
    4) L – дефекты могут создавать угрозу для человеческой жизни.
    Масштаб определяется количеством разработчиков, участвующих в проекте:
    1) от 1 до 6 человек – малый масштаб;
    2) от 6 до 20 человек – средний масштаб;
    3) свыше 20 человек – большой масштаб.
    По оценке специалиста по быстрой разработке ПО А. Коберна, техноло- гия XP применима в проектах малого и среднего масштаба с низкой критично- стью (C или D).

    39
    ЗАКЛЮЧЕНИЕ
    В настоящем пособии рассматривается применение проектного управле- ния к процессу разработки ИС. Однако сфера приложений управления проек- тами гораздо шире. Оно используется при организации строительства уникаль- ных сооружений, в кораблестроении, при реорганизации предприятий, при про- ведении крупных консалтинговых и маркетинговых мероприятий и во многих других ситуациях. Ныне подобные виды деятельности уже немыслимы без про- ектного подхода и использования систем управления проектами, так как, начи- ная с определенного уровня сложности, проекты уже не поддаются традицион- ному управлению. Можно не сомневаться, что в будущем роль управления про- ектами и специализированных программных средств для этого станет еще зна- чительнее.

    40
    БИБЛИОГРАФИЧЕСКИЙ СПИСОК
    1. Гультяев, А.К. Microsoft Office Project 2003 / А.К. Гультяев. – СПб. :
    Корона-принт, 2004.
    2. Пайрон, Т. Использование Microsoft Project 2002 / Т. Пайрон. – М. :
    Вильямс, 2003.
    3. Мармел, Э. Microsoft Project 2002. Библия пользователя /
    Э. Мармел. – М. : Вильямс, 2003.
    4. Богданов, В. Управление проектами в Microsoft Project 2007 /
    В. Богданов. – СПб. : Питер, 2008.
    5. Уилсон, С. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD / С. Уилсон, Б. Мэйплс, Т. Лэндгрейв. – М. :
    Русская редакция, 2002.

    Учебное электронное текстовое издание
    Солонин Евгений Борисович
    УПРАВЛЕНИЕ ПРОЕКТАМИ ПРИ РАЗРАБОТКЕ
    ИНФОРМАЦИОННЫХ СИСТЕМ
    Редактор
    А.В. Поротникова
    Компьютерная верстка
    Е.Б. Солонина
    Рекомендовано Методическим советом
    Разрешен к публикации 24.12.10.
    Электронный формат – pdf
    Объем 2,05 уч.-изд. л.
    УрФУ
    620002, Екатеринбург, ул. Мира, 19
    Информационный портал УрФУ
    http://www.ustu.ru
    1   2   3


    написать администратору сайта