Software engineering, 3 курс, 6 семестр 2016/17 — различия между версиями
(→Лекции) |
(→Лекции) |
||
Строка 66: | Строка 66: | ||
− | [https://docs.google.com/document/d/ | + | [https://docs.google.com/document/d/1ifWLeAzVTx3eDpBOg9t56wr3IHZgRKn8K0-NuHRCWlc Список литературы] |
[https://docs.google.com/document/d/1W6ruMl-j0_0pIRaX4A2qog3Liey-9pyi-VAsadgYKUw Вопросы к экзамену] | [https://docs.google.com/document/d/1W6ruMl-j0_0pIRaX4A2qog3Liey-9pyi-VAsadgYKUw Вопросы к экзамену] |
Версия 17:10, 17 мая 2017
Преподаватель -- Тимофей Брыксин
Лекции
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.