Software Engineering 3MIT осень 2018

Материал из CSC Wiki
Перейти к:навигация, поиск

Лекции

Преподаватель: Брыксин Тимофей Александрович

1. Программа и программный продукт, понятие программной инженерии, состав команды, виды деятельности разработчика ПО.

Презентация Конспект

2. Виды и характеристики требований. Инженерия требований: выявление, анализ, проверка, спецификация, управление требованиями.

Презентация Конспект

3. Жизненный цикл ПО, модели ЖЦ. Процессный фреймворк Scrum: роли, артефакты, мероприятия

Презентация Конспект

4. RUP и XP как примеры методологий разработки.

Презентация Конспект

5. Проектирование GUI. Понятие User Experience, User-centered design, Activity-centred design. Персонажи и сценарии. Подходы к прототипированию пользовательских интерфейсов: storytelling, бумажные прототипы, bodystorming, макеты, дизайн-макеты, интерактивные прототипы. Подходы к исследованию удобства использования продукта, юзабилити-исследования.

Презентация Конспект

6. Функции менеджера проекта: определение проекта, планирование, управление и контроль. Матрица ответственностей, план коммуникаций. Управление рисками. Декомпозиция проекта.

Презентация Конспект

7. Построение графика работ: матрица зависимостей, сетевой график, диаграмма Гантта. Оценка задач и графика в целом. Типичные ошибки при оценке проектов. Треугольник равновесия проекта.

Презентация Конспект

8. Балансирование равновесия проекта: основные подходы и практики. Отслеживание прогресса хода проекта и реагирование на отклонения от плана.

Презентация Конспект

9. Понятие команды. Составляющие эффективной команды. Практики формирования позитивной экосистемы и формирования навыков совместного решения задач. Особенности формирования команды. Командная разработка ПО. Системы контроля версий. Разработка с использованием веток в git.

Презентация Конспект

10. Качество ПО. Характеристики и атрибуты качества. Классификация метрик, основные группы метрик объектно-ориентированного кода. Модель CMMI. Назначение и виды тестирования.

Презентация Конспект

11. Рефакторинг: что, когда и зачем. Понятие и основные code smells. Примеры рефакторингов.

Презентация Конспект

12. Понятие дефекта. Методы и системы управления дефектами в программных проектах. Характеристики дефектов. Отладка: виды, подходы. Защитное программирование.

Презентация Конспект

13. Особенности проектов Fixed price, Cost Reimbursable и Time and Material. Стартапы: идея, продукт, команда, реализация. Основные источники финансирования. Формат презентации проекта потенциальному инвестору. Бизнес-модель проекта.

Презентация

14. Антипаттерны управления релизами. Основные принципы Continuous Delivery. Конфигурационное управление, Continuous Integration. Полезные практики при внедрении Continuous Delivery. Структура и шаги построения конвейера развёртывания. Модель зрелости процесса управления релизами.

Презентация Конспект

15. Динамика развития программных проектов, "законы Лемана". Legacy-системы. Сопровождение и поддержка, эволюция систем, реинжиниринг.

Презентация Конспект


Список литературы

Вопросы к экзамену

Практика Литвинов