Диаграммы Состояний

Диаграммы Классов

Кооперативные диаграммы

Кооперативные диаграммы отражают ту же самую информацию, что и диаграммы Последовательности. Однако делают они это по-другому и с другими целями. Показанная на рисунке 2. диаграмма Последовательности представлена на рис. 9.3 в виде Кооперативной диаграммы.

Рис. 9.3. Кооперативная диаграмма, описывающая процесс снятия Джо со своего счета $20

Диаграммы классов отражают взаимодействие между классами системы. Классы – это типы объектов. Например, счет конкретного лица - это объект. Типом такого объекта можно считать счет вообще, то есть "Счет" (account). Это и будет класс.

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

Диаграмма Классов для варианта использования "Снять деньги" показана на рис. 9.4.

Рис. 9.4. Диаграмма Классов для варианта использования "Снять деньги"

На этой диаграмме Классов показаны связи между классами, реализующими вариант использования "Снять деньги". В этом процессе задействованы четыре класса: Card Reader (устройство для чтения карточек), Account (счет), ATM Screen (экран АТМ) и Cash Dispenser (кассовый аппарат). Каждый класс на диаграмме Классов выглядит в виде прямоугольника, разделенного на три части. В первой содержится имя класса, во второй -- его атрибуты. Атрибут -- это некоторая информация, характеризующая класс. Например, у класса Account (счет) имеется три атрибута: Account Number (номер счета), PIN (идентификационный номер) и Balance (баланс). В последней части содержатся операции класса, отражающие его поведение (действия, выполняемые классом). У класса Account имеется четыре операции: Open (открыть), Withdraw Funds (снять деньги), Deduct Funds (вычесть сумму денег из счета) и Verify Funds (проверить наличие денег).

Связывающие классы линии отражают взаимодействие между классами. Так, класс Account связан с классом ATM Screen (экран АТМ), потому что они непосредственно сообщаются и взаимодействуют друг с другом. Класс Card Reader (устройство для чтения карточек) не связан с классом Cash Dispenser (кассовый аппарат), поскольку они не сообщаются друг с другом непосредственно. Обратите внимание, что слева от некоторых атрибутов и операций имеются маленькие значки в виде висячего замка. Они указывают, что атрибут или операция класса закрыты (private). Доступ к закрытым атрибутам или операциям возможен только из содержащего их класса. Account Number, PIN и Balance являются закрытыми атрибутами класса Account. Кроме того, операции Deduct Funds и Verify Funds также закрыты для этого класса.

Разработчики используют диаграммы Классов для реального создания классов. Такие инструменты, как Rose, могут генерировать основу кода классов, которую затем программисты заполняют деталями на выбранном ими языке.

Диаграммы Состояний дают возможность моделировать различные состояния, в которых может находиться объект (поведение объекта). В отличие от диаграмм Классов, они моделируют динамику объектов.

На рис. 9.5 приводится пример диаграммы Состояний для банковского счета.

Видно, в каких состояниях может существовать счет. Можно также видеть процесс перехода счета из одного состояния в другое. Например, если клиент требует закрыть открытый счет, он переходит в состояние "закрыт". Требование клиента называется событием (event); события вызывают переход из одного состояния в другое.

Рис. 9.5. Диаграмма Состояний для класса Account.

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

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


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



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