Правила ограничений

При построении диаграмм классов большая часть времени уходит на представление различных ограничений. На рис. 3.1 показано, что За­каз (Order) может быть сделан только одним единственным Клиентом (Customer). Из этой диаграммы классов также следует, что каждая Line Item (Позиция заказа) рассматривается отдельно: вы можете заказать 40 коричневых, 40 голубых и 40 красных штучек, но не 120 штук во­обще. Далее диаграмма утверждает, что Корпоративные клиенты рас­полагают кредитами, а Индивидуальные клиенты - нет.

С помощью базовых конструкций ассоциации, атрибута и обобщения можно сделать многое, специфицируя наиболее важные ограничения, но этими средствами невозможно записать каждое ограничение. Эти ограничения еще нужно каким-то образом отобразить, и диаграмма классов является вполне подходящим местом для этого.


Язык UML разрешает использовать для описания ограничений все что угодно. При этом необходимо лишь придерживаться правила: ограни­чения следует помещать в фигурные скобки ({}). Можно употреблять разговорный язык, язык программирования или формальный объект­ный язык ограничений UML (Object Constraint Language, OCL) [43], базирующийся на исчислении предикатов. Формальное написание по­зволяет избежать риска неоднозначного толкования конструкций раз­говорного языка. Однако это приводит к возможности недоразумений из-за непрофессионального владения ОСЬ пишущими и читающими. Поэтому до тех пор, пока ваши читатели не вполне овладеют исчисле­нием предикатов, я предлагаю говорить на обычном языке.

Если хотите, можете предварять ограничение именем с двоеточием, например: (запрещение кровосмешения: муж и жена не должны быть родными братом и сестрой}.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: