Диаграммы устойчивости пишутся после вариантов использования и перед диаграммами классов. Они помогают определить роли шагов варианта использования. Вы можете использовать их, чтобы убедиться, что ваши варианты использования достаточно надежны и отражают требования к использованию для создаваемой вами системы.
Они включают:
- Актеры
- Случаи использования
- Сущности
- Границы
- Управление
В то время как шаблон модель-представление-контроллер используется для пользовательских интерфейсов, шаблон Entity-Control-Boundary (ECB) используется для систем. Следующие аспекты ECB можно сравнить с абстрактной версией MVC, если это полезно:
Сущности (модель)
Объекты, представляющие системные данные, часто из модели предметной области.
Границы (сотрудник представления / службы)
Объекты, которые взаимодействуют с субъектами системы (например, пользователем или внешней службой ). Окна, экраны и меню являются примерами границ, которые взаимодействуют с пользователями.
Элементы управления (контроллер)
Объекты, которые являются посредниками между границами и сущностями. Они служат связующим звеном между граничными элементами и элементами сущности, реализуя логику, необходимую для управления различными элементами и их взаимодействиями. Важно понимать, что вы можете решить реализовать контроллеры в своем дизайне как нечто иное, чем объекты - многие контроллеры достаточно просты, чтобы быть реализованными, например, как метод объекта или граничного класса.
К их общению применяются четыре правила:
- Актеры могут разговаривать только с граничными объектами.
- Граничные объекты могут общаться только с контроллерами и актерами.
- Объекты Entity могут общаться только с контроллерами.
- Контроллеры могут взаимодействовать с граничными объектами и объектами сущностей, а также с другими контроллерами, но не с акторами.
Общение разрешено:
Entity Boundary Control
Entity X X
Boundary X
Control X X X
Часто используется вместе с / как часть OOAD и бизнес-моделирования. Определение Нила правильное, но оно в основном идентично MVC, но просто абстрактно для бизнеса. «Хорошее резюме» сделано хорошо, поэтому я не буду его здесь копировать, так как это не моя работа, более подробная, но согласуется с маркированным списком Нила.
Хорошее резюме - Conceito: Entity-Control-Boundary Pattern
OOAD
источник
Это классовые стереотипы, используемые при анализе.
граничные классы - это классы на границе системы - классы, с которыми вы или другие системы взаимодействуете
классы сущностей классы - это ваши типичные бизнес-сущности, такие как "человек" и "банковский счет".
классы управления реализуют некоторую бизнес-логику или другую
источник
Шаблон сущности Boundary Control имеет две версии:
- старый структурный, описанный в 127 (сущность как элементы модели данных, элемент управления как функции, граница как интерфейс приложения)
- новый шаблон
объекта как шаблон объекта:
- Boundary - это интерфейс для " другой мир »
- Контроль в любой внутренней логике (например, сервис в шаблоне DDD)
- Entity - это сервис сохранения для объектов (например, репозиторий в шаблоне DDD).
Все классы имеют операции (см. Анти-шаблон модели анемической предметной области Фаулера).
Все они являются компонентом модели в шаблоне MVC. Правила:
- Только Boundary предоставляет услуги для «другого мира»
- Boundary может вызывать только Controll
- Control может вызывать кого угодно
- Сущность не может никому звонить (!), Только звонить.
jz
источник
На самом деле диаграммы устойчивости (или диаграммы анализа, как их иногда называют) - это просто специализированные диаграммы классов. Они являются частью UML с самого начала (см. Книгу Якобсона «Унифицированный процесс разработки программного обеспечения» - часть серии книг «Три Amigos»). Вышеупомянутая книга дает хорошее определение этих трех классов на стр. 183–185.
источник