Проектирование программных систем 2024 — различия между версиями
(→Примерный план) |
(→Примерный план) |
||
| Строка 18: | Строка 18: | ||
| Введение в курс (качество ПО, цели курса). Кратко о требованиях. Сценарии. Фичи. Варианты использования (динамич. представл.) | | Введение в курс (качество ПО, цели курса). Кратко о требованиях. Сценарии. Фичи. Варианты использования (динамич. представл.) | ||
|- | |- | ||
| − | | | + | | 15/09 |
| − | | | + | | REQ |
| − | | | + | | Потоки данных DFD. Разработка требований к продуктам. Элементы customer development. Персоны. Метод JTBD. Путешествия. Истории пользователей и истории задач. Процесс разработки требований. |
|- | |- | ||
| − | | | + | | 22/09 |
| − | | | + | | DDD+UML2 |
| − | | | + | | Объектно-ориентированное моделирование. Системы типов. Абстрактные типы данных (ADT). Понятие о классах. Статическое представление модели UML2. Сравнение с моделями данных ER |
|- | |- | ||
| − | | | + | | 29/09 |
| − | | | + | | DDD |
| − | | | + | | Выделение классов и построение моделей в Методы именных групп и Аббота, контрольные списки. Переход к статической модели UML. Повсеместный язык, сущности, агрегаты. Окрестности, предметные области. |
|- | |- | ||
| − | | | + | | 06/10 |
| − | | | + | | DDD+UML2 |
| − | | | + | | Моделирование поведения. Согласованность моделей. Проектирование на основе обязанностей (метод CRC, RDD). |
|- | |- | ||
| − | | | + | | 13/10 |
| − | | | + | | UML2 |
| − | | | + | | Динамическое представление модели (кооперации, последовательности). Статическое представление модели (структурные классы, расширенные классы, пакеты) |
| + | |- | ||
| + | | 20/10 | ||
| + | | UML2 | ||
| + | | Динамическое представление модели. Схемы состояний. Представление деятельности. Action Language | ||
| + | |- | ||
| + | | 27/10 | ||
| + | | UML2+PROC | ||
| + | | Построение согласованных моделей. Big Picture UML2. Процесс гибкого моделирования по требованиям (на основе ICONIX+AM+DDD) | ||
| + | |- | ||
| + | | 02/11 | ||
| + | | ARCH | ||
| + | | Методы структурного проектирования (история, связность и сцепление, постепенное уточнение). Введение в архитектуру ПО (определение,стили). | ||
| + | |- | ||
| + | | 09/11 | ||
| + | | ARCH+UML2 | ||
| + | | Функциональная декомпозиция. UML 2. Диаграммы компонентов и размещения | ||
| + | |- | ||
| + | | 16/11 | ||
| + | | MSA | ||
| + | | Введение в микросервисную архитектуру. Ресурсы. Распределенные системы. Декомпозиция на окрестности и на сервисы. Гексагональная архитектура. Паттерны API и коммуникаций. Представление на диаграмме компонентов. | ||
| + | |- | ||
| + | | 23/11 | ||
| + | | MSA | ||
| + | | Паттерны, принципы SOLID в реализации микросервисов. Фреймворки. | ||
| + | |- | ||
| + | | 30/11 | ||
| + | | MSA | ||
| + | | Объектно-ориентированное проектирование. Применение паттернов проектирования. | ||
| + | |- | ||
| + | | 07/12 | ||
| + | | MSA+DATA | ||
| + | | Проектирование данных. Реляционная, размерностные, нереляционные модели. Применение для MSA | ||
| + | |- | ||
| + | | 14/12 | ||
| + | | ARCH+MSA | ||
| + | | Измерения в проектировании. Метрики сложности программ, оценка качества дизайна для ООП, для MSA | ||
| + | |- | ||
| + | | 21/12 | ||
| + | | EXAM | ||
| + | | Защита проектов по курсу | ||
|} | |} | ||
Версия 12:05, 21 августа 2024
Содержание
Общие сведения
Общая информация
На курсе вы узнаете как использовать язык моделирования UML2 в разработке распределенных приложений в микросервисной архитектуре (MSA) с применением метода предметно-ориентированного проектирования (Domain-Driven Design).
А также, как анализировать и проверять требования, структурировать программы, почему интерфейс это не абстрактный класс, как разрабатывать большие системы из небольших сервисов, паттерны и приемы, используемые архитекторами и тим лидами.
Практика предполагает выполнение и защиту двух заданий по командному курсовому проекту.
Для разработчиков, системных аналитиков и будущих архитекторов программного обеспечения.
Примерный план
| Неделя | Раздел | Тема |
|---|---|---|
| 07/09 | INTRO+REQ | Введение в курс (качество ПО, цели курса). Кратко о требованиях. Сценарии. Фичи. Варианты использования (динамич. представл.) |
| 15/09 | REQ | Потоки данных DFD. Разработка требований к продуктам. Элементы customer development. Персоны. Метод JTBD. Путешествия. Истории пользователей и истории задач. Процесс разработки требований. |
| 22/09 | DDD+UML2 | Объектно-ориентированное моделирование. Системы типов. Абстрактные типы данных (ADT). Понятие о классах. Статическое представление модели UML2. Сравнение с моделями данных ER |
| 29/09 | DDD | Выделение классов и построение моделей в Методы именных групп и Аббота, контрольные списки. Переход к статической модели UML. Повсеместный язык, сущности, агрегаты. Окрестности, предметные области. |
| 06/10 | DDD+UML2 | Моделирование поведения. Согласованность моделей. Проектирование на основе обязанностей (метод CRC, RDD). |
| 13/10 | UML2 | Динамическое представление модели (кооперации, последовательности). Статическое представление модели (структурные классы, расширенные классы, пакеты) |
| 20/10 | UML2 | Динамическое представление модели. Схемы состояний. Представление деятельности. Action Language |
| 27/10 | UML2+PROC | Построение согласованных моделей. Big Picture UML2. Процесс гибкого моделирования по требованиям (на основе ICONIX+AM+DDD) |
| 02/11 | ARCH | Методы структурного проектирования (история, связность и сцепление, постепенное уточнение). Введение в архитектуру ПО (определение,стили). |
| 09/11 | ARCH+UML2 | Функциональная декомпозиция. UML 2. Диаграммы компонентов и размещения |
| 16/11 | MSA | Введение в микросервисную архитектуру. Ресурсы. Распределенные системы. Декомпозиция на окрестности и на сервисы. Гексагональная архитектура. Паттерны API и коммуникаций. Представление на диаграмме компонентов. |
| 23/11 | MSA | Паттерны, принципы SOLID в реализации микросервисов. Фреймворки. |
| 30/11 | MSA | Объектно-ориентированное проектирование. Применение паттернов проектирования. |
| 07/12 | MSA+DATA | Проектирование данных. Реляционная, размерностные, нереляционные модели. Применение для MSA |
| 14/12 | ARCH+MSA | Измерения в проектировании. Метрики сложности программ, оценка качества дизайна для ООП, для MSA |
| 21/12 | EXAM | Защита проектов по курсу |
Руководитель курса
Хританков Антон
Преподаватели курса
Материалы занятий
Оценки
Правила оценивания (по баллам, набранным в рамках семестра)