Чтение онлайн

на главную - закладки

Жанры

Технологии программирования

Костерин В В

Шрифт:

Гибкие подходы

Ранние подходы быстрой разработки:

— эволюционное прототипирование;

— итеративная разработка;

— постадийная разработка.

Адаптивные технологические подходы:

— экстремальное программирование;

— адаптивная разработка;

Подходы исследовательского программирования:

— компьютерный дарвинизм.

3.2. РАННИЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ

Ранние технологические подходы не используют явных технологий, поэтому их применяют только для очень маленьких проектов, как правило, завершающихся созданием

демонстрационного прототипа. В качестве примера подхода, не использующего формализации, в данной главе рассмотрен подход "кодирование и исправление".

Подход "кодирование и исправление" (code and fix) упрощенно может быть описан следующим образом. Разработчик начинает кодирование системы с самого первого дня, не занимаясь сколь-либо серьезным проектированием. Все ошибки обнаруживаются, как правило, к концу кодирования и требуют исправления через повторное кодирование.

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

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

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

• для доказательства некоторой программной концепции.

3.3. КАСКАДНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ

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

Классический каскадный подход (от англ. pure waterfall — чистый водопад) считается "дедушкой" технологических подходов к ведению жизненного цикла. Его можно рассматривать как отправную точку для огромного количества других подходов. Сформировался классический каскадный подход в период с 1970 по 1985 г. Специфика "чистого" каскадного подхода такова, что переход к следующему виду работ осуществляется только после того, как завершена работа с текущим видом работы (рис. 3.1). Возвраты к уже пройденным видам работ не предусмотрены.

Рис. 3.1. Классический каскадный подход

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

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

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

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

степени сократить объем передаваемой документации (рис. 3.4).

Рис. 3.2. Каскадно-возвратный технологический подход

Рис. 3.3. Каскадно-итерационный технологический подход

Рис. 3.4. Каскадный подход с перекрывающимися видами работ

Каскадный подход с подвидами работ (англ. waterfall with subprocesses) очень близок подходу с перекрывающимися видами работ. Особенность его в том, что с точки зрения структуры, проект достаточно часто может быть разделен на подпроекты, которые могут разрабатываться индивидуально (рис. 3.5). В данном подходе требуется дополнительная фаза тестирования подсистем до объединения их в единую систему. Следует особое внимание обращать на грамотное деление проекта на подпроекты, которое должно учесть все возможные зависимости между подсистемами.

Рис. 3.5. Каскадный подход с подвидами работ

Рис. 3.6. Спиральная модель

Спиральная модель (spiral model) была предложена Барри Боэмом (Barry Boehm) в середине 80-х годов XX в. с целью сократить возможный риск разработки. Фактически, это была первая реакция на устаревание каскадной модели. Спиральная модель использует понятие прототипа — программы, реализующей частичную функциональность создаваемого программного продукта. Создание прототипов осуществляется в несколько витков спирали, каждый из которых состоит из "анализа риска", "некоторого вида работ" и "верификации" (рис. 3.6). Обращение к каждому виду работы предваряет "анализ риска", причем если риск превышения сроков и стоимости проекта оказывается существенным, то разработка заканчивается. Это позволяет предотвратить более крупные денежные потери в будущем.

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

3.4. КАРКАСНЫЕ ТЕХНОЛОГИЧЕСКИЕ ПОДХОДЫ

Каркасные подходы представляют собой каркас для видов работ и включают их огромное количество.

Рациональный унифицированный подход к выполнению работ

(rational unified process-RUP), изложенный подробно в десятой главе данного учебника, вобрал в себя лучшее из технологических подходов каскадной группы. Весомое преимущество данного подхода состоит в созданном инструментарии его автоматизированной поддержки — программного продукта Rational Rose фирмы "Rational Software Corpation".

При использовании подхода выделяют четыре этапа: начало, исследование, построение, внедрение. В период прохождения этих этапов выполняются виды работ (например, анализ и проектирование), которые к тому же предусматривают итеративность их выполнения (рис. 3.7).

Основные особенности данного подхода:

• итеративность с присущей ей гибкостью;

• контроль качества с возможностью выявления и устранения рисков на самых ранних этапах;

• предпочтение отдается моделям, а не бумажным документам;

Поделиться:
Популярные книги

На границе тучи ходят хмуро...

Кулаков Алексей Иванович
1. Александр Агренев
Фантастика:
альтернативная история
9.28
рейтинг книги
На границе тучи ходят хмуро...

Кодекс Охотника. Книга III

Винокуров Юрий
3. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
7.00
рейтинг книги
Кодекс Охотника. Книга III

Последний попаданец 11. Финал. Часть 1

Зубов Константин
11. Последний попаданец
Фантастика:
фэнтези
юмористическое фэнтези
рпг
5.00
рейтинг книги
Последний попаданец 11. Финал. Часть 1

Книга пяти колец

Зайцев Константин
1. Книга пяти колец
Фантастика:
фэнтези
6.00
рейтинг книги
Книга пяти колец

Поступь Империи

Ланцов Михаил Алексеевич
7. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Поступь Империи

Купидон с топором

Юнина Наталья
Любовные романы:
современные любовные романы
7.67
рейтинг книги
Купидон с топором

Наследник в Зеркальной Маске

Тарс Элиан
8. Десять Принцев Российской Империи
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник в Зеркальной Маске

Совок 5

Агарев Вадим
5. Совок
Фантастика:
детективная фантастика
попаданцы
альтернативная история
6.20
рейтинг книги
Совок 5

Аномальный наследник. Том 1 и Том 2

Тарс Элиан
1. Аномальный наследник
Фантастика:
боевая фантастика
альтернативная история
8.50
рейтинг книги
Аномальный наследник. Том 1 и Том 2

Теневой путь. Шаг в тень

Мазуров Дмитрий
1. Теневой путь
Фантастика:
фэнтези
6.71
рейтинг книги
Теневой путь. Шаг в тень

Попаданка в академии драконов 2

Свадьбина Любовь
2. Попаданка в академии драконов
Любовные романы:
любовно-фантастические романы
6.95
рейтинг книги
Попаданка в академии драконов 2

Гром над Империей. Часть 2

Машуков Тимур
6. Гром над миром
Фантастика:
фэнтези
попаданцы
5.25
рейтинг книги
Гром над Империей. Часть 2

Ритуал для призыва профессора

Лунёва Мария
Любовные романы:
любовно-фантастические романы
7.00
рейтинг книги
Ритуал для призыва профессора

Измена. Осколки чувств

Верди Алиса
2. Измены
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Измена. Осколки чувств