QA-SWT. Технологии промышленной разработки программных продуктов
Длительность дисциплины: 24 ак.ч.
Аннотация
Этот курс дает комплексное представление о промышленной разработке программного обеспечения, охватывая все этапы жизненного цикла ПО. Вы изучите современные методологии проектирования, включая каскадные и гибкие подходы, такие как Agile. Особое внимание уделяется работе с требованиями: их сбору, анализу, документированию и сопровождению. Практические занятия помогут закрепить навыки проектирования архитектуры и написания качественного кода. По окончании курса вы сможете уверенно участвовать в разработке и сопровождении программных продуктов на профессиональном уровне.
Знания и умения, полученные в результате изучения
В результате освоения программы обучающийся должен уметь:
• выявлять требования к программному продукту;
• анализировать требования к программному продукту.
В результате освоения программы обучающийся должен знать:
• основные термины и понятия из области разработки программного обеспечения;
• структуру процесса разработки программного обеспечения;
• цели, задачи и основные результаты составляющих процесса разработки программного обеспечения
• основные виды деятельности, которые осуществляются в процессе разработки программного обеспечения;
• основные роли в процессе разработки программного обеспечения, их особенности и основные требования к исполнителям этих ролей;
• основные особенности, преимущества и ограничения, а также критерии применимости различных технологий разработки программного обеспечения;
• критерии применимости различных технологий разработки программного обеспечения.
В результате освоения программы обучающийся должен приобрести практический опыт:
• по выявлению и анализу требований к программным продуктам.
Содержание дисциплины
Модуль 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 Основные технологии сопровождения ПП
Виды работ по сопровождению ПП.
Исправление дефектов.
Выявление новых требований.
Рефакторинг.
Реинжениринг.