лекция №2 СТРАТЕГИИ КОНСТРУИРОВАНИЯ ТКПО Средства Методы Процедуры жизненный цикл 1. Системный анализ 1 2. Анализ требований 3. Проектирование 2 4. Кодирование 3 4 5. Тестирование 5 6 6. Сопровождение автор Уинстон Рой, 1970 – Royce. Managing the development of large software systems: concepts and techniques макетирование прототипирование Ожидания заказчика Построение / уточнение макета Оценка макета инкрементальная модель 1-й инкремент 1.Анализ 1 2. Проектирование 2 1.Анализ 1 3. Кодирование 2-й инкремент 3 4. Тестирование 2. Проектирование 4 2 1.Анализ 1 3. Кодирование Поставка3-й 1-го инкремент инкремента 3 2. Проектирование 4. Тестирование 4 2 3. Кодирование Поставка 2-го инкремента 3 4. Тестирование 4 Поставка 3-го инкремента RAD RAPID APPLICATION DEVELOPMENT 1. Бизнес-моделирование 2. Моделирование данных 3. Моделирование обработки 4. Генерация приложения 5. Тестирование и объединение спиральная модель Барри Боэм, 1988 I II 2 3 4 1 5 6 9 7 8 IV III компонентно-ориентированная модель USDP Якобсон, Буч и Рамбо, 1999 UNIFIED SOFTWARE DEVELOPMENT PROCESS USDP Якобсон, Буч и Рамбо, 1999 UNIFIED SOFTWARE DEVELOPMENT PROCESS USDP USDP описывает шесть моделей: ● Модель вариантов использования ● Аналитическая модель ● Модель проектирования ● Модель развертывания ● Модель реализации ● Модель тестирования XP Кент Бек, 1999 eXtreme Programming XP-экстремум XP-реализация Проверка кода Код проверяется всё время Парное программирование Тестирование Тестирование выполняется Тестирование модуля, всё время, даже с помощью ф ункциональное заказчика тестирование XP Проектирование Проектирование – часть ежедневной работы разработчика Реорганизация (refactoring) Простота Для системы вы бирается простейшее проектное решение, поддерживающее ее текущую ф ункциональность Самая простая вещь, которая могла бы работать. Принцип KISS. «Это вам не понадобится» Архитектура Каждый постоянно работает над уточнением архитектуры Метаф ора XP Тестирование интеграции Интегрируется и Непрерывная интеграция тестируется несколько раз в день Короткие итерации Итерации предельно Игра планирования коротки – секунды, минуты, часы, а не неделя, месяц, год XP-реализация Пользовательские истории Новая история, скорость проекта требования Планирование реализации План Итерация ошибки Тесты приемки реализации неопред. оценки оптим. оценки Архитектурный выброс сценарии тестирования Выброс след. итерация Малые реализации базис XP 1)Игра планирования (Planning game) 2)Частая смена версий (Small releases) 3)Метафора (Metaphor) 4)Простое проектирование 5)Тестирование (TDD - Test Driven Development) 6)Реорганизация (Refactoring) 7)Парное программирование 8)Коллективное владение кодом 9)Непрерывная интеграция. 10)40-часовая неделя. 11)Локальный заказчик. 12)Стандарты кодирования Далее … MSF, SCRUM, Agile, …