ФКН ВШЭ, 2021/2022
- Общая идея курса
- Информация о курсе
Общие понятия о методологиях разработки ПО
- Что такое методология разработки ПО
- Общее понятие
- Основные элементы
- Факторы, влияющие на выбор методологии
- Внешние факторы
- Внутренние факторы
Жизненный цикл проектирования, разработки и внедрения ПО
- Этапы жизненного цикла проектирования, реализации и внедрения ПО
- Формирование требований
- Разработка концепции
- Техническое задание
- Эскизный проект
- Понятие о MVP и примеры MVP
- Технический проект
- Рабочая документация
- Поставка / ввод в действие
- Варианты поставки и развертывания
- Сопровождение
Базовые методологии разработки ПО (ч.1)
- Каскадная модель
- Общее описание
- Хорошие примеры
- Плохие примеры
- V-модель
- Общее описание
- Хорошие примеры
- Плохие примеры
- Проект
- Характеристики проекта
- Жизненный цикл проекта
- Системная и бизнес-аналитика
- Управление проектами. Цели
- Концепция и планирование проекта
- Визуализация плана проекта
- Риски. Категоризация
- Управление рисками
- Стейкхолдеры. Классификация
- Контекст и scope проекта
Базовые методологии разработки ПО (ч.1 / продолжение)
- Инкрементная модель
- Общее описание
- Итерационная модель
- Общее описание
- "Тонкие" примеры
- Плохие примеры
- Хорошие примеры
- Сбор требований
- Методы сбора требований
- Аналитические артефакты
- Feature-list
- Бизнес-объекты
- Сценарии
- Use-cases
Базовые методологии разработки ПО (ч. 2)
- Спиральная модель
- Общее описание
- Плохие примеры
- Хорошие примеры
- RAD-модель
- Общее описание
- Бизнес-требования
- Функциональные требования
- Нефункциональные требования
- User stories
Семейство гибких методологий
- Общее понятие о семействе гибких методологий
- Agile-манифест
- Что означает и как использовать
- Роль agile-манифеста в не-agile методологиях
- SCRUM
- Общая схема методологии
- Плохой пример
- Общие соображения, когда работает плохо
- Хороший пример
- Общие соображение, когда работает хорошо
- KANBAN
- Общая схема методологии
- Плохой пример
- Общие соображения, когда работает плохо
- Хороший пример
- Общие соображения, когда работает хорошо
- Интервью
- Питч-выступления
CI/CD
- Понятие о CI/CD/CD
- Зачем это вообще нужно?
- Как это устроено?
- Роль CI/CD/CD в процессе разработки ПО
- Пример "как это работает у нас"
- Мотивация
- Манипуляция
- Организационная структура управления
- Области знаний по управлению проектами
- Управление портфелями проектов. PM и PPM
Принципы проектирования ПО, ч.1
- Что такое архитектура ПО?
- Что такое проектирование ПО?
- По каким критериям можно оценить архитектуру?
- Критерии хорошей архитектуры
- Эффективность
- Гибкость
- Расширяемость
- Масштабируемость, тестируемость, возможность повторного использования, сопровождаемость
- Критерии неудачной архитектуры
- Жесткость
- Хрупкость
- Неподвижность
- Критерии хорошей архитектуры
- Принцип High Cohesion / Low Coupling
Принципы проектирования ПО, ч.2
- Принципы SOLID
- Закон Деметры
- YAGNI
- DRY / DIE
- KISS
Инструменты моделирования и проектирования - UML
- Что такое UML?
- Базовое понятие о нотации UML
- Диаграмма вариантов использования
- Диаграмма классов
- Диаграмма размещения
- Диаграмма последовательности
- Диаграмма деятельности
- Диаграмма состояний
- Индивидуальный проект (Пр) - включает в себя 4 задания (З1, З2, З3, З4)
- Устный экзамен (Экз) - к экзамену необходимо будет выполнить отдельное задание. На экзамене принимается защита задания + следуют попутные вопросы по программе курса.
Оценка = Округление(0,4*Пр + 0,6*Экз) = Округление(0,1*З1 + 0,1*З2 + 0,1*З3 + 0,1*З4 + 0,6*Экз)