МИНОБРНАУКИ РОССИИ
федеральное государственное бюджетное образовательное учреждение высшего образования
«Алтайский государственный университет»

Теория и практика программной инженерии

рабочая программа дисциплины
Закреплена за кафедройКафедра вычислительной техники и электроники
Направление подготовки09.03.01. Информатика и вычислительная техника
ПрофильАлгоритмы искусственного интеллекта
Форма обученияОчная
Общая трудоемкость8 ЗЕТ
Учебный план09_03_01_Информатика и вычислительная техника_АИИ-2025
Часов по учебному плану 288
в том числе:
аудиторные занятия 108
самостоятельная работа 153
контроль 27
Виды контроля по семестрам
экзамены: 7

Распределение часов по семестрам

Курс (семестр) 4 (7) Итого
Недель 16
Вид занятий УПРПДУПРПД
Лекции 36 36 36 36
Лабораторные 72 72 72 72
Сам. работа 153 153 153 153
Часы на контроль 27 27 27 27
Итого 288 288 288 288

Программу составил(и):
к.ф.-м.н, Доцент, Пашнев В.В.

Рецензент(ы):
к.т.н, Доцент, Мансуров А.В..

Рабочая программа дисциплины
Теория и практика программной инженерии

разработана в соответствии с ФГОС:
Федеральный государственный образовательный стандарт высшего образования - бакалавриат по направлению подготовки 09.03.01 Информатика и вычислительная техника (приказ Минобрнауки России от 19.09.2017 г. № 929)

составлена на основании учебного плана:
09.03.01 Информатика и вычислительная техника
утвержденного учёным советом вуза от 26.06.2023 протокол № 4.

Рабочая программа одобрена на заседании кафедры
Кафедра вычислительной техники и электроники

Протокол от 27.06.2025 г. № 135/24-25
Срок действия программы: 2025-2026 уч. г.

Заведующий кафедрой
Пашнев Владимир Валентинович


1. Цели освоения дисциплины

1.1.Целью освоения модуля «Теория и практика программной инженерии» является представление программной инженерии в виде целостного изложения, освещая концепцию процесса, различные методологии разработки программного обеспечения, отличие программной инженерии от других отраслей. Студент в ходе обучения по модулю учится оперировать профессиональными терминами и формирует представление о специфике профессии.

2. Место дисциплины в структуре ООП

Цикл (раздел) ООП: Б1.В.01

3. Компетенции обучающегося, формируемые в результате освоения дисциплины

ПК-3Способен разрабатывать и применять методы машинного обучения для решения задач
ПК-3.1 Знать: принципы и методы машинного обучения, типы и классы задач машинного обучения, методологию ML Ops
ПК-3.2 Знать: статистические методы анализа данных.
ПК-3.3 Уметь: сопоставить задачам предметной области классы задач машинного обучения
ПК-3.4 Уметь: использовать статистические методы анализа данных при решении задач машинного обучения.
ПК-3.5 Владеть: Проводит анализ требований и определяет необходимые классы задач машинного обучения.
ПК-3.6 Знать: методы и критерии оценки качества моделей машинного обучения.
ПК-3.7 Уметь: определять критерии и метрики оценки результатов моделирования при построении системы искусственного интеллекта в исследуемой области.
ПК-3.8 Владеть: Определяет метрики оценки результатов моделирования и критерии качества построенных моделей.
ПК-3.9 Знать: классические методы и алгоритмы машинного обучения: предиктивные — обучение с учителем, дескриптивные — обучение без учителя.
ПК-3.10 Уметь: проводить сравнительный анализ и осуществлять выбор, настройку при необходимости разработку методов и алгоритмов для решения задач машинного обучения.
ПК-3.11 Владеть: Принимает участие в оценке, выборе и при необходимости разработке методов машинного обучения.
ПК-4Способен использовать инструментальные средства для решения задач машинного обучения
ПК-4.1 Знать: возможности современных инструментальных средств и систем программирования для решения задач анализа данных и машинного обучения.
ПК-4.2 Уметь: проводить сравнительный анализ и осуществлять выбор инструментальных средств для решения задач машинного обучения.
ПК-4.3 Владеть: Осуществляет оценку и выбор инструментальных средств для решения поставленной задачи
ПК-4.4 Знать: функциональные возможности современных инструментальных средств и систем программирования в области создания моделей и методов машинного обучения.
ПК-4.5 Знать: принципы проведения машинного эксперимента, проблемы переобучения и недообучения модели, требования к обучающей, тестовой и валидационной выборкам для решения задач анализа данных и машинного обучения.
ПК-4.6 Уметь: применять современные инструментальные средства и системы программирования для разработки моделей машинного обучения.
ПК-4.7 Уметь: планировать и выполнять машинные эксперименты, оценивать точность и качество построенных моделей.
ПК-4.8 Владеть: Разрабатывает модели машинного обучения для решения задач.
В результате освоения дисциплины обучающийся должен
3.1.Знать:
3.1.1.Основные нормативно-правовые и нормативно-технические документы, регламентирующие профессиональную деятельность.
Классификацию программных средств и возможности их применения для решения практических задач.
3.2.Уметь:
3.2.1.Применять требования основных нормативных документов и справочные данные при разработке и оформлении технической, проектной и эксплуатационной документации в области профессиональной деятельности.
Находить и анализировать техническую документацию по использованию программных средств, выбирать и использовать необходимые функции программных средств для решения конкретной задачи.
3.3.Иметь навыки и (или) опыт деятельности (владеть):
3.3.1.Навыками оформления и согласования технической, проектной и эксплуатационной документации с применением современных цифровых технологий и в соответствии с действующими нормативными требованиями.
Навыками использования программных средств для решения практических задач.

4. Структура и содержание дисциплины

Код занятия Наименование разделов и тем Вид занятия Семестр Часов Компетенции Литература
Раздел 1. Основные понятия и место программной инженерии
1.1. Технологии программирования как способ борьбы со сложностью. Обзор технологий программирования (структурное, модульное, объектно-ориентированное, компонентное программирование). Лекции 7 4 ПК-3.1 Л2.2, Л1.1, Л1.2, Л2.3
1.2. Введение. Важность предмета. Рынок программного обеспечения. Сложность управления процессом разработки программного обеспечения. Лекции 7 2 Л2.1, Л1.1, Л1.2
1.3. Что такое программный продукт и его основные характеристики Составляющие стоимости ПО. Программная инженерия и ее отличия от информатики и других инженерий Сам. работа 7 6 Л2.2
Раздел 2. Процессы, модели, стандарты в программной инженерии
2.1. Программный процесс и модель программного процесса. Методы программной инженерии. Лекции 7 2 Л1.1, Л1.2, Л2.3
2.2. CASE системы. Основные трудности и проблемы программной инженерии. Лекции 7 2
2.3. Профессиональные и этические требования ИТ-специалиста. Кодекс этики IEEE-CS/ACM. Технология, стандарт и сертификация. Роль стандартов в программной инженерии. Основные стандарты программной инженерии. Лекции 7 2 Л2.2, Л1.1, Л1.2
2.4. Жизненный цикл программного продукта. Процесс, действие, задача жизненного цикла. Фазы (этапы) жизненного цикла и их связь с процессами. Основные процессы жизненного цикла ПО (ISO12207 и ISO 15504). Лекции 7 2 Л1.1, Л1.2, Л2.3
2.5. Вспомогательные процессы жизненного цикла ПО (ISO12207 и ISO 15504). Организационные процессы жизненного цикла ПО (ISO12207 и ISO 15504) Сам. работа 7 6 Л2.2
2.6. Каскадная модель ЖЦ ПО. Преимущества, недостатки, применимость. Спиральная модель ЖЦ ПО. Преимущества, недостатки, применимость. Обзор других типов моделей ЖЦ ПО. Особенности моделей жизненного цикла MSF, RUP, XP. Сам. работа 7 11 Л2.2
Раздел 3. Проектная деятельность в производстве программного обеспечения
3.1. Управление проектами. Категории управления проектами. Особенности управления ИТ-проектами. Треугольник ограничений проекта. Лекции 7 2 Л2.2, Л1.1, Л1.2
3.2. PMBOK: девять областей. 34 компетенции менеджера IT проекта. управленческих знаний. Сам. работа 7 10
3.3. Ролевая модель команды. Роли и их ответственности. Модель управления командой. Критерии выбора модели. Административная модель, модель хаоса, модель открытой архитектуры. Лекции 7 2 Л2.2, Л1.1, Л1.2
3.4. Роль и способы общения в команде. Преимущества и недостатки различных способов общения. Чем компромисс отличается от консенсуса Как достичь компромисса и добиться консенсуса Лекции 7 2 Л2.2, Л1.1, Л1.2
3.5. Корпоративная политика. Типы внешних стратегий команд. CMM. Основные понятия модели технологической зрелости. CMM. Пять уровней зрелости модели CMM и их характеристика. Управление проектом разработки программного обеспечения. Лекции 7 2 Л2.2, Л1.1, Л1.2
3.6. Концепция. Формула Барии Боэма. Риски. Управление проектом разработки программного обеспечения. Планирование. Диаграмма Ганта. Критический путь. Средства управления проектом. Функции систем управления проектом. Обзор систем управления проектами. Оценка трудоемкости программного проекта. Сам. работа 7 20 Л2.2, Л1.1, Л1.2
Раздел 4. Визуальное моделирование при анализе и проектировании
4.1. Анализ и проектирование. Обзор принципов объектного подхода. Алгоритмическая и объектная декомпозиции. Лекции 7 2 Л2.2, Л1.1, Л1.2, Л2.3
4.2. Классы и объекты. Объектно-ориентированный анализ. Объектно-ориентированное проектирование. Объектно-ориентированное программирование. Лекции 7 4 Л2.2, Л1.1, Л1.2, Л2.3
4.3. Принципы объектного подхода: абстрагирование, инкапсуляция, иерархия, агрегация и наследование, полиморфизм. Повторное использование. Лекции 7 4 Л2.2, Л1.1, Л1.2, Л2.3
4.4. Визуальное моделирование. История языка UML. Структура языка UML. Модели UML. Диаграммы и понятия UML. Лекции 7 2 Л2.2, Л1.1, Л1.2, Л2.3
4.5. Визуальное описание модели функционирования системы средствами UML. Лекции 7 2 Л2.2, Л1.2, Л2.3
4.6. Диаграмма вариантов использования. Диаграмма действия. Классы, объекты, поля, методы, подсистемы, компоненты, пакеты и их отображение средствами UML. Сам. работа 7 12 Л2.2, Л1.2, Л2.3
4.7. Проектирование системы. Диаграммы классов и их описание средствами UML. Диаграммы классов. Зависимость, наследование, ассоциация, агрегация, композиция и их отображение средствами UML. Сам. работа 7 16 Л2.2, Л1.2, Л2.3
Раздел 5. Лабораторные работы
5.1. Знакомство и создание проекта Лабораторные 7 10 Л2.1, Л1.1, Л1.2
5.2. Работа с системой отслеживания ошибок Лабораторные 7 12 Л2.1, Л1.1, Л1.2
5.3. Работа с системой контроля версий Лабораторные 7 12 Л2.1, Л1.1, Л1.2
5.4. Разработка модульных тестов Лабораторные 7 14 Л2.1, Л1.1, Л1.2
5.5. Создание и конфигурация автоматической сборки Лабораторные 7 12 Л2.1, Л1.1, Л1.2
5.6. Настройка шаблона процесса Лабораторные 7 12 Л2.1, Л1.1, Л1.2
5.7. Подготовка к защитам лабораторных работ Сам. работа 7 24 Л2.1, Л1.1, Л1.2
Раздел 6. Домашняя работа
6.1. Разработать концепцию проекта, модель предметной области, техническое задание, состав команды, риски, структурную декомпозицию работ и расписание, состав системы, обоснование технологического стека, выбор проектного окружения по одному из направлений: 1. Работа регистратуры поликлиники. 2. Учет книг в библиотеке. 3. Учет запчастей в автосервисе. 4. Учет успеваемости студентов. 5. Планирование рабочего дня руководителя предприятия. Также команды могут предложить свою тему. Сам. работа 7 24 Л2.1, Л2.2, Л1.1, Л1.2
6.2. Разработать концепцию проекта, модель предметной области, техническое задание, состав команды, риски, структурную декомпозицию работ и расписание, состав системы, обоснование технологического стека, выбор проектного окружения по одному из направлений: 1. Учет клиентской базы оптового магазина. 2. Учет товаров продуктового магазина. 3. Регистрация результатов спортивного соревнования. 4. Учет изменения погодных условий в населенном пункте. 5. Анализ туристических предпочтений. Также команды могут предложить свою тему. Сам. работа 7 24 Л2.1, Л1.1, Л1.2, Л2.3

5. Фонд оценочных средств

5.1. Контрольные вопросы и задания для проведения текущего контроля и промежуточной аттестации по итогам освоения дисциплины
Вопрос 1. Чем программный продукт отличается от программы
а. Программный продукт может использовать только его разработчик.
б. Программный продукт протестирован, документирован, может работать на разных платформах с данными разных типов.
в. Программный продукт использует согласованные с другими программами типы данных и протоколы.
г. Разработка программного продукта в три раза дешевле, чем разработка программы.
Ответ: б
Вопрос 2. Во сколько раз затраты на разработку системного программного продукта превышают затраты на разработку программы
а. Минимум в 3 раза.
б. Минимум в ⅙ раза.
в. Минимум в 9 раз.
г. Более чем в ⅚ раза.
Ответ: в
Вопрос 3. Что изучает программная инженерия
а. Применения инженерных методов для создания сложных программных систем.
б. Создание приложений искусственного интеллекта с помощью системного подхода.
в. Математические основы сложности алгоритмов программного обеспечения.
г. Алгоритмы машинного обучения.
Ответ: а
Вопрос 4. Какие шаги включает жизненный цикл разработки приложений машинного обучения?
а. Проектирование, разработка, тестирование, развертывание.
б. Постановка задачи, подготовка данных, обучение модели, развертывание модели.
в. Сбор данных, очистка данных, обучение модели, оценка качества модели.
г. Проектирование, разработка, сопровождение, вывод из эксплуатации.
Ответ: б
Вопрос 5. Что такое сдвиг данных
а. Запись данных в неправильные столбцы таблицы.
Оценочные материалы для текущего контроля по разделам и темам дисциплины в полном объеме размещены в онлайн-курсе на образовательном портале «Цифровой университет АлтГУ» - https://portal.edu.asu.ru/course/view.php?id=1920
Примеры заданий:
Вопрос 1. Чем программный продукт отличается от программы
а. Программный продукт может использовать только его разработчик.
б. Программный продукт протестирован, документирован, может работать на разных платформах с данными разных типов.
в. Программный продукт использует согласованные с другими программами типы данных и протоколы.
г. Разработка программного продукта в три раза дешевле, чем разработка программы.
Ответ: б
Вопрос 2. Во сколько раз затраты на разработку системного программного продукта превышают затраты на разработку программы
а. Минимум в 3 раза.
б. Минимум в ⅙ раза.
в. Минимум в 9 раз.
г. Более чем в ⅚ раза.
Ответ: в
Вопрос 3. Что изучает программная инженерия
а. Применения инженерных методов для создания сложных программных систем.
б. Создание приложений искусственного интеллекта с помощью системного подхода.
в. Математические основы сложности алгоритмов программного обеспечения.
г. Алгоритмы машинного обучения.
Ответ: а
Вопрос 4. Какие шаги включает жизненный цикл разработки приложений машинного обучения?
а. Проектирование, разработка, тестирование, развертывание.
б. Постановка задачи, подготовка данных, обучение модели, развертывание модели.
в. Сбор данных, очистка данных, обучение модели, оценка качества модели.
г. Проектирование, разработка, сопровождение, вывод из эксплуатации.
Ответ: б
Вопрос 5. Что такое сдвиг данных
а. Запись данных в неправильные столбцы таблицы.
б. Переиспользование данных при обучении и тестировании модели.
в. Отличие данных, которые поступают от пользователей от данных, на которых обучалась модель.
г. Подготовка данных для модели машинного обучения нового типа.
Ответ: в
Вопрос 6. Для какой цели используется мониторинг качества работы модели на данных пользователей.
а. Чтобы обнаружить выбросы в данных и заблокировать их.
б. Чтобы подобрать алгоритмы правильной подготовки данных для модели.
в. Чтобы обнаружить повышение качества работы модели в связи с поступлением новых данных от пользователей.
г. Чтобы обнаружить снижение качества работы модели из-за сдвига данных.
Ответ: г
Вопрос 7. Какой тип систем контроля версий сейчас используется чаще всего
а. Локальные
б. Распределенные
в. Централизованные
г. Системные
Ответ: б
Вопрос 8. Какая команда git используется для клонирования удаленного репозитория на локальный компьютер?
а. git checkout
б. git copy
в. git clone
г. git download
Ответ: в
Вопрос 9. Для чего используется ключ SSH на GitHub?
а. Для проверки прав доступа пользователя к Web порталу GitHub.
б. Для проверки прав доступа пользователя при обновлении репозитория GitHub с локального компьютера командой git push.
в. GitHub не использует ключи SSH.
г. Для организации доступа без ввода пароля к виртуальной машине Linux в GitHub.
Ответ: б
Вопрос 10. Какая команда git используется для получения изменений с удаленного репозитория на локальный компьютер?
а. git pull
б. git push
в. git clone
г. git sync
Ответ: а
Вопрос 11. Какой протокол используется для взаимодействия между приложениями по API?
а. DNS
б. HTTP
в. SMTP
г. POP3
Ответ: б
Вопрос 12. Для чего нужен статус выполнения запроса HTTP?
а. Чтобы передавать данные в теле ответа на запрос
б. Чтобы обнаружить ошибку при выполнении запроса и причину этой ошибки
в. Чтобы скрыть ошибку выполнения запроса от клиента
г. Статус HTTP на практике не используется, его можно игнорировать
Ответ: б
Вопрос 13. Какие компоненты входят в трехуровневую архитектуру?
а. Клиент
б. Труба
в. Сервер баз данных
г. Фильтр
д. Сервер приложений
Ответ: а, в, д
Вопрос 14. Какая архитектура сейчас наиболее популярна?
а. Клиент-серверная
б. Уровневая
в. Микросервисная
г. Монолитная
Ответ: в
Вопрос 15. Что такое API?
а. Интерфейс пользователя для Web-сервера
б. Язык для работы с данными в базе
в. Описание способов, с помощью который микросервис может быть использован другими приложениями
г. Язык для работы с социальными сетями, в том числе Вконтакте.
Ответ: в

Примеры контрольных вопросов для текущего контроля

Программная инженерия - это
1. Совокупность инструментальных средств и методов, предназначенных для создания качественного программного обеспечения.
2. Совокупность инструментальных средств, предназначенных для создания качественного программного обеспечения.
3. Совокупность навыков, инструментальных средств и методов, предназначенных для создания качественного программного обеспечения.
4. Наука, изучающая построение программных систем
5. Правила проектирования систем со сложной архитектурой
Программная инженерия занимается
1. Вопросами оптимизации кода
2. Вопросами разработки новых алгоритмов обработки данных
3. Вопросами эффективной разработки программного обеспечения
4. Применением средств быстрой разработки программного обеспечения
5. Применением средств автоматизированного тестирования программного обеспечения
Стадии разработки программных систем, общие формы алгоритмов и схем, описывающих эти системы, регламентируются
1. Стандартами ЕСПД
2. Пунктами ТЗ
3. Никак не регламентируются
4. Зксплуатационными документами
5. Спецификацией ПС
Псевдокод представляет собой
1. Частично формализованный язык для представления описаний метода пошаговой детализации
2. Язык, использующий конструкции структурного программирования
3. Язык программирования высокого уровня
4. Язык с неформальными фрагментами на естественном языке для представления обобщенных операторов и условий
5. Формальная запись конструкций языка программирования Фортран
Под отладкой программного средства понимают
1. Деятельность, направленная на обнаружение и исправление ошибок в ПС с использованием процессов выполнения его программ
2. Процесс выполнения его программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ
3. Отладка = Тестирование + Поиск ошибок + Редактирование
4. Процесс поиска и исправления ошибок (без тестирования)
5. Настройка ПС на требуемые наборы данных
Укажите основные процессы жизненного цикла по ГОСТ Р ИСО/МЭК 12207-99. «Информационная технология. Процессы жизненного цикла программных средств»
1. Процесс заказа
2. Процесс документирования
3. Процесс разработки
4. Процесс управления
5. Процесс сопровождения
Проблемы, решаемые конфигурационным управлением
1. Работа в команде
2. Одновременная модификация
3. Ограниченное уведомление
4. Управление пользователями
5. Множество версий
Этапы последовательной разработки ("водопад")
1. Кодирование
2. Снятие с эксплуатации
3. Тестирование
4. Анализ требований
5. Проектирование
6. Системный анализ
7. Использование и сопровождение
Этапы итеративного цикла разработки
1. Тестирование
2. бизнес-моделирование
3. Реализация
8. Анализ и проектирование
9. Требования
Содержание технического задания на программный продукт в порядке следования
1. Технико-экономические показатели
2. Назначение разработки
3. Стадии и этапы разработки
4. Введение
5. Требования к программной документации
6. Порядок контроля и приёмки
7. Основания для разработки
8. Требования к программе или программному изделию
Порядок разработки программного модуля
1. Программирование (кодирование) модуля
2. Шлифовка текста модуля
3. Изучение и проверка спецификации модуля, выбор языка программирования
4. Выбор алгоритма и структуры данных
5. Компиляция модуля
6. Проверка модуля
Укажите соответствие
А) Анализ и проектирование
Б) Бизнес-моделирование
В) Реализация
Г) Управление проектом
Д) Управление средой
Е) Тестирование
1. Осуществление управления рисками
2. Формирование устойчивой архитектуры системы
3. Разработка классов и объектов в терминах компонентов (исходных файлов, бинарных файлов, выполнимых программ и т.д.)
4. Установление однозначного понимания заказчиком и разработчиком, что именно и каким образом должна делать система
5. Установление степени соответствия функций реализованной системы и требований к системе
6. Обеспечение организации разработки приложения процессами и инструментальными средствами, которые будут поддерживать группу разработки
Укажите соответствие диаграмм и их описаний
А) Диаграммы прецедентов
Б) Диаграммы последовательностей
В) Диаграммы кооперации
Г) Диаграммы состояний
Д) Диаграммы деятельности
1. Описывают изменение состояния системы в ответ на события
2. Акцентируют внимание на временной упорядоченности сообщений
3. Описывают организацию поведения системы
4. Демонстрируют передачу управления от одной деятельности к другой
5. Сфокусированы на структурной организации объектов, посылающих и получающих сообщения
Укажите соответствие целей применения методов программной инженерии и их пояснений
А) Сопровождаемость
Б) Надежность
В) Эффективность
Г) Удобство использования
1. Отказоустойчивость, безопасность и защищенность
2. ПО не должно впустую тратить системные ресурсы
3. ПО должно быть легким в использовании
4. Система должна быть написана с расчетом на дальнейшее развитие
5.2. Темы письменных работ для проведения текущего контроля (эссе, рефераты, курсовые работы и др.)
5.3. Фонд оценочных средств для проведения промежуточной аттестации
Перечень примерных вопросов.

1. Рынок программного обеспечения. Сложность управления процессом разработки программного обеспечения.
2. Технологии программирования как способ борьбы со сложностью. Обзор технологий программирования (структурное, модульное, объектно-ориентированное, компонентное программирование).
3. Программный продукт и его основные характеристики. Составляющие стоимости ПО.
4. Программная инженерия и ее отличия от информатики и других инженерий.
5. Программный процесс и модель программного процесса. Методы программной инженерии. CASE системы.
6. Профессиональные и этические требования ИТ-специалиста. Кодекс этики IEEE-CS/ACM.
7. Технология, стандарт и сертификация. Роль стандартов в программной инженерии.
8. Основные стандарты программной инженерии и кто их разрабатывает?
9. Жизненный цикл программного продукта. Процесс, действие, задача жизненного цикла. Фазы (этапы) жизненного цикла и их связь с процессами.
10. Основные процессы жизненного цикла ПО (ISO12207 и ISO 15504).
11. Вспомогательные процессы жизненного цикла ПО (ISO12207 и ISO 15504).
12. Организационные процессы жизненного цикла ПО (ISO12207 и ISO 15504).
13. Каскадная модель ЖЦ ПО. Преимущества, недостатки, применимость.
14. Спиральная модель ЖЦ ПО. Преимущества, недостатки, применимость.
15. Обзор других типов моделей ЖЦ ПО.
16. Особенности моделей жизненного цикла MSF, RUP, XP.
17. Что такое проект и его основные характеристики. Непроекты и их связь с проектами.
18. Управление и управление проектами. Категории управления проектами.
19. Особенности управления ИТ-проектами. Треугольник ограничений проекта.
20. PMBOK: девять областей управленческих знаний.
21. Компетенции менеджера IT проекта.
22. Ролевая модель команды. Роли и их ответственности.
23. Модель управления командой. Критерии выбора модели.
24. Административная модель, модель хаоса, модель открытой архитектуры. Особенности, преимущества и недостатки.
25. Роль и способы общения в команде. Преимущества и недостатки различных способов общения.
26. Чем компромисс отличается от консенсуса? Как достичь компромисса и добиться консенсуса?
27. Корпоративная политика. Типы внешних стратегий команд.
28. CMM. Основные понятия модели технологической зрелости.
29. CMM. Пять уровней зрелости модели CMM и их характеристика.
30. Управление проектом разработки программного обеспечения. Концепция. Формула Барии Боэма. Риски.
31. Управление проектом разработки программного обеспечения. Планирование. Диаграмма Ганта. Критический путь.
32. Средства управления проектом. Функции систем управления проектом. Обзор систем управления проектами.
33. Оценка трудоемкости программного проекта. Методы.
34. Визуальное моделирование при анализе и проектировании. Основы Unified Modeling Language (UML).
35. Анализ и проектирование. Обзор принципов объектного подхода.
36. Алгоритмическая и объектная декомпозиции. Классы и объекты.
37. Объектно-ориентированный анализ.
38. Объектно-ориентированное проектирование.
39. Объектно-ориентированное программирование.
40. Принципы объектного подхода: абстрагирование, инкапсуляция, иерархия, агрегация и наследование, полиморфизм.
41. Повторное использование.
42. Идея повторного использования. Важность повторного использования.
43. Достоинства повторного использования. Виды повторного использования.
44. Визуальное моделирование.
45. Структура языка UML.
46. Модели UML.
47. Диаграммы и понятия UML.
48. Визуальное описание модели функционирования системы средствами UML.
49. Диаграмма вариантов использования.
50. Диаграмма действия.
51. Классы, объекты, поля, методы, подсистемы, компоненты, пакеты и их отображение средствами UML.
52. Проектирование системы. Диаграммы классов и их описание средствами UML. Диаграммы классов. Зависимость, наследование, ассоциация, агрегация, композиция и их отображение средствами UML.

6. Учебно-методическое и информационное обеспечение дисциплины

6.1. Рекомендуемая литература
6.1.1. Основная литература
Авторы Заглавие Издательство, год Эл. адрес
Л1.1 Батоврин В.К. Системная и программная инженерия. Словарь-справочник: учебное пособие для вузов: Учебные пособия Издательство "ДМК Пресс", 2010 e.lanbook.com
Л1.2 Лаврищева, Е. М. Программная инженерия. Парадигмы, технологии и CASE-средства : учебник для вузов: учебник для вузов Юрайт, 2022 https://urait.ru/bcode/491048
6.1.2. Дополнительная литература
Авторы Заглавие Издательство, год Эл. адрес
Л2.1 Золотов С.Ю. Проектирование информационных систем: Учебное пособие Томск: Эль Контент // ЭБС "ONLINE", 2013 biblioclub.ru
Л2.2 Лаврищева Е.М. Программная инженерия и технологии программирования сложных систем: Учебник Юрайт, 2018 // ЭБС "Юрайт" www.biblio-online.ru
Л2.3 Е. А. Черткова Программная инженерия. Визуальное моделирование программных систем : учебник для среднего профессионального образования: Издательство Юрайт, 2024 urait.ru
6.2. Перечень ресурсов информационно-телекоммуникационной сети "Интернет"
Название Эл. адрес
Э1 Интернет университет www.intuit.ru
Э2 Открытые системы www.osp.ru
Э3 MSDN msdn.microsoft.com
Э4 Электронная библиотечная система издательства "Лань" www.e.lanbook.com
Э5 ЭБС "Университетская Библиотека Онлайн" biblioclub.ru
6.3. Перечень программного обеспечения
Microsoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Visual Studio, https://code.visualstudi.com/license, (бессрочно);
7-Zip,http://www.7-zip.org/license.txt, (бессрочно);
AcrobatReader,http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf, (бессрочно);
Bizagi Modeler, https://www.bizagi.com/en/bizagi-process-modeler-license-agreement , (бессрочно);
IBM WebSphere Business Modeler Advanced, IBM Academic Initiative, IBM EULA, (бессрочно);
IBM Rational Software Architect Designer, IBM Academic Initiative, IBM EULA, (бессрочно);
IBM Rational Data Architect, IBM Academic Initiative, IBM EULA, (бессрочно);
IBM Rational Method Composer, IBM Academic Initiative, IBM EULA, (бессрочно).
Microsoft Office 2010 (Office 2010 Professional, № 4065231 от 08.12.2010), (бессрочно);
Microsoft Windows 7 (Windows 7 Professional, № 61834699 от 22.04.2013), (бессрочно);
Chrome (http://www.chromium.org/chromium-os/licenses), (бессрочно); 7-Zip (http://www.7-zip.org/license.txt), (бессрочно);
AcrobatReader (http://wwwimages.adobe.com/content/dam/Adobe/en/legal/servicetou/Acrobat_com_Additional_TOU-en_US-20140618_1200.pdf), (бессрочно);
ASTRA LINUX SPECIAL EDITION (https://astralinux.ru/products/astra-linux-special-edition/), (бессрочно);
LibreOffice (https://ru.libreoffice.org/), (бессрочно);
Веб-браузер Chromium (https://www.chromium.org/Home/), (бессрочно);
Антивирус Касперский (https://www.kaspersky.ru/), (до 23 июня 2024);
Архиватор Ark (https://apps.kde.org/ark/), (бессрочно);
Okular (https://okular.kde.org/ru/download/), (бессрочно);
Редактор изображений Gimp (https://www.gimp.org/), (бессрочно)
6.4. Перечень информационных справочных систем
Информационная справочная система:
СПС КонсультантПлюс (инсталлированный ресурс АлтГУ или http://www.consultant.ru/).
Профессиональные базы данных:
1. Электронная база данных «Scopus» (http://www.scopus.com);
2. Электронная библиотечная система Алтайского государственного университета (http://elibrary.asu.ru/);
3. Научная электронная библиотека elibrary (http://elibrary.ru).

7. Материально-техническое обеспечение дисциплины

Аудитория Назначение Оборудование
203К лаборатория цифровой обработки сигналов - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 12 посадочных мест; рабочее место преподавателя; доска меловая 2 шт.; компьютеры: марка компьютер Парус модель 945 MSI - 12 единиц; коммутатор D-LINK; методические указания по выполнению лабораторной работы по дисциплине "Нейроинформационные технологии": алгоритм обратного рассеяния; обучение без учителя; персептрон; Сети Хопфилда и Хемминга.
Учебная аудитория для проведения занятий лекционного типа, занятий семинарского типа (лабораторных и(или) практических), групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации, курсового проектирования (выполнения курсовых работ), проведения практик Стандартное оборудование (учебная мебель для обучающихся, рабочее место преподавателя, доска, мультимедийное оборудование стационарное или переносное)
209К лаборатория схемотехники и микропроцессорных систем - учебная аудитория для проведения занятий семинарского типа (лабораторных и(или) практических); проведения групповых и индивидуальных консультаций, текущего контроля и промежуточной аттестации Учебная мебель на 15 посадочных мест; рабочее место преподавателя; доски меловые 1шт. компьютеры: марка Aquarius модель Cel-2533 - 2 единицы; внутрисхемный программатор-отладчик PICkit 3 - 5шт.; компьютер Парус 945 - 13шт.; монитор 15"LG Flatron; монитор 17"Samsung 793 MB; набор PICkit 3; паяльная станция -5шт.; плата оценочная DEO-Nano - 8шт.;системный блок Celeron 2400$/ методические указания по выполнению лабораторных работ: Разработка микропроцессорных систем на базе микроконтроллера PIC16F84; Микроконтроллеры семейства MCS; Методы кодирования и сжатия информации

8. Методические указания для обучающихся по освоению дисциплины

Лабораторный практикум
Практикум предназначен для практического усвоения ряда положений программной инженерии и использует в качестве инструментария продукт Microsoft Visual Studio Team System, поддерживающий командную разработку ПО. В рамках практикума предполагается освоение планирования, конфигурационного управления (средства контроля версий и управление сборками), автоматического тестирования и командной работы в рамках формально определенного процесса разработки. Задачей практикума является не столько обучение продукту MS VSTS, сколько использование его в качестве основы для практического освоения программной инженерии. Достоинство продукта MS VSTS заключается в его доступности для целей обучения.
Занятия предполагается проводить в форме ролевой игры. Группа разбивается на команды в 5-6 человек. Каждая команда в процессе выполнения заданий моделирует работу реального коллектива разработчиков.
Команды должны самоорганизоваться в соответствии с методологией SCRUM [1, 2, 3]. В качестве Produсt Owner на первом занятии выступает вся команда, задачей которой является подготовка projectbacklog по одной из предложенных преподавателем тем. На последующих занятияхкоманда организуется по правилам технологии SCRUM. В роли Scrum-мастера выступать один из ее членов. При этом роль Scrum-мастера может допускать широкие вариации по активностям и ответственностям – от простого слежения за временем и некоторых формальностей (именно Scrum-мастер будет выполнять некоторые общие, единые для всех действия, а остальные будут наблюдать за тем, как он это делает), до некоторых функций project manager. Вся группа учащихся будет являться scrum-командой, работающей над реализацией некоторого проекта в рамках одного sprint. Начальные требования к модельной задаче предоставляются в виде backlog, из которого студенты изготовляют sprint backlog.