Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
63
Добавлен:
01.06.2015
Размер:
1.43 Mб
Скачать

Модели разработки

Waterfall Model. Производство и эксплуатация

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

автоматически и без ошибок. В связи с этим в литературе эту стадию, как

правило, не включают в жизненный цикл ПС.

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

Применение (operation) ПС это использование ПС для решения практических задач на компьютере путем выполнения ее программ. Сопровождение (maintenance) ПС это процесс сбора информации о ©качестве2005, В.В.Хашковский,ПС вД.эксплуатации,П.Калачев. устранения обнаруженных в нем 32

ошибок, его доработки и модификации, а также извещения

Модели разработки

Waterfall Model. Оценка

Advantages ?

Enforced discipline through documents

каждая фаза завершается документами, проверяемыми группой контроля качества

наглядность прогресса в разработке

каждая дорогостоящая фаза более прозрачна?

Testing is inherent in every phase

continuously as well as at end of phases

Disadvantages ?

Inflexible partitioning of the project into distinct stages makes it difficult to respond to changing customer requirements.

Therefore, this model is only appropriate when the requirements are well- understood and changes will be fairly limited during the design process.

Few business systems have stable requirements

The waterfall model is mostly used for large systems engineering projects where a system is developed at several sites

© 2005, В.В.Хашковский, Д.П.Калачев.

33

Модели разработки

Evolutionary development

Пробные разработки (Exploratory development)

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

Прототипирование (Throw-away prototyping)

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

внутренними противоречиями.

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

© 2005, В.В.Хашковский, Д.П.Калачев.

34

Модели разработки

Evolutionary development. Основные идеи

Concurrent

activities

Specification

Outline

Development

description

 

Validation

Initial version

Intermediate

versions

Final version

© 2005, В.В.Хашковский, Д.П.Калачев.

35

Модели разработки

Evolutionary development. Оценка

Problems

Многие этапы процесса создания ПО не документированы.

Менеджерам проекта создания ПО необходимо регулярно документально отслеживать выполнение работ. Но если система разрабатывается быстро, то

экономически не выгодно документировать каждую версию системы.

Система часто получается плохо структурированной. Постоянные

изменения в требованиях приводят к ошибкам и упущениям в структуре ПО. Со временем внесение изменений в систему становится все более сложным и

затратным.

Часто требуются специальные средства и технологии

разработки ПО. Это вызвано необходимостью быстрой разработки версий

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

уровня.

Applicability

For small or medium-size interactive systems;

For parts of large systems (e.g. the user interface);

For short-lifetime systems.

© 2005, В.В.Хашковский, Д.П.Калачев.

36

Итерационные модели разработки

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

Модель пошаговой разработки (Incremental), где процессы специфицирования требований, проектирования и написания кода разбиваются на последовательность небольших шагов, которые ведут к созданию ПО.

Спиральная модель разработки (Spiral), в которой весь процесс создания ПО, от начального эскиза системы до ее конечной реализации, разворачивается по спирали.

© 2005, В.В.Хашковский, Д.П.Калачев.

37

Модели разработки

Incremental Model. Основные идеи

 

 

 

Requirements

 

 

 

 

 

 

 

 

 

Divide project into builds

phase

 

 

 

Модель пошаговой

Verify

 

 

 

 

разработки находится

 

 

each adds new functions

 

 

 

 

 

 

 

где-то между каскадной

 

 

 

 

 

 

 

 

и эволюционной

 

 

each build integrated w/ structure & product tested as

 

Specification

 

моделями и объединяет

 

 

 

phase

 

 

 

whole

 

 

 

 

 

 

 

их достоинства.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Verify

 

 

 

 

 

 

 

 

 

 

 

 

 

1. В процессе пошаговой разработки сначала в общих чертах опре-

 

 

 

 

 

 

 

 

 

 

 

деляются сервисы, которые должны присутствовать у создаваемой

 

 

 

 

 

 

 

 

 

 

 

Architectural

 

 

 

 

 

 

 

системы. При этом устанавливаются приоритеты. Определяется

 

 

design

 

 

 

 

 

 

 

количество шагов разработки.

 

 

 

 

Verify

 

 

 

 

 

 

2. На первых шагах детализируются требования для сервисов, затем

 

 

 

 

 

 

 

 

 

 

для их реализации используется один из подходящих способов раз-

 

 

 

 

 

For each build:

 

 

 

 

 

работки. В ходе реализации анализируются и детализируются тре-

 

Perform detailed

 

 

 

бования для компонентов, которые будут разрабатываться на более

 

design, imple­

 

 

 

поздних шагах, причем изменение требований для тех компонентов,

 

mentation, and

 

 

 

 

integration. Test.

 

 

 

которые уже находятся в процессе разработки, не допускается.

 

 

 

Deliver to client.

 

 

3. По завершении очередного шага полученный компонент

 

 

 

 

 

 

 

 

 

 

 

 

 

 

интегрируется с ранее произведенными компонентами;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Operations mode

 

 

таким образом, после каждого шага разработки система

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

приобретает все большую функциональную

 

 

 

Development

 

 

 

 

 

 

 

завершенность. И можно уточнить требования,

 

 

 

Maintenance

 

 

 

 

Retirement

 

предъявляемые к следующим версиям уже готовых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

компонентов или к компонентам, разрабатываемым на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

последующих шагах.

 

 

 

 

 

 

 

 

 

 

 

 

 

© 2005, В.В.Хашковский, Д.П.Калачев.

38

Модели разработки

Incremental Model. Оценка

Advantages ?

Заказчик может оценить на самой ранней стадии самые важные компоненты, (так

как имеют наибольший приоритет).

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

Данный подход уменьшает риск общесистемных ошибок. Хотя в разработке отдельных

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

Наиболее важные сервисы тестируются наиболее полно. Поскольку системные сервисы с

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

Disadvantages ?

Сложно разбить систему на полезные, но небольшие компоненты

need an open architecture

too few builds build-and-fix

too many builds непроизводительные издержки

© 2005, В.В.Хашковский, Д.П.Калачев.

39

Модели разработки

Spiral Model

 

 

 

 

Существенное отличие

 

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

 

других моделей

 

 

 

заключа-ется в точном

 

определении и

 

 

 

оценивании рисков.

 

 

 

Например, если при

 

 

 

написании программного

 

кода используется новый

 

язык программирования,

 

 

 

то риск может

 

 

 

заключаться в том, что

 

 

 

компилятор этого языка

 

 

 

может быть ненадежным

 

или что результирующий

 

 

 

код может быть не

 

 

 

достаточно эффективным.

 

Риски могут также

 

 

 

заключаться в

 

 

 

превышении сроков или

 

 

 

стоимости проекта. Таким

 

образом, уменьшение

 

 

 

(разрешение) рисков —

 

 

© 2005, В.В.Хашковский, Д.П.Калачев.

важный элемент

40

 

управления системным

 

 

Модели разработки

Spiral Model. Основные идеи

Always some risk involved in software development

people leave… other products not delivered on time…

Ключевая идея

minimize risk

e.g., building prototypes & simulations minimizes risks

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

Перед каждой фазой:

looking at alternatives

risk analysis

В конце каждой фазы:

evaluation

planning of next phase

© 2005, В.В.Хашковский, Д.П.Калачев.

41

Соседние файлы в папке Материал Курса