Технология разработки программных систем
Автор программы: Гаврилов Александр Викторович, к.т.н.
Аннотация: Курс дает базовые сведения по технологии разработки программных систем. Подробно рассматриваются модели и дисциплины Microsoft Solution Framework (MSF). Основной упор делается на использование полученных теоретических знаний при реализации конкретного программного проекта. На примере Visual Studio Team System (VSTS) демонстрируется использование инструментальной среды командной разработки. Полученные навыки позволяют проводить проектирование, анализ и реализацию прикладного программного обеспечения на основе современных методов промышленной разработки. Курс "Технология разработки программных систем" является базовым в специальной подготовке по направлениям «Информационные технологии» и «Программная инженерия».
Цель курса: Изучение основ технологии разработки программных систем, знакомство с основными моделями и дисциплинами MSF, изучение принципов проектирования архитектуры решения в рамках выбранной методологии. Формирование навыков работы в команде, освоение основных инструментальных средств VSTS, освоение методов промышленной разработки прикладного программного обеспечения.
Объем: 48 часов.
Рекомендуется: студентам 3-4 курса по направлениям «Информационные технологии» и «Программная инженерия».
Предварительные знания и навыки: знание основных моделей и нотаций описания предметной области (ER, IDEF, DFD) и языков спецификации программных систем (UML), владение основами программирования, опыт разработки индивидуальных программных проектов.
Структура курса: лекции - 16
ч., практические занятия - 16 ч., лабораторные работы – 16 ч.
Формы контроля: итоговый зачет.
Содержание курса:
Лекции:
-
Введение. Промышленный подход к разработке программного обеспечения (ПО). Жизненный цикл программного продукта. Основы программной инженерии. (2ч)
-
Специфика командной разработки. Методологии создания ПО. RUP, XP, MSF. Инструментальные среды поддержки разработки. (2ч)
-
Модели и дисциплины MSF. Модель архитектуры, модель проектной группы, модель процессов. Дисциплины управления проектами, рисками, готовностью. MSF СММI и Agile. (2ч)
-
Этапы модели процессов, проектирование архитектуры приложения. Обзор и анализ информации. Создание общей картины решения. Концептуальный дизайн. Логический дизайн. (2ч)
-
Этапы модели процессов, реализация приложения. Физический дизайн. Презентационный уровень. Уровень данных. Спецификации безопасности. (2ч)
-
Стабилизация и развертывание. Стабилизация решения. Тестирование. Выпуск. Пилотная эксплуатация. Развертывание в промышленной среде. Анализ и обсуждение проекта. (2ч)
-
Сквозные процессы поддержки разработки. Управление проектами, ресурсами, командой. Управление рисками, требованиями и качеством. Управление изменениями и конфигурациями. Верификация и тестирование. Документирование. Обучение персонала. (2ч)
-
Принципы успешной разработки ПО. Анализ результатов курсового проекта. Заключение. (2ч)
Практические занятия:
-
Задание на разработку программного решения. Формирование команд, роли и зоны ответственности участников. (2ч)
-
Планирование проекта. Организация взаимодействия, интерфейсы, артефакты, шаблоны, документы. (2ч)
-
Деятельность участников на разных этапах жизненного цикла разработки. (4ч)
-
Проектирование и реализация программного решения. (4ч)
-
Стабилизация и развертывание (2ч)
-
Анализ результатов проектов команд. (2ч)
Лабораторные работы:
-
Основные компоненты Visual Studio Team System (VSTS). Методика установки компонентов VSTS. Организация инструментальной среды разработки. (4ч)
-
Рабочее место архитектора проекта, основные функции и возможности, связь с разработчиками и тестерами проекта. (4ч)
-
Рабочее место разработчика, основные функции и инструментальные средства. Связь с архитектором проекта и тестером. (4ч)
-
Рабочее место тестера проекта, основные функции тестера и средства тестирования, связь с разработчиком и архитектором проекта. (4ч)
Литература:
Основная:
-
Анализ требований и создание архитектуры решений на основе Microsoft .NET, Русская редакция, 2004.
-
У.Ройс Управление проектами по созданию программного обеспечения. Унифицированный подход, Лори, 2002.
-
К.Бек Экстремальное программирование, Питер, 2002.
S.Guckenheimer, J.Perez Software Engineering with Microsoft Visual Studio Team System, Addison-Wesley Professional, 2006.
Дополнительная:
-
Ф.Брукс Мифический человеко месяц или как создаются программные системы, Символ Плюс, 2006.
-
Э.Йордан. Путь камикадзе, Лори, 2001.
-
Е.М.Лаврищева, В.А.Петрухин, Методы и средства инженерии программного обеспечения, Библиотека учебных курсов MSDN AA, 2007.
-
А.Н.Терехов Технология программирования, Интуит Бином, 2007.
-
В.В.Липаев Программная инженерия.Методологические основы, ТЕИС, 2006.