Звоните! 
 (926)274-88-54 
 Бесплатная доставка. 
 Бесплатная сборка. 
Ассортимент тканей

График работы:
Ежедневно. С 8-00 до 20-00.
Почта: soft_hous@mail.ru
Читальный зал -->  Диаграммы параллельных состояний 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

Заказ

датаПолучения оплачен номер: Строка цена: Деньги

отправить!) закрьпъО

Позиции заказа

Навигация

Клиент

имя ацрес

рейтингКредита():Сгрока

{если Заказ.клиент.рейтингКредита == низкий , то значение Заказ.оплачен должно быть истинным)

Корпоративный клиент

контакшоеИмя

рейтингКредита

лимитКредита

напомнить!) счетЗаМесяц(Целое)

отчет о продажах

Строка заказа

количество: Целое цена: Деньги удовлетворен: Булев

Индивидуальный клиент

номерКредитнойКарточки

(рейтингКредитаО == низкий }

0..1

Сотрудник

Товвр

Рис. 4.2. Диаграмма классов с навигацией

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



Атрибуты

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

В зависимости от степени детализации диаграммы обозначение атрибута может включать имя атрибута, тип и присваиваемое по умолча-

сутствие стрелок в моделях спецификации и реализации как неопределенное направление навигации.

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

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

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

Ассоциация представляет перманентную связь между двумя объектами. Другими словами, такая связь существует в течение всего жизненного цикла объектов, даже если соединяемые ею экземпляры могут изменяться во времени (или при необязательной ассоциации ее вообще может не быть). Так, например, параметрическая ссылка или создание объекта вовсе не подразумевают какую-либо ассоциацию; эти элементы следует моделировать с помощью зависимостей (см. главы 6 и 7).



Операции

Операции представляют собой процессы, реализуемые некоторым классом. Существует очевидное соответствие между операциями и методами класса. На уровне спецификации операции соответствуют общедоступным методам над некоторым типом. Обычно можно не показывать такие операции, которые просто манипулируют атрибутами, поскольку они и так подразумеваются. Однако иногда возникает необходимость показать, что данный атрибут предназначен только для чтения (read-only) или является неизменным (frozen), то есть его значение никогда не изменяется. В модели реализации можно также указать защищенные и закрытые операции.

Полный синтаксис операций в языке UML выглядит следующим образом:

<видимость> <имя> (<списокпараметров>): <выражениевозвращаю-щее-значение-типа> {<строка -свойств>}

видимость может принимать одно из трех значений: *+* общедоступная (public), # защищенная (protected) или - закрытая (private).

имя представляет собой строку символов.

нию значение. В синтаксисе языка UML это выглядит следующим образом: <видимость> <имя>: <тип> = оначение по умолчанию>, где видимость имеет такой же смысл, как и для операций, описываемых в следующем разделе.

В чем же заключается различие между атрибутом и ассоциацией?

С концептуальной точки зрения никакого различия нет. Атрибут является еще одним видом нотации, который вы можете использовать, если сочтете это удобным. Атрибуты обычно имеют единственное значение. На диаграмме, как правило, не показывается, является ли атрибут обязательным или необязательным, хотя это можно сделать, указав кратность в квадратных скобках после имени атрибута, например получениеДанных[0..1 ]: Данные.

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

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



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 [ 19 ] 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57



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



Звоните! Ежедневно!
 (926)274-88-54 
Продажа и изготовление мебели.


Копирование контента сайта запрещено.
Авторские права защищаются адвокатской коллегией г. Москвы
.