This is an old revision of the document!
Курс Проектирование программных систем (осень 2020)
Перейти в раздел Библиотека по методам проектирования
Лекционный курс, состав тем:
- Анализ и проверка требований в гибких и предписывающих моделях разработки ПО
- Моделирование программного обеспечения с применением UML 2, потоков данных, структурных схем и др.
- Методы структурного проектирования архитектуры ПО
- Объектно-ориентированные методы и паттерны в проектировании
- Микросервисная архитектура и технологии облачных приложений
- Специальные вопросы проектирования: проектирование UI, баз данных, применение MDSD и Low-code подходов
Реализация учебного проекта, дополнительно освещаемые темы:
- Процессы и практики реализации проектов
- Инструменты разработки и ведения работ
- Реализация CI/CD и элементы DevOps
Спецсеминары, проводимые в рамках курса
- Спецсеминар по моделированию на UML 2
- Спецсеминар по повторно-используемому дизайну и паттернам. SOLID. GRASP
- Спецсеминар по разработке cloud-native приложений. Docker + kubernetes
Коллоквиум по проектированию
Дата проведения коллоквиума: ТОДО
Коллоквиум включает:
- Подготовку реферата и представление доклада по выбору по темам курса
- Ответы на вопросы по билетам
Примерный план доклада выложен здесь
Для выбора темы нужно ТОДО
Учебный проект
В проекте нужно применить изученные методы проектирования на практике. Выполняется в команде из 1-2 чел. по одному из направлений:
- приложения класса предприятия на языке Java
- микросервисы и облачные приложения на Python
- приложения с открытым кодов на C++
Увеличение размера команды возможно по согласованию с преподавателем.
Задание 1
Выбрать тему, провести анализ требований, определить заинтересованные стороны, договориться о кросс-проверке проекта.
Задание 2
Реализовать версию системы в соответствии с принятым процессом разработки.
Задание 3
Провести рецензирование полученного от другой команды проекта.
Получить рецензию на свой проект и внести доработки.
Результаты проекта
- рабочая версия ПО в соответствии с постановкой задачи
- репозиторий с кодом, документацией и историей выполнения согласно принятым процессам
- результаты кросс-тестирования
- выступление с докладом и защита проекта
Примеры тем проектов
ТОДО Темы будут уточнены позднее. Можно предложить свою тему. Требования: можно сделать за 2-3 недели, есть заитересованные пользователи.
Формирование оценки по курсу
Итоговая оценка по курсу формируется на основе успеваемости в семестре. Решение о выставлении итоговой оценки без ответа на экзамене остается за преподавателем.
При выставлении итоговой оценки учитываются результаты коллоквиума, выполнение заданий по проектам и участвие в спецсеминарах.
Теоретический трек
Для тех, у кого разработка ПО не является профильным предметом.
Условия. Посещение всех кроме одной лекций с обязательной сдачей коллоквиума и спецсеминаров. По ним формируется итоговый балл.
Посещать семинары и выполнять проекты нет необходимости.
Проектный трек
Условия. Сдача коллоквиума и выполнение заданий по проекту. По ним формируется итоговый балл.
Участие в спецсеминарах не обязательно, по поможет повысить итоговый балл.
Литература
ТОДО
- Книга по разработке ПО
- Книга по ОО проектированию и паттернам
- По микросервисной архитектуре
- По UML 2
Интернет источники
- разработка облачных приложений
- расширенные вопросы применения UML
- по MDSD и Low-code
- по проектированию UI
Контакты
Хританков Антон Сергеевич, автор курса
Межуев Игорь Юрьевич
Андрианов Андрей Игоревич