Улучшаемые навыки
Архитектура ПО
Концептуальное моделирование
Доменное моделирование
Analysis Patterns
Аналитические шаблоны
Domain-Driven Design
Temporal Patterns
Party-Role
Accounting Patterns
История изменений данных
C4 Model
Docs-as-Code
Проектирование бизнес-логики
Архитектурное моделирование
Инструменты
Miro
UML
Чему вы научитесь
01
Распознавать повторяющиеся структуры предметной области и использовать готовые аналитические шаблоны вместо проектирования модели с нуля.
02
Моделировать людей, организации, роли, отношения и иерархии без размножения однотипных сущностей и специальных случаев.
03
Проектировать данные и отношения, которые изменяются во времени, с явной семантикой истории и аудита.
04
Моделировать наблюдения, измерения, количественные характеристики и учётные операции.
05
Выявлять решения концептуальной модели, которые плохо переживают изменение требований, и рефакторить их до начала реализации.
06
Адаптировать аналитический шаблон к конкретной предметной области, учитывать границы его применимости и связывать концептуальную модель с последующими архитектурными решениями.
Программа курса
01
Концептуальная модель до таблиц, API и сервисов
Назначение концептуальной модели. Чем аналитический шаблон отличается от технического паттерна реализации.
Типовые признаки неустойчивой модели: дублирование понятий, специальные случаи, смешение разных смыслов, потеря истории.
Analysis Patterns М. Фаулера как библиотека повторно используемых моделей.
Практика (Старт сквозного кейса): Знакомство с предметной областью сквозного кейса. Диагностика проблем в исходной (legacy) модели корпоративной системы и прогноз последствий от внедрения новых требований.
02
Участники, роли, отношения и организационные структуры Party-Role.
Person и Organization. Роли и меняющиеся отношения.
Иерархии и структуры ответственности.
Когда наследование типов сущностей приводит к комбинаторному взрыву.
Практика (Развитие кейса): Рефакторинг исходной модели Устранение независимых сущностей для клиентов, сотрудников и партнеров; построение устойчивой модели участников на основе Party-Role и связанных шаблонов.
03
Наблюдения, характеристики и измерения
Observations и Measurements.
Значение, единица измерения, источник, время наблюдения, классификация.
Отличие свойства объекта от результата наблюдения.
Повторно используемые модели характеристик и количественных данных.
Практика: Проектирование в рамках кейса подсистемы, где характеристики объектов поступают из разных источников, изменяются и требуют сохранения контекста измерения.
04
История изменений и учёт
Temporal Patterns. Effective time и время регистрации информации.
История состояний и отношений.
Аудит и ретроспективные изменения.
Accounting Patterns: события, записи и учётные операции.
Варианты реализации истории; границы применимости Event Sourcing.
Практика: Интеграция темпоральных требований в сквозной кейс: моделирование критичной истории изменений бизнес-объектов и выбор подходящего архитектурного способа её реализации.
05
Аналитические шаблоны в современной архитектурной практике
Связь Analysis Patterns с domain modeling и DDD.
Общий язык и границы применимости модели.
Отличие концептуальной модели от архитектурных представлений C4.
Docs-as-Code и diagrams-as-code.
ИИ как помощник при построении, критике и документировании моделей.
Практика: Использование ИИ для поиска «слепых зон» и семантических ошибок в получившейся модели кейса. Оформление результатов средствами PlantUML/Mermaid (Docs-as-Code) и сопоставление концептуальной модели с C4-представлением будущей системы.
06
Сквозной кейс: проверка изменениями и защита
Выбор аналитических шаблонов, оценка альтернатив и последствий.
Границы применимости финальной модели.
Связь концептуального решения с архитектурой реализации.
Практика: Стресс-тест спроектированной модели неполными и внезапно изменяющимися требованиями. Финальная доработка, оценка альтернатив и аргументированная защита принятого архитектурного решения
07
Итого на курс 24 часа: теория – 10 ч (41%), практика – 14 ч (59%)
Для кого
Архитектор ПО
Руководитель группы\Тимлид
Системный аналитик
Разработчик
Предварительная подготовка
Необходимо:
понимать основные понятия сущности, атрибута, отношения и типа;
уметь читать диаграммы классов UML;
иметь опыт участия в анализе, проектировании или разработке информационных систем не менее 6 месяцев.
Полезен опыт проектирования баз данных, API, бизнес-моделей или архитектуры приложений.
Рекомендуемый связанный курс: REQ-003 «Объектно-ориентированный анализ и проектирование на UML»..