Как описать систему в UML: от Use Case до состояний
Конспект статьи. Автор оригинала: Анна Вичугова (Школа анализа и проектирования ИС)
Пример трёх UML-диаграмм для системы онлайн-оплаты курса с промокодом: вариантов использования, классов и состояний.
Use Case
Показывает границы системы, акторов и прецеденты. Актор «Клиент» имеет прецедент «Оплатить договор» и необязательный «Оплатить со скидкой по промокоду», который его расширяет (extend, пунктирная стрелка).
Основы ООП для диаграммы классов
- Класс — абстракция сущностей с общими атрибутами и поведением; объект — экземпляр.
- Наследование: «Физлицо» и «Юрлицо» наследуют от абстрактного «Клиента» общие поля и добавляют свои (паспорт; название и ИНН).
- Агрегация (пустой ромб) — целое и части, части могут существовать отдельно.
- Композиция (закрашенный ромб) — при уничтожении целого уничтожаются части.
- Кратность — например, в одном договоре несколько курсов.
- Интерфейс — класс только с методами, обеспечивает полиморфизм.
Состояния
Диаграмма состояний описывает жизненный цикл одного объекта — в примере промокода. Автор считает её самой простой для понимания.
Логика
Use case определяет функции, диаграмма классов — доменную модель, sequence — взаимодействие объектов, state — поведение отдельного объекта.
Источник: Как описать систему в UML: от Use Case до состояний
Автор: Анна Вичугова (Школа анализа и проектирования ИС)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.
Автор: Анна Вичугова (Школа анализа и проектирования ИС)
Это конспект, пересказ основных идей. Полный текст, иллюстрации и примеры читайте в оригинальной статье.