QA-SWT. Технологии промышленной разработки программных продуктов
Длительность дисциплины: 24 ак.ч.
Аннотация
Целью реализации модуля «QA-SWT. Технологии промышленной разработки программных продуктов» является совершенствование имеющихся и (или) получение новых компетенций, необходимых для профессиональной деятельности, и (или) повышение профессионального уровня в рамках имеющейся квалификации по тематике технологий, применяемых в промышленной разработке программных продуктов.
Знания и умения, полученные в результате изучения
В результате освоения программы обучающийся должен уметь:
• выявлять требования к программному продукту;
• анализировать требования к программному продукту.
В результате освоения программы обучающийся должен знать:
• основные термины и понятия из области разработки программного обеспечения;
• структуру процесса разработки программного обеспечения;
• цели, задачи и основные результаты составляющих процесса разработки программного обеспечения
• основные виды деятельности, которые осуществляются в процессе разработки программного обеспечения;
• основные роли в процессе разработки программного обеспечения, их особенности и основные требования к исполнителям этих ролей;
• основные особенности, преимущества и ограничения, а также критерии применимости различных технологий разработки программного обеспечения;
• критерии применимости различных технологий разработки программного обеспечения.
В результате освоения программы обучающийся должен приобрести практический опыт:
• по выявлению и анализу требований к программным продуктам.
Содержание дисциплины
Модуль 1. Основные понятия и определения
1.1 Цель и задачи курса. Основные термины и понятия.
Цель и задачи курса.
Обзор рассматриваемых тем.
Ожидаемые результаты.
Основные понятия: информационно-вычислительная (компьютерная) система, программное обеспечение, программный проект, программный продукт.
Основные характеристики программного продукта.
Круг лиц, заинтересованных в реализации проекта.
Жизненный цикл программного продукта. Стандарт жизненного цикла программного продукта.
1.2 Технологии промышленной разработки программного обеспечения
Определение технологии промышленной разработки программного продукта.
Общий процесс разработки программного продукта.
Обзор основных составляющих процесса разработки программного продукта.
Классические модели разработки программных продуктов: каскадная модель, итерационная модель, инкрементальная модель, эволюционная модель.
Унифицированный процесс разработки (USDP).
Обзор гибких (Agile) технологий разработки программных продуктов
Модуль 2. Разработка требований к ПП
2.1 Процесс разработки требований
Определение термина «требование к программному продукту».
Цель и задачи процесса разработки требований.
Необходимость разработки требований.
Виды требований.
Уровни требований.
Общая структура процесса разработки требований
2.2 Выявление требований
Цель и задачи процесса выявления требований.
Основные источники требований.
Классы пользователей.
Глоссарий предметной области.
Выявление сущностей предметной области, её операций и атрибутов.
Основные методы выявления требований.
2.3 Анализ требований
Цель и задачи процесса анализа требований.
Систематизация и классификация требований.
Приоритеты требований.
Достоверность требований.
Вероятность изменения требований.
Основные атрибуты требований.
Матрица зависимостей требований. \Документирование требований.
2.4 Сопровождение требований
Цель и задачи процесса сопровождения требований.
Причины и источники изменения требований.
Реализация изменений требований.
Практические занятия
1. Выявление требований к программному продукту
2. Анализ требований к программному продукту
Модуль 3. Проектирование ПП
3.1 Процесс проектирования
Цель и задачи процесса проектирования программного продукта.
Необходимость проектирования программного продукта.
Основные объекты проектирования.
Структура процесса проектирования.
Архитектурное проектирование.
Детальное проектирование.
Основные результаты проектирования.
Документирование результатов проектирования.
3.2 Общие приёмы проектирования
Составление словаря предметной области и словаря системы.
Выбор архитектуры системы.
Определение ролей и обязанностей компонентов системы.
Разработка интерфейсов системы.
Модуль 4. Реализация ПП
4.1 Процесс реализации
Цель и задачи реализации программного продукта.
Типовая структура процесса реализации программного продукта.
Планирование процесса реализации. Управление процессом реализации.
Анализ результатов реализации.
Определение требований качества.
Основные артефакты реализации.
4.2 Основные технологии реализации
Основные модели реализации.
Стиль программирования.
Стандарт кодирования.
Разработка «снизу-вверх».
Разработка «сверху-вниз».
Инспектирование кода.
Документирование исходного кода.
Модуль 5. Сопровождение ПП
5.1 Процесс сопровождения
Цель и задачи процесса сопровождения программного продукта.
Типовая структура процесса сопровождения программного продукта.
Планирование и управление процессом сопровождения ПП.
Анализ результатов сопровождения.
Основные метрики процесса сопровождения.
Качество сопровождения.
Стандарты сопровождения.
5.2 Основные технологии сопровождения ПП
Виды работ по сопровождению ПП.
Исправление дефектов.
Выявление новых требований.
Рефакторинг.
Реинжениринг.