Software engineering, 3 курс, 6 семестр 2016/17
Преподаватель -- Тимофей Брыксин
Лекции
1. Программа и программный продукт, понятие программной инженерии, состав команды, виды деятельности разработчика ПО.
2. Жизненный цикл ПО, модели ЖЦ. RUP и XP как примеры методологий разработки.
3. Процессный фреймворк Scrum: роли, артефакты, мероприятия.
4. Виды и характеристики требований. Requirements engineering: выявление, анализ, провека, спецификация, управление требованиями.
5. Функции менеджера проекта: определение проекта, планирование, управление и контроль. Матрица ответственностей, план коммуникаций. Управление рисками. Декомпозиция проекта.
6. Построение графика работ: матрица зависимостей, сетевой график, диаграмма Гантта. Оценка задач и графика в целом. Типичные ошибки при оценке проектов. Треугольник равновесия проекта.
7. Балансирование равновесия проекта: основные подходы и практики. Отслеживание прогресса хода проекта и реагирование на отклонения от плана. Организация команды: типы команд, роли участников.
8. Понятие команды. Составляющие эффективной команды. Практики формирования позитивной экосистемы и формирования навыков совместного решения задач. Особенности формирования команды. Командная разработка ПО. Системы контроля версий, пример удачной модели разработки в git.
9. Качество ПО. Характеристики и атрибуты качества. Классификация метрик, основные группы метрик объектно-ориентированного кода. Назначение и виды тестирования.
10. Понятие дефекта. Методы и системы управления дефектами в программных проектах. Характеристики дефектов. Отладка: виды, подходы. Защитное программирование.
11. Динамика развития программных проектов, "законы Лемана". Legacy-системы. Сопровождение и поддержка, эволюция систем, реинжиниринг.
12. Рефакторинг: что, когда и зачем. Понятие и основные code smells. Примеры рефакторингов.
Презентация Транскрипция лекции (скоро заменю на конспект)
13. Антипаттерны управления релизами. Основные принципы Continuous Delivery. Конфигурационное управление, Continuous Integration. Полезные практики при внедрении Continuous Delivery. Структура и шаги построения конвейера развёртывания. Модель зрелости процесса управления релизами.
Презентация Транскрипция лекции (скоро заменю на конспект)
Домашние задания
1. Создать для своей НИР или любого другого проекта документ об образе и границах проекта (лекция 4).
Дедлайн: 23:59 29.03.2017.