Модели на основе инженерного подхода



 

Модель – «кодирование – устранение ошибок»

1. поставить задачу;

2. выполнить ее до успешного завершения либо отмены;

3. проверить результат;

4. повторить при необходимости с 1 шага.

 

Каскадная (водопадная) модель

 

 

Это первая модель, которая получила широкую известность и которая действительно структурировала процесс разработки.

Была создана в конце 60 годов

Недостаток данной модели – является невозможность возврата на предыдущие стадии. Считается что каждая стадия представляет собой определенный этап, после завершения работ на котором к нему больше не возвращаются.


Поэтапная модель с промежуточным контролем

 

 

V – образная модель

 

 


Модели, учитывающие специфику разработки ПО.

 

* Модель на основе создания прототипов. Чтобы преодолеть информационный барьер между заказчиком и разработчиком, т е снизить риск появления продуктов, которые не соответствуют требованиям заказчика, было предложено использовать подход на основе создания прототипов. Прототип в данном случае – это полностью или частично рабочие модели систем.

* Инкрементная модель. В этом случае подразумевается дробление продукта на относительно независимые части, которые можно вводить в строй постепенно

* Спиральная модель.

 

 

Спиральная модель была предложена в 1988 г. Это объединение каскадной модели и модели на основании прототипа. Позволила взглянуть по новому на процесс создания и проектирования ИС.

1. план требований и ЖЦ

2. анализ рисков

3. прототип

4. концепция функционирования

5. анализ рисков

6. прототип

7. эмуляция

8. требования

9. план разработки


Современные модели

 

Объектно-ориентированная модель.

Данная методология предполагает конструирование программного решения из готовых объектов, для которых определяются правила их взаимодействия, переводящие объекты из одного состояния в другое. Такая модель, предусматривающая полное соответствие процесса разработки положениям объектно-ориентированной методологии (объектно-ориентированный анализ, проектирование, программирование), эффективна в крупных проектах, а также там, где применяются так называемые средства быстрой разработки (RAD, Rapid Application Development), основанные на этих технологиях и содержащие готовые библиотеки классов.

Однако сами по себе RAD-системы не располагают к созданию объектно-ориентированных решений. Программисты, избалованные инструментарием, позволяющим в считанные часы создавать из готовых компонентов продукты, на которые ранее уходили дни и месяцы работы, считают лишним утруждать себя детальным изучением методологии и UML, а уж тем более не стремятся оформлять свои решения в виде классов, пригодных для повторного использования.

Таким образом, объектно-ориентированная модель применяется преимущественно в очень крупных проектах, где уделяется должное внимание этапам анализа и проектирования, а также жестко контролируется соблюдение разработчиками установленных правил.

 

Итеративная модель.

Впервые предложенная Филиппом Крачтеном в 1995г., данная модель объединяет главные преимущества спиральной, инкрементной, каскадной моделей, а также методов разработки на основе создания прототипов и объектно-ориентированного подхода. Она завоевала большую популярность и в том или ином виде используется во многих современных проектах.

 

 

Итеративная модель предлагает использование итераций на всех этапах жизненного цикла

В соответствии с итеративной моделью имеются четыре основные фазы жизненного цикла разработки ПО (начало, исследование, построение и внедрение). На каждой фазе проект проходит множество итераций, приводящих к созданию работоспособных версий: на начальных создаются прототипы, уточняются требования, прорабатываются наиболее сложные проблемы; конечные приводят к созданию продукта, его совершенствованию и расширению функциональности.

Итеративная модель, помимо основных фаз, выделяет еще две группы процессов: рабочие (управление требованиями, анализ и проектирование, реализация, тестирование, развертывание) и вспомогательные (управление конфигурацией и изменениями, проектом и процессом). Количество и суть процессов варьируются в зависимости от потребностей разработчика, они также могут иметь свои циклы, которые не обязательно даже соответствуют основным фазам. Однако результатом рабочих процессов всегда является создание версий продукта.

Итеративная модель подобно спиральной дает возможность успешно справляться с рисками. Если во время работы над очередной версией будет установлено, что трудозатраты на реализацию необходимой функциональности слишком велики, то превышения бюджета и нарушения сроков можно будет избежать путем соотнесения приоритетов разработки и трудозатрат в начале каждой итерации. Таким образом, данная модель хорошо подходит для большинства типов программных проектов, но особенно ее преимущества заметны при работе над продуктами, предназначенными для выхода на свободный рынок, в силу изначальной ориентации на выпуск последовательных версий.

 

Модели быстрой разработки.

Множество ограничений в современных методологиях создания ПО привели к тому, что компании-разработчики во многом стали похожи на гигантские бюрократические системы. Наличие большого количества формальных процедур и правил существенно сужает свободу действий каждого конкретного программиста, превращает его в винтик в огромной и неповоротливой машине. Несмотря на то, что подобные машины способны вполне успешно справляться со стоящими перед ними задачами, обычно их КПД довольно низок и удельная производительность отдельного разработчика настолько мала, что нормальным может считаться написание программистом нескольких строк кода в день.

Бросить вызов подобным перегруженным формальностями подходам призваны модели быстрой разработки, такие, как, например, экстремальное программирование. Их суть заключается в отказе от всего лишнего, что не относится непосредственно к созданию качественного программного продукта, а за основу берутся лишь наиболее эффективные методы создания ПО. Особое внимание уделяется вопросам взаимодействия с заказчиком, организации продуктивной работы и тестированию. Многие идеи быстрой разработки не были чем-то новым, например юнит-тесты уже давно применялись во многих проектах, однако собранные вместе и ставшие обязательными для применения, они возымели положительный эффект. Об этих методах в последнее время стали говорить все чаще, а их элементы начали заимствоваться многими классическими моделями.

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

Однако здесь имеются и свои недостатки, в частности быстрая разработка плохо подходит для крупных проектов и ориентирована в основном на небольшие и средние, кроме того, ее эффективное использование возможно только при условии, что создатели ПО обладают весьма высокой квалификацией и значительным опытом.

 


Дата добавления: 2018-02-28; просмотров: 597; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!