- •Основы программной инженерии
- •Вопрос 2.Классическая (водопадная) модель
- •Вопрос 3.Прототипирование
- •Вопрос 4.◦Инкрементные стратегии
- •Вопрос 5.Спиральная модель
- •Вопрос 6.Быстрая разработка приложений
- •Вопрос 7.Rational Unified Process (rup)
- •Вопрос 8.Экстремальное программирование
- •Вопрос 9.Scrum
- •Вопрос 10.Управление требованиями
- •Вопрос 11.Разработка требований
- •Вопрос 12 и 13.Документирование и организация требований
- •Вопрос 14.Управление изменениями
- •Вопрос 15.Политика управления изменениями
- •Вопрос 16
- •Вопрос 17.Роли
- •Вопрос 17.Роли в процессе разработки программных проектов
- •Вопрос 18.Программные проекты
- •Вопрос 19 и 20. Изменение проекта
- •Управление рисками в программных проектах
- •Вопрос 24.Идентификация риска
- •Вопрос 25.Планирование управления риском
- •Система управления дефектами
- •Вопрос 21.Дефект – обнаруженная в процессе разработки, тестирования или эксплуатации ошибка в разрабатываемом приложении
- •Вопрос 22.Жизненный цикл дефекта
- •Вопрос 23.Нотификация в системе управления дефектами
- •Контроль версий в программных проектах
- •Вопрос 27.Общий доступ к файлам
- •Вопрос 28.Системы контроля
- •Сборка и выпуск программных проектов
- •Вопрос 29.Сборка (building) программного проекта– набор правил и процедур, направленный на получение исполняемой программы
- •Вопрос 30.Окружение для сборки
- •Вопрос 31.Непрерывная интеграция
- •Вопрос 32.Качество программного обеспечения
- •Вопрос 33.
- •Вопрос 34.Метрики программного обеспечения
- •Вопрос 35.Аудит программного кода
- •Обеспечение качества программных систем
- •Вопрос 36.Методы, направленные на проектирование качественного по
- •Вопрос 37.Метод проверки моделей
- •Вопрос 38.Статистический анализ
Вопрос 7.Rational Unified Process (rup)
Инкрементная и эволюционная итеративная методология
Базируется на широком использовании UML
На всех стадиях используются программные метрики
Процесс делится на этапы (стадии)
Каждый этап состоит из итераций
Итерация – законченный цикл разработки, вырабатывающий промежуточный продукт
Рабочие потоки процесса
Бизнес-моделирование
Управление требованиями
Анализ и проектирование ◦Создание статического и динамического представления системы
Реализация ◦Создание программного кода
Тестирование ◦Проверка системы в целом
Начальная стадия
Назначение ◦Запуск проекта
Цели
◦Определение области применения
◦Определение элементов Use Case, критических для системы
◦Определение общих черт архитектуры
◦Определение общей стоимости и плана проекта
◦Идентификация основных элементов риска
Действия
Формулировка области применения проекта
◦Выявление требований и ограничений
Планирование
◦Подготовка основного плана развития и альтернатив развития для управления риском
◦Определение персонала
◦Определение проектного плана
◦Определение зависимостей между стоимостью, планированием и полезностью
Синтез предварительной архитектуры
◦Развитие решений проектирования
◦Определения используемых компонентов (разработка, покупка, повторное использование)
Артефакты
Спецификация основных проектных требований
Начальная модель Use Case (20%)
Начальный словарь проекта
Начальный план развития
Начальная оценка риска
Проектный план с этапами и итерациями
Уточнение
Назначение ◦Создать архитектурный базис
Цели ◦Определение оставшихся требований
Функциональные требования выражаются с помощью Use Case
◦Определение архитектурной платформы системы
◦Отслеживание рисков, устранение наибольших рисков
◦Разработка плана итераций этапа «Конструирование»
Действия
Развитие спецификации
Формирование критических элементов Use Case, задающих дальнейшие решения
Развитие архитектуры, выделение ее компонентов
Артефакты
Модель Use Case (80%)
Дополнительные (том числе нефункциональные) требования
Описание программной архитектуры
Действующий архитектурный макет
Переработанный список элементов рисков и основной план развития
План разработки всего проекта, включающий все итерации и критерий развития для каждой итерации
Конструирование
Назначение ◦Создание программного продукта с начальной функциональностью
Цели
◦Минимизация стоимости разработки
◦Быстрое получение требуемого качества
◦Быстрое получение версий
Действия
Управление ресурсами, контроль ресурсов
Оптимизация процессов
Полная разработка компонентов и их тестирование
Оценивание реализаций продукта
Артефакты
Программный продукт, пригодный для отчуждения от разработчиков (альфа-, бета-версия и т.п.)
Описание текущей реализации
Руководство пользователя
Внедрение
Назначение ◦Отдать программный продукт пользователям ◦Завершить выпуск продукта
Действия в каждой итерации ◦Выпуск бета-версий или релизов ◦Исправление найденных в процессе бета-тестирования ошибок
Результат ◦Законченный продукт
Выводы
Наиболее продуманная методология
Подходит для больших и очень больших проектов (реже средних)
Требует высокой квалификации участников
Гибкие методологии
Основные особенности
◦Отказ от классических «неповоротливых» подходов
◦Направленность на проекты с постоянно меняющимися требованиями
◦Небольшие команды
◦(!)Высокая значимость не только технических составляющих процесса, но и организационных, социальных и т.п.
