Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Модели жизненного цикла разработки программного продукта
Под моделью жизненного цикла разработки ПП понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач, выполняемых на протяжении жизненного цикла разработки ПП. Модель жизненного цикла зависит от специфики и сложности выполняемого проекта, а также от условий, в которых создается и будет функционировать ПП. Стандарт ISO/IEC 12207 не предлагает конкретные модель жизненного цикла и методы разработки ПП. Положения стандарта являются общими для любых моделей жизненного цикла, методов и технологий разработки ПП. Стандарт описывает структуру процессов жизненного цикла ПП, но не уточняет, как выполнить действия и задачи, включенные в эти процессы. Модель жизненного цикла любого конкретного ПП определяет характер процесса его создания, который представляет собой совокупность упорядоченных во времени, взаимосвязанных и объединенных в этапы работ, выполнение которых необходимо и достаточно для создания ПП, соответствующего заданным требованиям. Под этапом разработки ПП понимается часть процесса создания ПП, ограниченная некоторыми временными рамками и заканчивающаяся выпуском конкретного продукта (моделей ПП, программных компонентов, документации), определяемого заданными для данной стадии требованиями. Этапы создания ПП выделяются по соображениям рационального планирования и организации работ, заканчивающихся заданными результатами (см. гл.2). Наибольшее распространение получили следующие модели жизненного цикла разработки ПП: · каскадная модель, или «водопад» (Waterfall model); · V-образная модель (V-shaped model); · модель прототипирования (Prototype model); · модель быстрой разработки приложений, или RAD-модель (RAD — Rapid Application Development model); · многопроходная модель (Incremental model); спиральная модель (Spiral model). Краткие характеристики каждой из перечисленных моделей приведены в таблице 1. Таблица 1- Модели жизненного цикла разработки программного продукта
2) Каскадная модель В однородных информационных системах 1970-х и 1980-х годов прикладные ПП представляли собой единое целое. Для разработки такого типа ПП применялась каскадная модель, или «водопад» (waterfall) показанная на рисунке 8). Принципиальная особенность каскадного подхода: переход на следующий этап осуществляется только после того, как будет полностью завершена работа на текущем этапе, и возвратов на пройденные этапы не предусматривается. Каждый этап заканчивается получением некоторых результатов, которые служат исходными данными для следующего этапа. Требования к разрабатываемому ПП, определенные на этапе формирования требований, строго документируются в виде технического задания и фиксируются на все время разработки проекта. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Критерием качества разработки при таком подходе является точность выполнения спецификаций технического задания. При этом основное внимание разработчиков сосредоточивается на достижении оптимальных значений технических характеристик разрабатываемого ПП — производительности, объема занимаемой памяти и др.
Преимущества каскадного способа: на каждой стадии формируется законченный набор проектной документации, от-вечающий критериям полноты и согласованности; выполняемые в логичной по-следовательности стадии работ позволяют планировать сроки завершения всех работ и соответствующие затраты. Каскадный подход хорошо зарекомендовал себя при построении инфор-мационных систем, для которых в самом начале разработки можно достаточно точно и полно сформулировать все требования с целью предоставить разработчикам свободу реализовать их технически как можно лучше. В эту категорию попадают сложные системы с большим числом задач вычислительного характера, системы реального времени и др.В то же время данный подход обладает рядом существенных недостатков, обусловленных прежде всего тем, что реальный процесс разработки ПП никогда полностью не укладывается в такую жесткую схему. Этот процесс носит, как правило, итерационный характер: результаты очередного этапа часто вызывают изменения в проектных решениях, выработанных на более ранних стадиях. Таким образом, постоянно возникает потребность в возврате к предыдущим этапам и уточнении или пересмотре ранее принятых решений. В результате реальный процесс разработки принимает иной вид рисунок 9. Изображенную на рисунке.9 схему часто относят к отдельной так называемой модели с промежуточным контролем, в которой межстадийные корректировки обеспечивают большую надежность по сравнению с каскадной моделью, хотя и увеличивают весь период разработки. Основными недостатками каскадного подхода являются существенное запаздывание с получением результатов и, как следствие, достаточно высокий риск создания системы, не удовлетворяющей изменившимся потребностям пользователей. Практика показывает, что на начальной стадии проекта полностью и точно сформулировать все требования к будущей системе не удается. Это объясняется следующими причинами: пользователи не в состоянии сразу изложить все свои требования и не могут предвидеть, как они изменятся в ходе разработки; за время разработки могут произойти изменения во внешней среде, которые повлияют на требования к системе. В рамках каскадного подхода требования к ПП фиксируются в виде технического задания на все время создания, а согласование получаемых результатов с пользователями производится только после завершения каждого этапа (при этом возможна корректировка результатов по замечаниям пользователей, если они не затрагивают требования, изложенные в техническом задании).
Рисунок.
3.1. Каскадная модель
Рисунок 3.2.Схема реального процесса разработки пп Таким образом, пользователи могут внести существенные замечания только после того, как работа над системой будет полностью завершена. В случае неточного изложения требований или их изменения в течение длительного периода создания ПП пользователи получают систему, не удовлетворяющую их потребностям. В результате приходится начинать новый проект, который может постигнуть та же участь.
3) V-образная модель Эта модель представленная на рисунке 10 была разработана как разновидность каскадной модели, в которой особое внимание уделяется ве-рификации и аттестации ПП. Модель показывает, что тестирование продукта обсуждается, проектируется и планируется, начиная с ранних этапов жизненного цикла разработки на рисунке 10 этот процесс обозначен штриховыми стрел-ками. От каскадной модели V-образная модель унаследовала последовательную структуру, в соответствии с которой каждая последующая фаза начинается только после успешного завершения предыдущей фазы. Данная модель основана на систематическом подходе к проблеме, для решения которой определены четыре базовых шага: анализ, проектирование, разработка и обзор. При выполнении анализа осуществляются планирование проекта и составление требований. Проектирование разделяется на высокоуровневое и детальное (низкоуровневое). Разработка включает в себя кодирование, а обзор — различные виды тестирования. На модели хорошо просматриваются взаимосвязи между аналитическими фазами И фазами проектирования, которые предшествуют кодированию и тестированию.
Рисунок 10- V – образная модель
Штриховые стрелки поазывают, что эти фазы надо рассматривать параллель-но. Модель включает в себя следующие фазы: составление требований к проекту и планирование — определяются систем-ные требования и выполняется планирование работ; составление требований к продукту и их анализ — составляется полная спе-циификация требований к программному продукту; высокоуровневое проектирование — определяются структура ПП, взаимосвязи между основными его компонентами и реализуемые ими функции; детальное проектирование — определяется алгоритм работы каждого компонента; кодирование — выполняется преобразование алгоритмов в готовое программ-мное обеспечение; модульное тестирование — выполняется проверка каждого компонента или модуля ПП; интеграционное тестирование — осуществляются интеграция ПП и его тести-рование; системное тестирование — выполняется проверка функционирования ПП после помещения его в аппаратную среду в соответствии со спецификацией требований; эксплуатация и сопровождение — запуск ПП в производство. На этой фазе в ПП могут вноситься поправки и может выполняться его модернизация.
ПреимуществаУ-образной модели: · большая роль придается верификации и аттестации ПП, начиная с ранних стадий его разработки, все действия планируются; · предполагаются аттестация и верификация не только самого ПП, но и всех полученных внутренних и внешних данных; · ход выполнения работы может легко отслеживаться, так как завершение каждой фазы является контрольной точкой. Кроме перечисленных достоинств модель обладает и рядом недостатков: o не учитываются итерации между фазами; o нельзя вносить изменения на разных этапах жизненного цикла; · тестирование требований происходит слишком поздно, поэтому внесение изменений влияет на выполнение графика работ. Данную модель целесообразно использовать при разработке программных продуктов, главным требованием для которых является высокая надежность.
Рисунок 11- Модель прототипирования
Потенциальные пользователи работают с этим прототипом определяя его сильные и слабые стороны, о результатах сообщают разработчикам ПП. Таким образом, обеспечивается обратная связь между пользователями и разработчи-ками, которая используется для изменения или корректировки спецификации требований к ПП. В результате такой работы продукт будет отражать реальные потребности пользователей. Жизненный цикл разработки ПП начинается с разработки плана проекта (на рисунке 11 этапу планирования соответствует центр эллипса), затем выполняется быстрый анализ, после чего создаются база данных (если, конечно, она используется в ПП), пользовательский интерфейс и выполняется разработка необходимых функций. В результате этой работы получается документ, содержащий частичную спецификацию требований к ПП. Данный документ в дальнейшем является основой для итерационного цикла быстрого прототипирования. В результате прототипирования разработчик демонстрирует пользователям готовый прототип, а пользователи оценивают его функционирование. После этого определяются проблемы, над устранением которых совместно работают пользователи и разработчики. Этот процесс продолжается до тех пор, пока пользователи не будут удовлетворены степенью соответствия ПП, поставленным перед ним требованиям. Затем прототип демонстрируют пользователям с целью получения предложений по его усовершенствованию, которые включаются в последовательные итерации до тех пор, пока рабочая модель не окажется удовлетворительной. После этого получают от пользователей официальное одобрение (утверждение) функциональных возможностей прототипа и выполняют его окончательное преобразование в готовый ПП. Модель прототипирования обладает целым рядом преимуществ: · взаимодействие заказчика с разрабатываемой системой начинается на раннем этапе; · благодаря реакции заказчика на прототип сводится к минимуму число неточностей в требованиях;
· снижается вероятность возникновения путаницы, искажения информации или недоразумений при определении требований к ПП, что приводит к созданию более качественного ПП; · в процессе разработки всегда можно учесть новые, даже неожиданные требования заказчика; · прототип представляет собой формальную спецификацию, воплощенную в ПП; · прототип позволяет очень гибко выполнять проектирование и разработку, включая несколько итераций на всех фазах жизненного цикла разработки; o заказчик всегда видит прогресс в процессе разработки ПП; · возможность возникновения противоречий между разработчиками и заказчиками сведена к минимуму; · уменьшается число доработок, что снижает стоимость разработки: · возникающие проблемы решаются на ранних стадиях, что резко сокращает расходы на их устранение; · заказчики принимают участие в процессе разработки на протяжении всего жизненного цикла и в конечном итоге в большей степени довольны результатами работы. Кроме указанных достоинств модели прототипирования присущ и целый ряд недостатков: o решение сложных задач может отодвигаться на будущее; · заказчик может предпочесть получить прототип, а не законченную полную версию ПП; o прототипирование может неоправданно затянуться; · перед началом работы неизвестно, сколько итераций придется выполнить. · Модель прототипирования рекомендуется применять в следующих случаях: o требования к ПП заранее неизвестны, o требования не постоянны или неудачно сформулированы; o требования необходимо уточнить; o нужна проверка концепции; o существует потребность в пользовательском интерфейсе; o выполняется новая, не имеющая аналогов разработка; · разработчики не уверены в том, какое решение следует выбрать.
4) Модель быстрой разработки приложений (RAD-модель) В RAD-модели представленной на рисунке 12 конечный пользователь играет решающую роль. В тесном взаимодействии с разработчиками он участвует в формировании требований и апробации их на работающих прототипах. Таким образом, в начале жизненного цикла на конечного пользователя выпадает большая часть работы, но в результате этого создаваемая система формируется более быстро. В традиционном жизненном цикле разработки большую часть работы составляют программирование и тестирование. При автоматизации программирования и повторном использовании кода, применяемых в RAD-модели, большую часть работы составляют планирование и проектирование. На рисунке 12, поясняющем принцип RAD-модели, указаны этапы процесса разработки и отображено участие заказчиков (штриховая линия) на каждом из них. Модель включает в себя следующий фазы: составление требований и планирование — осуществляются с использованием так называемого метода совместного планирования требований (планирование работ по созданию ПП и составление требований к ПП выполняются одновременно), который заключается в структурном анализе и обсуждении решаемых задач; описание пользователя — проектирование ПП, выполняемое при непосредственном участии заказчика; создание — детальное проектирование, кодирование и тестирование ПП, а также поставка его заказчику; сопровождение — приемочные испытания, установка ПП и обучение пользователей. Модель обладает следующими достоинствами: · использование современных инструментальных средств позволяет сократить время цикла разработки; · привлечение к работе заказчика сводит к минимуму риск того, что он останется недоволен готовым ПП; · повторно используются компоненты уже существующих программ. o В то же время ей присущи и недостатки: · если заказчики не могут постоянно участвовать в процессе разработки, то это может негативно сказаться на ПП; · для работы нужны высококвалифицированные кадры, умеющие пользоваться современными инструментальными средствами; · существует риск, что работа над ПП никогда не будет завершена, так как может быть зациклена, поэтому всегда надо вовремя остановиться. Рассмотренную RAD-модель можно применять при разработке ПП, которые хорошо поддаются моделированию, когда требования к ПП хорошо известны, а заказчик может принять непосредственное участие в процессе разработки.
Рисунок 12- RAD- модель 5) Многопроходная модель Многопроходная модель — это несколько итераций процесса построения прототипа ПП с добавлением на каждой следующей итерации новых функциональных возможностей или повышением эффективности ПП. Предполагается, что на ранних этапах жизненного цикла разработки (планирование, анализ требований и разработка проекта) выполняется конструирование ПП в целом. Тогда же определяется и число необходимых инкрементов и относящихся к ним функций. Каждый инкремент затем проходит через оставшиеся фазы жизненного цикла (кодирование и тестирование). Сначала выполняются конструирование, тестирование и реализация базовых функций, составляющих основу ПП. Последующие итерации направлены на улучшение функциональных возможностей ПП. Преимущества многопроходной модели: · в начале разработки требуются средства только для разработки и реализации основных функций ПП; · после каждого инкремента получается функциональный продукт; · снижается риск неудачи и изменения требований; · улучшается понимание как разработчиками, так и пользователями ПП требований для более поздних итераций;
|
|||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-12-15; просмотров: 944; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.58.77.98 (0.051 с.) |