Что такое классы границ, классы управления и классы сущностей в диаграммах классов UML? - PullRequest
74 голосов
/ 26 марта 2009

Сейчас я использую NetBeans в качестве своей IDE-опции, и у нее есть плагин для UML-моделирования. На диаграмме классов есть модельные элементы, известные как Boundary Class, Control Class и Entity Class. Тем не менее, я не могу найти хорошее определение их, но я нашел этот сайт на диаграммах классов UML.

Ответы [ 5 ]

177 голосов
/ 10 июня 2013

Диаграммы устойчивости написаны после сценариев использования и перед диаграммами классов. Они помогают определить роли шагов варианта использования. Вы можете использовать их для , чтобы ваши сценарии использования были достаточно надежными для представления требований к использованию системы, которую вы строите.

Они включают в себя:

  1. Актеры
  2. Варианты использования
  3. Сущность
  4. 1020 * Границы *
  5. Управление

В то время как шаблон Model-View-Controller используется для пользовательских интерфейсов, шаблон Entity-Control-Boundary Pattern (ECB) используется для систем. Следующие аспекты ECB можно сравнить с абстрактной версией MVC, если это полезно:

UML notation

Объекты (модель)
Объекты, представляющие системные данные, часто из модели предметной области.

Границы (просмотр / соавтор службы)
Объекты, которые взаимодействуют с действующими лицами системы (например, пользователь или внешний сервис ). Окна, экраны и меню являются примерами границ, которые взаимодействуют с пользователями.

Органы управления (контроллер)
Объекты, которые являются посредниками между границами и объектами. Они служат связующим звеном между граничными элементами и элементами сущности, реализуя логику, необходимую для управления различными элементами и их взаимодействиями. Важно понимать, что вы можете решить реализовать контроллеры в своем проекте как нечто иное, чем объекты - многие контроллеры достаточно просты, чтобы их можно было реализовать, например, как метод сущности или граничного класса.

К их общению применяются четыре правила:

  1. Актеры могут разговаривать только с граничными объектами.
  2. Граничные объекты могут общаться только с контролерами и актерами.
  3. Объекты сущностей могут общаться только с контроллерами.
  4. Контроллеры могут общаться с граничными объектами и объектами сущностей, а также с другими контроллерами, но не с действующими лицами

Связь разрешена:

         Entity    Boundary   Control
Entity     X                     X
Boundary                         X
Control    X          X          X
18 голосов
/ 26 марта 2009

Часто используется с / как часть OOAD и бизнес-моделирования. Определение Нейла правильное, но оно в основном идентично MVC, но просто абстрагировано для бизнеса. «Хорошее резюме» хорошо сделано, поэтому я не буду копировать его здесь, поскольку это не моя работа, более подробная, но в соответствии с пунктами Нейла.

Хорошее резюме - Conceito: шаблон границы сущности-контроля

OOAD

15 голосов
/ 26 марта 2009

Это классовые стереотипы, используемые в анализе.

  • граничные классы - это классы на границе системы - классы, с которыми вы или другие системы взаимодействуете

  • классы сущностей - это ваши типичные бизнес-сущности, такие как «персона» и «банковский счет»

  • управляющие классы реализуют некоторую бизнес-логику или другую

4 голосов
/ 30 июня 2009

На самом деле диаграммы устойчивости (или диаграммы анализа, как их иногда называют) являются просто специализированными диаграммами классов. Они являются частью UML и были с самого начала (см. Книгу Джейкобсона «Унифицированный процесс разработки программного обеспечения - часть серии книг« Три амиго »). Вышеупомянутая книга имеет хорошее определение этих трех классов на стр. 183-185.

3 голосов
/ 06 марта 2017

Шаблон Boundary Control Entity имеет две версии:
- старая структура, описанная в 127 (сущность как элементы модели данных, управление как функции, граница как интерфейс приложения)
- новый шаблон объекта


Как шаблон объекта:
- Граница является интерфейсом для «другого мира»
- Контроль в любой внутренней логике (например, услуга в шаблоне DDD)
- Entity является постоянным сервисом для объектов (например, хранилище в шаблоне DDD).
Все классы имеют операции (см. Анти-паттерн модели анемичного домена Фаулера)
Все они являются компонентом модели в паттерне MVC. Правила:
- Только Граница предоставляет услуги для «другого мира»
- Граница может звонить только на Controll
- Контроль может позвонить кому угодно
- Сущность не может никому звонить (!), Только вызываться.

JZ

...