SOFTWARE DEVELOPMENT PODGOTOVIL TVOU ZHOPY K SDACHE
BASIC SOFTWARE DEVELOPMENT PROCESSES Specification development Design and implementation Certification Evolution The software life cycle is a set of processes that take place from the moment when the decision to create the software is made before it is completely decommissioned
CASCADING MODEL Analysis and requirements formation System Design and software Coding and testing of software modules Build and test the system The operation and accompanying
КАСКАДНАЯ МОДЕЛЬ Достоинства : Документирование каждого этапа Недостатки : « негибкое » разбиение процесса создания на отдельные этапы Применение : Требования сформулированы достаточно четко. Повсеместно для разработки небольших систем, входящих в состав крупного проекта.
ЭВОЛЮЦИОННАЯ МОДЕЛЬ Эскизное описание Определение спецификаций Разработка Аттестация Начальная версия Промежуточная версия Конечная версия Выполняются параллельно Прототип – действующий программный модуль, реализующий отдельные функции создаваемого ПО.
ЭВОЛЮЦИОННАЯ МОДЕЛЬ Достоинства : Спецификация разрабатывается постепенно, по мере требования заказчика. Недостатки : Многие этапы создания ПО не документированы. Система часто получается плохо структурированной. Требуются специальные средства и технологии разработки ПО. Применение : Разработка небольших систем (< строк ) или средних (< строк ) с относительно коротким сроком жизни.
ФОРМАЛЬНАЯ РАЗРАБОТКА Определение требований Формальная спецификация Формальные преобразования Сборка и тестирование Формальная спецификация ПК1ПК2ПКn Исполняемая программа (…) T1T2Tn ПР1ПР2ПРn Процесс формальных преобразований
ФОРМАЛЬНАЯ РАЗРАБОТКА Преимущества : Точное соответствие программы спецификации. Отказ от тестирования отдельных модулей. Тестирование всей системы только после ее сборки. Недостатки : Требуют специальных знаний и опыта использования. Не дают существенного выигрыша в стоимости разработки. Большинство сложных систем с трудом поддаются формальному описанию. Применение : Метод « Чистой комнаты » (IBM).
МОДЕЛЬ ПОШАГОВОЙ РАЗРАБОТКИ Определение плана требований Пошаговая детализация требований Разработка системной архитектуры Шаг разработки Шаг аттестации Шаг сборки Аттестация системы Конечная система На каждом шаге отсутствует требование использования одного и того же подхода к процессу разработки!
МОДЕЛЬ ПОШАГОВОЙ РАЗРАБОТКИ Достоинства : Нет необходимости ждать полного завершения разработки системы. Можно использовать компоненты, полученные на первых шагах, как прототипы. Уменьшается риск общесистемных ошибок. Системные сервисы с высоким приоритетом разрабатываются первыми, а все последующие интегрируются с ними. Это позволяет снизить вероятность программных ошибок в особо важных частях системы. Недостатки : Компоненты, получаемые на каждом шаге, имеют небольшой размер. Сложно определить на первых этапах общесистемные функции. Невозможно сразу определить набор базовых свойств, которые зачастую разрабатываются совместно с другими частями системы.
СПИРАЛЬНАЯ МОДЕЛЬ Анализ рисков Анализ рисков Анализ рисков Анализ рисков Прототип 1 Прототип 2 Прототип 3 Функциональный прототип Определение общих требований Анализ требований Проектирование Кодирование ТестированиеПродукт Детализация проекта Имитация, моделирование, аттестация Планирование сборки и тестирование Планирование разработок Планирование требований и жизненного цикла Анализ Планирование следующей итерации Разработка и тестирование продукта на очередной итерации Определение целей, альтернатив и ограничений Оценка альтернатив, оценка и разрешение рисков
СПИРАЛЬНАЯ МОДЕЛЬ Достоинства : Нет фиксированных этапов. Эта модель может включать в себя любые другие модели на каждом витке спирали – прототипирование может использоваться при нечетком определении требований ; Каскадная модель в случае последовательного выполнения некоторых этапов ; Модель формальных преобразований – если четко сформулированы требования. Недостатки : Сложна автоматизация процессов разработки. Огромная роль при разработке системы отводится управлению проектом.