Мы сказали ЧТО нужно делать при разработке программ, но не сказали КАК.
Под моделью ЖЦ (технологический подходом) понимается структура, определяющая последовательность выполнения и взаимосвязи процессов, действий и задач на протяжении ЖЦ программного продукта.
Каждому этапу ЖЦ соответствуют определенный результат и набор документации, являющиеся исходными данными для следующего этапа. В заключение каждого этапа производится верификация документов и решений с целью проверки их соответствия первоначальным требованиям заказчика (ТЗ).
Модель ЖЦ зависит от специфики ПО и условий, в которых оно создается и функционирует.
Известны следующие технологические подходы:
1) подходы со слабой формализацией;
2) строгие (классические, жесткие, предсказуемые) подходы;
3) гибкие (адаптивные, легкие) подходы;
Первые не используют явных технологий и их можно применять только для очень небольших проектов. К ним относится подход – кодирование и исправление. Мы о них говорить не будем.
Вторую группу подходов рекомендуется применять для средних, крупномасштабных и гигантских проектов с фиксированным объемом работ. К ним относятся:
-каскадные технологичекие подходы ;
- каркасные подходы;
- генетические подходы;
- подходы на основе формальных преобразований.
Мы уделим особое внимание каскадным технологическим подходам.
Ккаркасному подходу относится
1) рациональный унифицированный процесс
Генетические подходы:
1) синтезирующее программирование
2) сборочное программирование
3) конкретизирующее программирование
Подходы на основе формальных преобразований:
1) технологии стерильного цеха
2) формальные генетические подходы
Третью группу подходов(гибкие) рекомендуется применять для небольших или средних проектов в случае неясных или изменяющихся требований к системе:
- технологичекие подходы быстрой разработки;
- адаптивные подходы;
- подходы исследовательского программирования;
Технологические подходы быстрой разработки:
1) Эволюционное прототипирование
2) Итеративная разработка
3) Постадийная разработка
Особое место в современной технологии программирования занимают адаптивные подходы:
1) экстремальное программирование
2) адаптивная разработка
Подходы исследовательского программирования:
1) компьютерный дарвинизм
2) спиральная модель (86-90 гг.).