Автор работы: Пользователь скрыл имя, 06 Июня 2012 в 12:50, лабораторная работа
Существует множество различных моделей или представлений жизненного цикла разработки ПО. Все они представляют собой логически построенную последователь¬ность действий, начиная с определения потребности и заканчивая производством ПО. Каждая модель представляет собой процесс, который структурно состоит из эта¬пов, направленных на обеспечение целостности соответствующих субкомпонентных действий. Каждая фаза снижает степень риска при выполнении проекта, что достига¬ется благодаря применению критериев входа и выхода для определения дальнейшего хода действий. По завершении каждой фазы получают внутренние или результатив¬ные внешние действия.
Жизненные циклы разработки ПО иногда называют методиками менеджмента жиз¬ненных циклов. Эти методики охватывают все стандарты и процедуры, оказывающие влияние на планирование, сбор требований и анализ, разработку проекта, конструиро-вание и внедрение программной системы. С целью обеспечения эффективности произ-вольного жизненного цикла его потребуется аккуратно выбрать и зачастую настроить (подогнать и разработать) в соответствии с задачами и целями определенного проекта.
Вместо того чтобы начать разработку "с нуля", в некоторых популярных, обоб-щенных моделях обеспечиваются готовые начальные схемы. Каждая модель имеет присущие ей преимущества и недостатки, определяющие ее применение для опреде-ленных типов проектов.
Модель, выбранная для какого-либо проекта, должна обеспечивать потребности организации, соответствовать типу выполняемых работ, а также навыкам и инстру-ментальным средствам, которые имеются у специалистов-практиков.
Убедившись в эффективности использования моделей жизненного цикла в рамках процесса, вы можете помочь вашей организации достичь гибкости при выполнении проекта. В каждом проекте, выполняемом организацией, можно применить отдельную модель жизненного цикла, которая подвергается настройке. Однако интеграция моде¬лей жизненного цикла с "каркасом" процесса — это уже другая стадия в ходе достижения более высокого уровня завершенности процесса разработки ПО. Организация должна осознать то, что разрабатываемые программы должны обладать постоянными характе-ристиками. В то же время реализация этого процесса должна быть гибкой, что обеспе-чивается с помощью настраиваемых моделей жизненного цикла разработки ПО.
Модели жизненного цикла разработки ПО 4
Модели жизненного цикла разработки ПО 4
Определение модели ЖЦ разработки ПО 4
Каскадная модель жизненного цикла разработки ПО 6
Краткое описание фаз каскадной модели 8
Преимущества каскадной модели 9
Недостатки каскадной модели 10
Область применения каскадной модели 11
V-образная модель жизненного цикла разработки ПО 12
Фазы V-образной модели 12
Преимущества V-образной модели 13
Недостатки V-образной модели 14
Область применения V-образной модели 14
Модель прототипирования жизненного цикла разработки ПО 14
Определения прототипирования 16
Описание структурной модели эволюционного прототипирования 16
Преимущества структурной эволюционной модели быстрого прототипирования 18
Недостатки структурной эволюционной модели быстрого прототипирования: 19
Область применения структурной эволюционной модели быстрого прототипирования 20
Модель быстрой разработки приложений RAD (Rapid Application Development) 21
Фазы модели RAD 21
Преимущества модели RAD 22
Недостатки модели RAD 23
Область применения модели RAD 23
Инкрементная модель жизненного цикла разработки ПО 24
Фазы инкрементной модели ЖЦ разработки ПО 25
Преимущества инкрементной модели 25
Недостатки инкрементной модели 26
Область применения инкрементной модели 26
Спиральная модель жизненного цикла разработки ПО 27
Стадии разработки спиральной модели 28
Преимущества спиральной модели 29
Недостатки спиральной модели 30
Область применения спиральной модели 30
Адаптированные модели жизненного цикла разработки ПО 31
Быстрое отслеживание 31
Параллельный инжиниринг 32
Спиральная модель "Win-Win" 32
Эволюционный/инкрементный принцип 33
Принцип V-образной инкрементной модели 33
Выбор приемлемой модели жизненного цикла разработки ПО 34
Отличительные категории проекта 34
Подгонка модели жизненного цикла разработки ПО 37
Резюме 38
Разработка хорошей модели жизненного цикла проекта означает заблаговременные капиталовложения, например, создание традиционной V-образной модели, смешанной с инкрементной, итеративной моделью разработки.
В
этой модели предпринята попытка
сбалансировать потребность в административном
контроле с нуждами в технической
инновации и ситуативной
Успешное
использование V-образной тесно связано
с тем, что происходит в контрольных точках.
Эти точки представляют собой формальные
механизмы, определяющие совместное принятие
определенных решений по переходу к следующей
фазе со стороны менеджеров и разработчиков.
Вместе с периодическим проведением руководством
обзоров и предварительных просмотров,
контрольные точки побуждают к обсуждению
вопросов, рисков и альтернатив. Значение
каждой контрольной точки необходимо
четко определить в рамках всего процесса.
За такой высокоуровневой моделью кроются
конкретные планы, основанные на точных
предварительных оценках и четко определенных
контрольных точках проектирования, способствующих
достижению успеха.
Выбор приемлемой модели жизненного цикла разработки ПО для проекта может осуществляться в ходе использования следующего процесса.
Требования | Каскад-
Ная |
V-образ-
ная |
Прототи-
пирование |
Спираль-
ная |
RAD | Инкре-
ментная |
Являются
ли требования
легко определимыми и/или хорошо известными? |
Да | Да | Нет | Нет | Да | Нет |
Могут
ли требования
заранее определяться в цикле? |
Да | Да | Нет | Нет | Да | Да |
Часто
ли будут изменяться
требования в цикле? |
Нет | Нет | Да | Да | Нет | Нет |
Нужно
ли демонстрировать
требования с целью определения? |
Нет | Нет | Да | Да | Да | Нет |
Требуются
ли для
демонстрации возможностей проверка концепции? |
Нет | Нет | Да | Да | Да | Нет |
Будут
ли требования
отражать сложность системы? |
Нет | Нет | Да | Да | Нет | Да |
Обладает
ли требование
функциональными свойствами на раннем этапе? |
Нет | Нет | Да | Да | Да | Да |
Таблица 2. Выбор модели жизненного цикла на основе характеристик участников команды разработчиков
Команда
разработчиков
проекта |
Каскад-
ная |
V-образ-
ная |
Прототи-
пирование |
Спираль-
ная |
RAD | Инкре-
ментная |
Являются
ли проблемы
предметной области проекта новыми для большинства разработчиков? |
Нет | Нет | Да | Да | Нет | Нет |
Является
ли технология
предметной области проекта новой для большинства разработчиков? |
Да | Да | Нет | Да | Нет | Да |
Являются
ли инструменты,
используемые проектом, новыми для большинства разработчиков? |
Да | Да | Нет | Да | Нет | Нет |
Изменяются
ли роли
участников проекта во время жизненного цикла? |
Нет | Нет | Да | Да | Нет | Да |
Могут
ли разработчики
проекта пройти обучение? |
Нет | Да | Нет | Нет | Да | Да |
Является
ли структура более
значимой для разработчиков, чем гибкость? |
Да | Да | Нет | Нет | Нет | Да |
Будет
ли менеджер проекта
строго отслеживать прогресс команды? |
Да | Да | Нет | Да | Нет | Да |
Важна
ли легкость
распределение ресурсов? |
Да | Да | Нет | Нет | Да | Да |
Приемлет
ли команда
равноправные обзоры и инспекции, менеджмент/обзоры заказчика, а также стадии? |
Да | Да | Да | Да | Нет | Да |
Коллектив пользователей. На начальных фазах проекта можно получить четкое представление о коллективе пользователей (табл. 3) и его будущей взаимосвязи с командой разработчиков на протяжении всего проекта. Такое представление поможет вам при выборе подходящей модели, поскольку некоторые модели требуют усиленного участия пользователей в процессе разработки и изучения проекта.
Таблица 3. Выбор модели жизненного цикла на основе характеристик коллектива пользователей
Коллектив
пользователей |
Каскад-
ная |
V-образ-
ная |
Прототи-
пирование |
Спираль-
ная |
RAD | Инкре-
ментная |
Будет
ли присутствие
пользователей ограничено в жизненном цикле? |
Да | Да | Нет | Да | Нет | Да |
Будут
ли пользователи знакомы с
определением системы? |
Нет | Нет | Да | Да | Нет | Да |
Буду
ли пользователи
ознакомлены с проблемами предметной области? |
Нет | Нет | Да | Нет | Да | Да |
Будут
ли пользователи вовлечены
во все фазы жизненного цикла? |
Нет | Нет | Да | Нет | Да | Нет |
Будет
ли заказчик отслеживать
ход выполнения проекта? |
Нет | Нет | Да | Да | Нет | Нет |
Тип проекта и риски. И, наконец, уточним, что собой представляют тип проекта и риски (таблица 4), которые были рассмотрены как элементы, определение которых осуществляется на фазе планирования. В некоторых моделях предусмотрен менеджмент рисков высокой степени, в то время как в других он не предусмотрен вообще. Выбор модели, которая делает возможным менеджмент рисков, не означает, что вам не нужно составлять план действий, направленный на минимизацию выявленных рисков. Такая модель просто обеспечивает схему, в рамках которой можно обсудить и выполнить данный план действий.
Таблица 4. Выбор модели жизненного цикла на основе характеристик типа проектов и рисков
Тип проекта и риски | Каскад-
ная |
V-образ-
ная |
Прототи-
пирование |
Спираль-
ная |
RAD | Инкре-
ментная |
Будет ли проект идентифицировать новое направление продукта для организации? | Нет | Нет | Да | Да | Нет | Да |
Будет
ли проект иметь тип
системной интеграции? |
Нет | Да | Да | Да | Да | Да |
Будет
ли проект являться
расширением существующей системы? |
Нет | Да | Нет | Нет | Да | Да |
Будет ли финансирование проекта стабильным на всем протяжении жизненного цикла? | Да | Да | Да | Нет | Да | Нет |
Ожидается ли длительная эксплуатация продукта в организации? | Да | Да | Нет | Да | Нет | Да |
Должна ли быть высокая степень надежности? | Нет | Да | Нет | Да | Нет | Да |
Будет ли система изменяться, возможно, с применением непредвиденных методов, на этапе сопровождения? | Нет | Нет | Да | Да | Нет | Да |
Является ли график ограниченным? | Нет | Нет | Да | Да | Да | ^ J |
Являются ли "прозрачными" интерфейсные модули? | Да | Да | Нет | Нет | Нет | Да |
Доступны ли повторное используемые компоненты? | Нет | Нет | Да | Да | Да | Нет |
Являются ли достаточными ресурсы (время, деньги, инструменты, персонал)? | Нет | Нет | Да | Да | Нет | Нет |
Информация о работе Обзор моделей жизненного цикла разработки программного обеспечения