Проектирование программных систем 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
 +
| Защита проектов по курсу
 
|}
 
|}
  

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

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

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

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

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

Оценки

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

Семинары

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

Сервера