Пример. Система оказания услуг.


Оформить заказ на услугу
Запросить список возможных услуг
Согласование цен на услуги
<<include>>
<<extend>>
Клиент
Менеджер

 


Диаграмма классов. Диаграммы классов служат для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования. Класс в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами других классов. Диаграмма классов содержит следующие основные элементы: классы, отношения, интерфейсы, комментарии.

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

- общедоступный (public) – атрибут доступен или виден из любого другого класса пакета;

- защищенный (protected) – атрибут недоступен или невиден для всех классов за исключением подклассов этого класса;

- закрытый (private) – атрибут недоступен или невиден для всех классов без исключения.

Кратность атрибута характеризует общее количество конкретных атрибутов данного типа. По умолчанию кратность [1..1], это говорит о том, что атрибут имеет одно значение. Кратность [0..1] означает, что значение может быть или не быть. Кратность [1..3] означает, что значения может быть 3 (например, ФИО).

Тип атрибута представляет собой выражение, семантика которого обусловлена некоторым типом данных, определенном в программе.

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

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

Отношения между классами

В диаграмме классов могут использоваться следующие отношения: ассоциации, зависимости, обобщения и реализации.

Отношение ассоциации. Графически – сплошная линия. Возможно наличие специальных дополнительных символов, а именно имени ассоциации и кратности. Если в диаграмме классов требуется отразить тот факт, что ассоциация между двумя классами имеет специальный вид – «часть-целое», то используется ассоциация специального вида, которая называется агрегатная ассоциация.В этом случае класс целое имеет более высокий концептуальный уровень, чем класс часть. Графически – линия с незакрашенным ромбом.

Отдел

 

 


Начальник
Инженер

 

 

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

Отношение зависимости. Графически – пунктирная линия со стрелкой, направленная от зависимого класса к независимому.

Отношение обобщения. Графически – сплошная линия с незакрашенной треугольной стрелкой, указывающей на более общий класс.

Интерфейс.

Интерфейс может обозначаться как кружок, если мы хотим его детализировать, то используем квадрат, разделенный на две части: в верхней – его имя, ниже – его операции.

Пример: менеджер модифицирует план, назначает ресурсы, получает отчеты от исполнителей, которыми могут быть сотрудники и субподрядчики проекта.

 

 

Менеджер
Номер ФИО Тел ФИО ФИО
Получить отчет () Назначить_исп ()
Исполнитель
Id ФИО
Создать отчет
Субподрядчик
Id ФИО  
Создать отчет  
Сотрудник
Id ФИО  
Создать отчет  
Отчет
Id Название
1..*
1..*
1..*
1..*

 


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

Название состояния
Имя Список

 


Пример, состояние звонок; список действий – издать гудок, окончание разговора.

Имеются два вида псевдосостояний:

1) начальное состояние, в котором находится созданный объект;

2) конечное состояние;

Переход представляет собой отношение между двумя состояниями, которое указывает на то, что объект в первом состоянии должен выполнить определенные действия и перейти во втрое состояние. Переходы имеют метки, которые состоят из трех необязательных частей: - события, - сторожевое условие и - действие.

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

Действие приводит к изменению состояния системы и может быть реализовано посредством передачи сообщения объекту, модификации связи или значения атрибута. Действия бывают двух видов: - действие входа; - действие выхода.

Входное действие (действие входа – Entry Action) – действие, которое выполняется в момент перехода в данное состояние. Обозначается с помощью ключевого слова – entry.

Выходное действие (действие выхода - Exit Action) – действие, которое выполняется в момент выхода из данного состояния. Обозначается с помощью ключевого слова – exit.

Ключевое слово do определяет деятельность, выполняющуюся в течении всего времени, пока объект находится в данном состоянии.

Пример диаграммы. Диаграмма состояний для получения отчета.

Диаграмма деятельности.

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

Состояние действия (Action State) – состояние, которое представляет вычисление элементарного действия. Такое состояние не может быть подвергнуто декомпозиции и содержать внутренние переходы.

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

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

Пример.

Выбрать товар по каталогу

 


Для моделирования можно использовать параллельные потоки. Для обозначения разделения и слияния параллельных потоков используется синхронизационная черта.

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

Назв. отд. 1
Назв. отд. 2  
Назв. отд. 3  

 


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

Имя [характеристика состояния объекта]

 


Причем, если используем объект, то должен быть такой класс. Такие объекты присоединяются к состояниями действия, отношениям зависимости (пунктирная линия со стрелкой).

Заказ  
Объект может содержать собственное имя, имя роли класса и имя класса. если объект имеет собственное имя, то оно должно начитаться со строчной буквы по правилам составления идентификаторов. Например:

 

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

Имя собственное/имя роли класса : имя класса

телефон : оборудование

телефон / инициатор сигнала : оборудование

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

абонент
номер
набрать номер

 

 


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

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

- если объект расположен внутри дорожки, то состояние объекта определяется действиями данной дорожки.

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

Пример диаграммы деятельности для оформления заказа.

1 дорожка – отдел приема и оформления заказа

2 дорожка – отдел продаж

3 дорожка – склад

1 дорожка. Начальное состояние. Принять заказ на товар.

На пересечении 1 и 2 – объект заказ (имя заказ, [получен])

2 дорожка. Зарегистрировать заказ.

На пересечении 2 и 3 – объект заказ (имя заказ, [зарегистрирован])

1 дорожка. Принять заказ на товар. Получить оплату за товар.

3 дорожка. Сливаются в Отпустить товар.

На пересечении 2 и 3 – объект заказ (имя заказ, [оформлен])

2 дорожка. Зарегистрировать заказ. Подготовить товар к оплате. Отправить товар клиенту.

На пересечении 1 и 2 – объект заказ (имя заказ, [выполнен])

1 дорожка. Принять заказ на товар. Закрыть заказ. Финальное состояние.

 

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

1) действие вызова (вызывает операцию, применяемую к объекту);

2) действие возврата (возвращает значение вызывающему объекту);

3) действие отправки (посылает объекту сигнал);

4) действие создания (создает новый объект);

5) действие уничтожения (удаляет объект).

Объект1
Объект2

 

 


Менеджер
Исполнитель
Пример:

 

 

Диаграмма коопераций

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

1) путь;

2) порядковый номер сообщения.

Путь используется для связи одного объекта с другим, а порядковый номер используется для обозначения временной последовательности сообщения.

Менеджер обдумывает и решает (1), далее передает исполнителю (2). Исполнитель делает отчет (3). Отчет идет менеджеру (4).

Диаграмма реализаций.

Диаграмма реализации включает диаграмму компонентов и диаграмму развертывания.

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

 

 


Компонент связывается интерфейсом с компонентом линией.

Различают два способа связи интерфейса и компонента. Если компонент реализует интерфейс, то интерфейс называет экспортируемым. Если же компонент использует некоторый интерфейс, реализуемый другим компонентом, то такой интерфейс называется импортируемым. Импортируемый интерфейс – пунктирная линия со стрелкой. Экспортируемый – обычная линия.

Диаграмма развертывания. Диаграмма предназначена для анализа аппаратной части системы, то есть не программ, а железа. Если разрабатываемая программа выполняется локально на компьютере пользователя и не использует периферийных устройств, то в этой диаграмме нет необходимости. На диаграмме развертывания имеется такой компонент как узел, который представляет собой физически существующие элементы системы, которые могут обладать вычислительным ресурсом или являются вычислительными устройствами. Обозначаются:

Имя

 


Оборудование абонента
web-браузер
Сервер
БД
Авторизация
Пример.

 



Дата добавления: 2016-07-27; просмотров: 2068;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.024 сек.