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

Специальный курс «Технологии программирования»

Лекция 2. Классификация технологий программирования

Подходы со слабой формализацией

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

Строгие (классические, жесткие, предсказуемые) подходы

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

1. Каскадные технологические подходы.

  • Классический каскадный подход;

  • Каскадно-возвратный подход;

  • Каскадно-итерационный подход;

  • Каскадный подход с перекрывающимися процессами;

  • Каскадный подход с подпроцессами;

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

2. Каркасные подходы.

  • Рациональный унифицированный процесс

3. Генетические подходы.

  • Синтезирующее программирование.

  • Сборочное (расширяемое) программирование.

  • Конкретизирующее программирование.

4. Подходы на основе формальных преобразований.

  • Технология стерильного цеха;

  • Формальные генетические подходы;

Гибкие (адаптивные, легкие) подходы

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

1. Ранние технологические подходы быстрой разработки.

  • Эволюционное прототипирование;

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

  • Постадийная разработка.

2. Адаптивные подходы.

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

  • Адаптивная разработка.

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

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

Классификация технологических процессов

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

В классическом наборе выделим девять технологических процессов.

  • Возникновение и исследование идеи;

  • Управление;

  • Анализ требований;

  • Проектирование;

  • Программирование;

  • Тестирование и отладка;

  • Ввод в действие;

  • Эксплуатация и сопровождение;

  • Завершение эксплуатации.

Процессы жизненного цикла, определяемые международным стандартом ISO 12207 [ISO/IEC 12207:1995], делятся на три группы.

1. Основные процессы.

  • Приобретение;

  • Поставка ;

  • Разработка;

  • Эксплуатация;

  • Сопровождение;

2. Вспомогательные процессы.

  • Документирование;

  • Управление конфигурацией;

  • Обеспечение качества;

  • Верификация;

  • Аттестация;

  • Совместная оценка;

  • Аудит;

  • Разрешение проблем.

3. Организационные процессы.

  • Управление

  • Создание инфраструктуры

  • Усовершенствование

  • Обучение.

Проблемы и перспективы развития

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

1. Максимизация качества. Задачи, решаемые на этом направлении — надежность, четкость и формализация — ориентированы на военные разработки и системы реального времени. Данное направление поддерживается строгими технологическими подходами, обеспечивающими предсказуемость.

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

  • задача, как правило, не будет четко определена и специфицирована;

  • заказчики не смогут точно сформулировать свои требования;

  • как только система будет завершена, она устареет;

  • система должна правильно взаимодействовать с независимо разработанными программами.

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

4

Соседние файлы в папке Лекции разработка ПО