ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 23.11.2023
Просмотров: 36
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рис.6.9. Диаграмма пакетов
Диаграммы состояний определяют все возможные состояния, в которых может находиться конкретный объект, а также процесс смены состояний объекта в результате наступления некоторых событий. Существует много форм диаграмм состояний, незначительно отличающихся друг от друга семантикой.
На рис. 6.10 - пример диаграммы состояний для банковского счета (account). Можно наблюдать процесс перехода счета из одного состояния в другое. Если клиент требует закрыть счет, он переходит в состояние «закрыт». Требование клиента называется событием
(event), такие события и вызывают переход из одного состояния в другое.
Если клиент снимает деньги со счета, он может перейти в состояние «Превышение кредита». Это происходит только в том случае, если баланс по счету меньше нуля, что отражено условием [отрицательный баланс] на диаграмме. Условие определяет, когда может произойти переход из одного состояния в другое.
На диаграмме два специальных состояния - начальное (start) и конечное (stop). Может быть только одно начальное состояние и столько угодно конечных состояний. Когда объект находится в конкретном состоянии, могут выполняться различные процессы. В примере при превышении кредита клиенту посылается сообщение. Процессы, происходящие в момент, когда объект находится в определенном состоянии, называются действиями (actions).
С состоянием можно связывать данные: деятельность, входное действие, выходное действие и событие. У перехода существует несколько спецификаций. Они включают события, аргументы, ограждающие условия, действия и посылаемые события.
Событие (event) - это то, что вызывает переход из одного состояния в другое. В примере событие «Клиент требует закрыть» вызывает переход счета из открытого в закрытое состояние. Событие размещают на диаграмме вдоль линии перехода.
У событий могут быть аргументы. Событие «Сделать вклад», вызывающее переход счета из состояния «Превышен счет» в состояние «Открыто», может иметь аргумент
Amount (Количество), описывающий сумму депозита.
Рис. 6.10. Диаграмма состояний для класса Account
Диаграммы состояний не надо создавать для каждого класса, они применяются в сложных случаях. Если объект класса может существовать в нескольких состояниях и в каждом ведет себя по-разному, для него может потребоваться диаграмма состояний.
Диаграммы деятельностей полезны в описании поведения, включающего большое количество параллельных процессов. Достоинство - поддержка параллелизма. Они применяются для моделирования потоков работ и параллельного программирования.
Недостаток - связи между действиями и объектами просматриваются не слишком четко.
Диаграммы деятельностей используют в ситуациях:
• анализ варианта использования. На этой стадии нас не интересует связь между действиями и объектами, а нужно только понять, какие действия должны иметь место и каковы зависимости в поведении системы;
• анализ потоков работ (workflow) в различных вариантах использования.
Диаграммы компонентов показывают, как выглядит модель на физическом уровне.
На них изображены компоненты ПО и связи между ними. На такой диаграмме выделяют два типа компонентов: исполняемые компоненты и библиотеки кода.
На рис. 6.11 изображена одна из диаграмм компонентов для банковской системы.
Рис. 6.11.Диаграмма компонентов для клиентской части системы
Пример банковской системы содержит два потока обработки, получаются два исполняемых файла. Один - это клиентская часть системы, она содержит компоненты Cash
Dispenser, Card Reader и ATM Screen. Второй файл - это сервер, включающий в себя компонент Account. Диаграмма компонентов для сервера показана на рис.6.12.
Рис. 6.12. Диаграмма компонентов для сервера
У системы может быть несколько диаграмм компонентов в зависимости от числа подсистем или исполняемых файлов. В общем случае пакеты - это совокупности компонентов. Пример банковкой системы содержит два пакета: клиентская часть и сервер.
Диаграммы компонентов применяются теми участниками проекта, кто отвечает за компиляцию системы.
Диаграмма размещения отражает физические взаимосвязи между программными и аппаратными компонентами системы. Она показывает физическое расположение сети и местонахождение в ней различных компонентов.
Каждый узел на диаграмме размещения представляет собой некоторый тип вычислительного устройства - в большинстве случаев часть аппаратуры.
В данном примере банковская система состоит из большого количества подсистем, выполняемых на отдельных физических устройствах, или узлах (node). Диаграмма размещения для банковской системы показана на рис. 6.13.
Из диаграммы можно узнать о физическом размещении системы. Клиентские программы будут работать в нескольких местах на различных сайтах. Через закрытые сети будет осуществляться их сообщение с региональным сервером системы, с работающим ПО.
Региональный сервер посредством локальной сети будет сообщаться с сервером банковской
БД. С региональным сервером соединен принтер.
Диаграмма размещения используется менеджером проекта, пользователями, архитектором системы и эксплуатационным персоналом, чтобы понять физическое размещение системы и расположение ее отдельных подсистем.
Рис. 6.13. Диаграмма размещения