Технологии программирования | страница 68
Инженерный технологический подход [20] определяется спецификой комбинации стадий разработки, этапов и видов работ, ориентированной на разные классы программного обеспечения и особенности коллектива разработчиков.
Основные группы инженерных технологических подходов и подходы для каждой из них следующие:
Подходы со слабой формализацией не используют явных технологий и их можно применять только для очень маленьких проектов, как правило, завершающихся созданием демонстрационного прототипа. К таким подходом относят так называемые ранние технологические подходы, например подход "кодирование и исправление".
Строгие (классические, жесткие, предсказуемые) подходы рекомендуется применять для средних, крупномасштабных и гигантских проектов с фиксированным объемом работ. Одно из основных требований к таким проектам — предсказуемость.
Гибкие (адаптивные, легкие) подходы рекомендуется применять для небольших или средних проектов в случае неясных или изменяющихся требований к системе. При этом команда разработчиков должна быть ответственной и квалифицированной, а заказчики должны принимать участие в разработке.
Классификация технологических подходов к созданию программ:
Подходы со слабой формализацией
Подход "кодирование и исправление"
Строгие подходы
Каскадные технологические подходы:
— классический каскадный;
— каскадно-возвратный;
— каскадно-итерационный;
— каскадный подход с перекрывающимися видами работ;
— каскадный подход с подвидами работ;
— спиральная модель.
Каркасные технологические подходы:
— рациональный унифицированный подход к видам работ.
Генетические технологические подходы:
— синтезирующее программирование;
— сборочное (расширяемое) программирование;
— конкретизирующее программирование.
Подходы на основе формальных преобразований:
— технология стерильного цеха;
— формальные генетические подходы.
Гибкие подходы
Ранние подходы быстрой разработки:
— эволюционное прототипирование;
— итеративная разработка;
— постадийная разработка.
Адаптивные технологические подходы:
— экстремальное программирование;
— адаптивная разработка;
Подходы исследовательского программирования:
— компьютерный дарвинизм.
3.2. РАННИЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ
Ранние технологические подходы не используют явных технологий, поэтому их применяют только для очень маленьких проектов, как правило, завершающихся созданием демонстрационного прототипа. В качестве примера подхода, не использующего формализации, в данной главе рассмотрен подход "кодирование и исправление".