Бакалавриат
2020/2021
Введение в программную инженерию
Статус:
Курс обязательный (Программная инженерия)
Направление:
09.03.04. Программная инженерия
Кто читает:
Департамент программной инженерии
Где читается:
Факультет компьютерных наук
Формат изучения:
без онлайн-курса
Преподаватели:
Шилов Валерий Владимирович
Язык:
русский
Кредиты:
4
Контактные часы:
44
Программа дисциплины
Аннотация
Основной целью освоения дисциплины “Введение в программную инженерию” является формирование у студентов первого курса систематизированного представления о современном комплексе задач, методах программной инженерии, ее стандартах, создании и эволюции сложных, тиражируемых программных продуктов высокого качества, необходимого для практического использования на последующих этапах обучения и в профессиональной сфере деятельности будущего специалиста. Курс ориентирован на ведение проектирования, разработки, сопровождения и документирования программных продуктов с использованием регламентированных процессов в соответствии с формальными требованиями, определенными заказчиком. На лекциях и практических занятиях рассматривается введение в такие типовые процессы разработки программного обеспечения, как документирование, планирование, оценка, управление качеством, управление рисками и управление командой, а также мастер-классы представителей ведущих компаний-разработчиков. Содержание курса соответствует своду знаний по программной инженерии Software Engineering Education Knowledge (SEEK), описанному в документе Software Engineering 2004 (SE 2004), определяющему руководящие принципы создания учебных планов для преподавания программной инженерии в высших учебных заведениях.
Цель освоения дисциплины
- Формирование у студентов систематизированного представления о современном комплексе задач и методов программной инженерии
- Получение навыков разработки программной документации в соответствии с ГОСТ ЕСПД для последующего оформления курсовых работ и ВКР
- Получение опыта планирования программного проекта с использованием инструментальных средств
Планируемые результаты обучения
- Знать задачи и методы программной инженерии
- Иметь навыки разработки программной документации в соответствии с ГОСТ ЕСПД
- Знать стандарты программной инженерии
- Знать современные модели, ключевые концепции и технологии разработки программных систем
- Уметь планировать разработку программного проекта с использованием инструментальных средств
Содержание учебной дисциплины
- Программная инженерия в жизненном цикле программных средств∙ Основы жизненного цикла программных средств ∙ Системные основы современных технологий программной инженерии
- Профили стандартов жизненного цикла систем и программных средств в программной инженерии∙ Назначение профилей стандартов жизненного цикла в программной инженерии ∙ Жизненный цикл профилей стандартов систем и программных средств
- Модели и процессы управления проектами программных средств∙ Управление проектами программных средств в системе – СMMI ∙ Стандарты менеджмента (административного управления) качеством систем ∙ Разработка плана программного проекта курсовой работы
- Системное проектирование программных средств∙ Цели и принципы системного проектирования сложных программных средств ∙ Процессы системного проектирования программных средств ∙ Структурное проектирование сложных программных средст
- Технико-экономическое обоснование проектов программных средств∙ Цели и процессы технико-экономического обоснования проектов программных средств
- Разработка требований к программным средствам∙ Организация разработки требований к сложным программным средствам ∙ Процессы разработки требований к характеристикам сложных программных средств ∙ Структура основных документов, отражающих требования к программным средствам ∙ Разработка требований к программному продукту курсовой работы.
- Планирование жизненного цикла программных средств∙ Организация планирования жизненного цикла сложных программных средств ∙ Задачи планов для обеспечения жизненного цикла сложных программных средств
- Объектно-ориентированное проектирование программных средств∙ Задачи и особенности объектно-ориентированного проектирования программных средств ∙ Основные понятия и модели объектно-ориентированного проектирования программных средств
- Управление ресурсами в жизненном цикле программных средств∙ Основные ресурсы для обеспечения жизненного цикла сложных программных средств
- Дефекты, ошибки и риски в жизненном цикле программных средств∙ Общие особенности дефектов, ошибок и рисков в сложных программных средствах ∙ Причины и свойства дефектов, ошибок и модификаций в сложных программных средствах ∙ Риски в жизненном цикле сложных программных средств
- Характеристики качества программных средств∙ Основные факторы, определяющие качество сложных программных средств ∙ Свойства и атрибуты качества функциональных возможностей сложных программных средств
- Выбор характеристик качества в проектах программных средств∙ Конструктивные характеристики качества сложных программных средств ∙ Характеристики защиты и безопасности функционирования программных средств
- Верификация, тестирование и оценивание корректности программных компонентов∙ Принципы верификации и тестирования программ ∙ Процессы и средства тестирования программных компонентов ∙ Технологические этапы и стратегии систематического тестирования программ ∙ Процессы тестирование структуры программных компонентов
- Интеграция, квалификационное тестирование и испытания комплексов программ∙ Процессы оценивания характеристик и испытания программных средств ∙ Организация и методы оценивания характеристик сложных комплексов программ ∙ Средства для испытаний и определения характеристик сложных комплексов программ
- Сопровождение и мониторинг программных средств∙ Организация и методы сопровождения программных средств ∙ Этапы и процедуры при сопровождении программных средств
- Управление конфигурацией в жизненном цикле программных средств∙ Процессы управления конфигурацией программных средств ∙ Этапы и процедуры при управлении конфигурацией программных средств
- Документирование программных средств∙ Организация документирования программных средств ∙ Формирование требований к документации сложных программных средств ∙ Планирование документирования проектов сложных программных средств ∙ Оформление документации на программный продукт курсовой работы
- Удостоверение качества и сертификация программных продуктов∙ Процессы сертификации в жизненном цикле программных средств ∙ Организация сертификации программных продуктов
Элементы контроля
- Домашнее задание (ДЗ1)
- Домашнее задание (ДЗ2)
- Экзамен (Экз)Вопросы, включаемые в экзаменационные билеты, охватывают темы дисциплины, которые обсуждаются на лекционных и практических занятиях.
Промежуточная аттестация
- Промежуточная аттестация (2 модуль)0.4 * Домашнее задание (ДЗ1) + 0.2 * Домашнее задание (ДЗ2) + 0.4 * Экзамен (Экз)
Список литературы
Рекомендуемая основная литература
- Антамошкин, О. А. Программная инженерия. Теория и практика [Электронный ресурс] : учебник / О. А. Антамошкин. - Красноярск: Сиб. Федер. ун-т, 2012. - 247 с. - ISBN 978-5-7638-2511-4.
- Введение в программную инженерию : Учебник / В.А. Антипов, А.А. Бубнов, А.Н. Пылькин, В.К. Столчнев. — М.: КУРС: ИНФРА-М, 2019. — 336 с. - Режим доступа: http://znanium.com/catalog/product/1035160
Рекомендуемая дополнительная литература
- Батоврин В.К. Системная и программная инженерия. Словарь-справочник [Электронный ресурс] : учеб. пособие для вузов, М.: ДМК Пресс, 2010. - 280 с.: ил.
- Мацяшек Л.А., Лионг Б.Л. Практическая программная инженерия на основе учебного примера: Учебное пособие, 3-е изд., (эл.) - М.:БИНОМ. Лаб. знаний, 2015. - 959 с.