«Введение в Унифицированный процесс разработки ПО». Лекция № 2. Это так просто, что справится любой ребенок. Обязательная фраза из инструкции к любому набору «Сделай сам» История процессов разработки ПО. Модель «водопада»: Основные этапы развития модели: 1950 годы – появление пошаговой модели, обусловлено двумя причинами: Стоимость исправления дефектов на поздних этапах ЖЦ; Аналогия с другими инженерными дисциплинами. 1970 Уинстон Ройс (Winston Royce) – переход от пошаговой к «модели водопада», основные нововведения: Появились петли обратной связи; Параллельно первым трем этапам предлагалось разработать систему-прототип. История процессов разработки ПО. Модель «водопада» - предполагалось следующее: Полное понимание проблемы, подлежащей решению, ее Определение требований требований и ограничений. Разработка решения, удовлетворяющего всем Анализ требованиям и ограничениям. Затем это решение тщательно анализируется, и все заинтересованные Проектирование стороны подтверждают тот факт, что оно является приемлемым. Кодирование и Реализация решения с применением тестирование компонетов лучших технологических методов. Проверка, удовлетворяет ли реализация Окончательная интеграция сформулированным требованиям. Сдача проекта. Наказание невиновных,Внедрение поощрение непричастных. История процессов разработки ПО. Модель «водопада». Плюсы и минусы: С высоты птичьего полета: плюсы: Существуют проекты, в рамках которых он работает; Он очень хорошо управляется и прогнозируется. минусы – он не работает при увеличении масштаба и сложности: Неверные предположения; Человеческий фактор; Программная инженерия … не совсем инженерия. История процессов разработки ПО. Спиральная (эволюционная модель): 1988 год Барри Боем (Barry Boehm). Основная идея: проект в ходе своей разработке состоит из независимых частей, которые определяются и объединяются с помощью анализа рисков проекта. Сначала серии прототипов, основанных на рисках; В конце структурированный процесс построения конечной системы. Недостатки: Метод проб и ошибок; Процесс создания постоянно переделываемого кода; Интересно, когда все это закончится? История процессов разработки ПО. Некоторые итоги: Независимо от процесса основные виды работ в рамках процесса остаются неизменными.. Недостатки каждого из рассмотренных подходов, являются достоинствами его альтернативы. Чтобы выжить, надо уметь приспосабливаться к меняющимся ситуациям. Тираннозавр Унифицированный процесс. Итеративный и инкрементный подход: Начало Проектирование Определение требований Анализ Проектирование Реализация Тестирование Ит №1 Ит №2 - Реализация Внедрение Системный аналитик Найти актеров и варианты использования Планировать тестирование Структурировать модель ВИ Разработать тест Оценить результаты тестирования Инженер по тестированию Определение требований Спецификатор ВИ Тестирование Детализировать варианты использования Интегрировать систему Системный интегратор Реализация Разработать интерфейс пользователя Разработчик GUI Провести тестирование целостности Тестер целостности Проектирование Архитектор Раставить ВИ по приоритетам Анализировать архитектуру Проектировать архитектуру Провести системные тесты Реализовать архитектуру Системный тестор Анализ Аналитик ВИ Разработчик ПО Анализировать вариант использования Анализировать класс Анализировать пакет Проектировать вариант использования Проектировать класс Реализовать класс Проектировать подсистему Реализовать подсистему Реализовать тест Провести тестирование модулей