Проектирование программных систем 2024: различия между версиями

Материал из Public ATP Wiki
Перейти к навигации Перейти к поиску
Строка 18: Строка 18:
| Введение в курс (качество ПО, цели курса). Кратко о требованиях. Сценарии. Фичи. Варианты использования (динамич. представл.)
| Введение в курс (качество ПО, цели курса). Кратко о требованиях. Сценарии. Фичи. Варианты использования (динамич. представл.)
|-
|-
| 2
| 15/09
| [https:// Stack]
| REQ
| 4 неделя сентября
| Потоки данных DFD. Разработка требований к продуктам. Элементы customer development. Персоны. Метод JTBD. Путешествия. Истории пользователей и истории задач. Процесс разработки требований.
|-
|-
| 3
| 22/09
| [https:// String]
| DDD+UML2
| 2 неделя ноября
| Объектно-ориентированное моделирование. Системы типов. Абстрактные типы данных (ADT). Понятие о классах. Статическое представление модели UML2. Сравнение с моделями данных ER
|-
|-
| 4
| 29/09
| [https:// BigInteger]
| DDD
| 3 неделя ноября
| Выделение классов и построение моделей в Методы именных групп и Аббота, контрольные списки. Переход к статической модели UML. Повсеместный язык, сущности, агрегаты. Окрестности, предметные области.
|-
|-
| 5
| 06/10
| [https:// Geometry]
| DDD+UML2
| 2 неделя декабря
| Моделирование поведения. Согласованность моделей. Проектирование на основе обязанностей (метод CRC, RDD).
|-
|-
| 6
| 13/10
| [https:// Matrix]
| UML2
| 3 неделя декабря
| Динамическое представление модели (кооперации, последовательности). Статическое представление модели (структурные классы, расширенные классы, пакеты)
|-
| 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
| Защита проектов по курсу
|}
|}



Версия от 09: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 Защита проектов по курсу

Руководитель курса

Хританков Антон

Преподаватели курса

Материалы занятий

Оценки

Правила оценивания (по баллам, набранным в рамках семестра)

Семинары

Технические ссылки

Сервера