моделирование на языке Uml 2

49
Delivering Excellence in Software Engineering ® 2008. EPAM Systems. All rights reserved. Визуальное моделирование на языке UML

Transcript of моделирование на языке Uml 2

Page 1: моделирование на языке Uml 2

Delivering Excellence in Software Engineering

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML

Page 2: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.2

Цель презентации

Продемонстрировать на конкретном примере принципы построения и интеграции различных видов диаграмм UML.

Page 3: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved. 3

Визуальное моделирование на языке UML3

Постановка задачи2

Общие сведения1

Page 4: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved. 4

Визуальное моделирование на языке UML3

Постановка задачи2

Общие сведения1

Page 5: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Общие сведения

5

Page 6: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Общие сведения

6

Язык UML - язык визуального моделирования, который разработан для спецификации, визуализации, проектирования и документирования компонентов программного обеспечения.

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

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

Page 7: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Общие сведения

7

В нотации языка UML определены следующие виды диаграмм: • классов (class diagram) • вариантов использования (use case diagram) • кооперации (collaboration diagram) • последовательностей (sequence diagram) • состояний (statechart diagram) • деятельности (activity diagram) • компонентов (component diagram) • развертывания (deployment diagram)

Каждая из этих диаграмм детализирует и конкретизирует различные представления о модели системы в терминах языка UML.

Page 8: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Общие сведения

8

Интегрированная модель системы

Диаграмма вариантов

использования

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

и

Диаграмма компонентов

Диаграмма развертыван

ия

Диаграмма последовате

льностей

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

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

Диаграмма классов

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

Page 9: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Общие сведения

9

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

Важно понимать, что перечень диаграмм зависит от специфики конкретного проекта системы!

Page 10: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved. 10

Визуальное моделирование на языке UML3

Постановка задачи2

Общие сведения1

Page 11: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Постановка задачи

11

Для иллюстрации принципов интеграции диаграмм UML, рассмотрим конкретный пример - «Оплата сотовой связи через платежный терминал»:

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

Page 12: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Диаграммы взаимодействий

12

Визуальное моделирование на языке UML3

Постановка задачи2

Диаграмма классов3.1

3.2

Диаграммы конечных автоматов3.3

Диаграмма вариантов использования 3.4

Вывод3.5

Общие сведения1

Page 13: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML

13

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

• Каждая модель отражает специфический взгляд на объект моделирования;

• Модели могут быть альтернативой друг другу;

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

Page 14: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

14

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

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

Page 15: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

15

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

Требование КлассыС помощью экранного меню терминала пользователь выбирает услугу оплаты сотовой связи и указывает необходимый номер телефона.

•Пользователь•Пользовательский интерфейс•Терминал•УУ (Управляющее устройство)

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

•Пользователь •Пользовательский интерфейс•Терминал•Купюроприемник•УУ (Управляющее устройство)

Терминал самостоятельно распознает подлинность наличных денег и их номинал.

•Терминал •УУ (Управляющее устройство)

С помощью средства связи терминал пересылает ввёденные данные о платеже серверу платежной системы.

•Терминал•УУ (Управляющее устройство)•Сервер платежной системы

Встроенное в терминал устройство печати распечатывает и выдает пользователю чек.

•Пользователь•Терминал•Устройство печати•УУ (Управляющее устройство)

Page 16: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

16

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

Класс Атрибуты

Пользователь •Номер телефона•Сумма оплаты

Пользовательский интерфейс Нет (интерфейсы не содержат атрибутов)

Терминал •Наименование •Идентификационный номер

УУ Наименование

Купюроприемник Наименование

Устройство печати Наименование

Сервер платежной системы Наименование

Page 17: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

17

Помимо внутреннего устройства классов необходимо указать отношения (связи) между ними.

Купюроприемник, устройство печати, УУ являются составными частями платежного терминала, следовательно класс «Терминал» будет связан с классами «Купюроприемник», «Устройство печати» и «УУ» отношением типа «часть/целое», т.е. агрегирование. Объекты разного типа будут связаны отношениями ассоциации.

Теперь мы имеем достаточно данных для построения первоначальной версии диаграммы классов.

Page 18: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

18

class Диаграмма классов 2

Терминал

- Наименование - Идентификационный номер

Пользователь

- Номер телефона- Сумма оплаты

Купюроприемник

- Наименование

Сервер платежной системы

- Наименование

Устройство печати

- Наименование

УУ

- Наименование

Пользовательский интерфейс

*

Взаимодействует

1

1

Передает данныео платеже

1

Page 19: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы взаимодействий

19

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

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

Page 20: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы взаимодействий

20

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

В рамках данного примера рассмотрим диаграмму последовательностей.

Page 21: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы взаимодействий

21

Диаграмма последовательностей может содержать:• Объекты• Сообщения• Примечания

Объект - конкретная материализация класса. В рассматриваемом примере объектами являются:

• Пользователь• Пользовательский интерфейс• УУ• Купюроприемник• Устройство печати• Сервер платежной системы

Сообщение - спецификация обмена данными между объектами, при котором передается некая информация в расчете на то, что в ответ последует определенное действие.

Page 22: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы взаимодействий

22

sd Диаграмма последовательностей

:Купюроприемник :Устройствопечати

:УУ

«interface»:Пользовательский

интерфейс

:Пользователь :Серверплатежнойсистемы

Запросить выбор услуги ()

Отобразить меню услуг()

Услуга оплаты выбрана()Услуга передана()

Запросить оператора связи()Отобразить список операторов связи()

Оператор связи выбран()Оператор связи передан()

Запросить номер телефона()Отобразить приглашение к вводу номера телефона()

Номер телефона введен()Номер телефона передан()

Проверить корректность введенного номера ()

Запросить подтверждение номера телефона()Отобразить приглашение к подтверждению номерателефона()

Номер телефона подтвержден()Подтверждение номера телефона передано()

Запросить денежную купюру()Отобразить приглашение к вводу денежнойкупюры()

Ввести денежную купюру()Принять денежную купюру()

Денежная купюра введена()Проверить денежную купюру наналичие брака()

Распознать номинал денежной купюры()

Передать номинал денежной купюры()Отобразить номинал денежной купюры()

Запросить подтверждение оплаты()Отобразить приглашение к подтверждению оплаты()

Оплата подтверждена()Подтверждение оплаты передано()

Передать данные о платеже()

Передать распоряжение распечатать чек()Печать чека()

Чек выдан()

Page 23: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы взаимодействий

23

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

Page 24: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

24

С учетом вышеуказанного обстоятельства, диаграмма классов примет следующий вид:

class Диаграмма классов 2

Терминал

- Наименование - Идентификационный номер

Пользователь

- Номер телефона- Сумма оплаты

+ Ввести денежную купюру()+ Выбрать услугу оплаты()+ Ввести номер телефона()+ Выбрать оператора связи()+ Подтвердить введенный номер телефона()+ Подтвердить оплату()

Купюроприемник

- Наименование

+ Принять денежную купюру()

Сервер платежной системы

- Наименование

Устройство печати

- Наименование

+ Печать чека()

УУ

- Наименование

+ Запросить выбор услуги()+ Запросить оператора связи()+ Запросить номер телефона()+ Проверить корректность введенного номера()+ Запросить подтверждение номера телефона()+ Запросить денежную купюру()+ Проверить денежную купюру на наличие брака()+ Распознать номинал денежной купюры()+ Передать номинал денежной купюры()+ Запросить подтверждение оплаты()+ Передать данные о платеже()+ Передать распоряжение распечатать чек()

Пользовательский интерфейс

*

Взаимодействует

1

1Передает данныео платеже

1

Page 25: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

25

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

Учесть альтернативные и исключительные потоки помогут диаграммы конечных автоматов.

Page 26: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

26

Диаграммы конечных автоматов моделируют поведение отдельного объекта.

Автомат может показывать:• передачу потока управления от одной деятельности к

другой (диаграмма деятельности)• передачу потока управления от одного состояния объекта

к другому (диаграмма состояний)

В рамках данного примера рассмотрим оба вида диаграмм конечных автоматов.

Page 27: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

27

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

• Пользователь;• Пользовательский интерфейс;• УУ;• Купюроприемник;• Устройство печати;• Сервер платежной системы,

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

Page 28: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

28

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

Купюроприемник Сервер платежной системыУстройство печатиПользовательУУ

Запросить выбор услуги

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

Запросить оператора связи

Выбрать оператора связи

Запросить номер телефона

Ввести номер телефона

Проверить корректность введенного номера

Запросить подтверждение номера

телефона

Подтвердить введенный номер

телефона

Запросить денежную купюру

Ввести денежную купюру

Проверить денежную купюру на наличие

брака

Принять денежную купюру

Вернуть денежную купюру

Распознать номинал денежной купюры

Запросить подтверждение

оплатыПодтвердить

оплату

Передать данные о платеже

Передать распоряжение

распечатать чек

Печать чекаПринять данные о

платеже

[Осуществленпереход к менюуслуг]

[Осуществленпереход к менюуслуг]

[Иначе]

[Иначе]

[Иначе]

[Ввод отменен]

[Иначе]

[Введенный номертелефона некорректен]

[Иначе]

[Ввод отменен]

[Иначе]

[Брак не обнаружен]

Page 29: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

29

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

класса.

В рассматриваемом примере продемонстрируем динамические изменения класса «Система».

Page 30: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

30

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

Ожидание выбора услуги

Ожидание выбора оператора связи

Ожидание ввода номера телефона

Проверка корректности номера

телефона

Ожидание подтверждения

номера телефона

Ожидание ввода денежной купюры

Обработка денежной купюры

Ожидание оплаты счета

Печать чека

Услуга выбрана

Оператор связи выбран

Отменатранзакции

Отменатранзакции

Номер телефона введен

Возврат к меню

[Введен некорректныйномер телефона]

[Введен корректный номер телефона]

Отменатранзакции

Номер телефона подтвержден

Денежная купюра введена

[Введена полная сумма оплаты]

[Введена неполнаясумма оплаты ]

[Денежная купюране распознана]

Счет оплачен

Возврат к меню

Page 31: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграммы конечных автоматов

31

Переходы между состояниями объекта в диаграмме

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

Page 32: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма классов

32

Диаграмма классов с учетом дополнительных операций: class Диаграмма классов

Терминал

- Наименование - Идентификационный номер

Пользователь

- Номер телефона- Сумма оплаты

+ Ввести денежную купюру()+ Выбрать услугу оплаты()+ Ввести номер телефона()+ Выбрать оператора связи()+ Подтвердить введенный номер телефона()+ Подтвердить оплату()+ Инициировать переход к меню()+ Инициировать отмену транзакции()

Купюроприемник

- Наименование

+ Принять денежную купюру()+ Вернуть денежную купюру()

Сервер платежной системы

- Наименование

+ Принять данные о платеже()

Устройство печати

- Наименование

+ Печать чека()

УУ

- Наименование

+ Запросить выбор услуги()+ Запросить оператора связи()+ Запросить номер телефона()+ Проверить корректность введенного номера()+ Запросить подтверждение номера телефона()+ Запросить денежную купюру()+ Проверить денежную купюру на наличие брака()+ Распознать номинал денежной купюры()+ Передать номинал денежной купюры()+ Запросить подтверждение оплаты()+ Передать данные о платеже()+ Передать распоряжение распечатать чек()+ Осуществить переход к меню()+ Осуществить отмену транзакции()

Пользовательский интерфейс

*Взаимодействует

1

1

Передает данныео платеже

1

Page 33: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма вариантов использования

33

Логическая модель (диаграмма классов) построена, однако сказать о том, что это её окончательная версия, нельзя. Процесс моделирования – это итеративный процесс с наращиванием возможностей. Модель классов может дополнить не менее значимая при проектировании системы модель вариантов использования. Не смотря на то, что в данном примере моделирование вариантов использования рассматривается после моделирования классов, эти виды деятельности, как правило, выполняются параллельно. Эти две модели дополняют друг друга, обмениваясь дополнительной информацией. Варианты использования облегчают выявление классов, а модели классов, наоборот, приводят к идентификации и пересмотру вариантов использования.

Page 34: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.34

Визуальное моделирование на языке UML. Диаграмма вариантов использования

Диаграмма вариантов использования - диаграмма, на которой показана совокупность вариантов использования и актеров, а также отношения между ними.

Актером или действующим лицом называется любой объект, субъект или система, взаимодействующая с моделируемой бизнес-системой извне.

Вариант использования определяет набор действий, совершаемый системой при диалоге с актером.

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

Page 35: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма вариантов использования

35

uc Диаграмма вариантов использования

УУ

Пользователь

Купюроприемник

Устройство печати

Сервер платежной системы

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

Выбрать оператора связи

Ввести номер телефона

Подтвердить введенный номер

телефона

Ввести денежную купюру

Подтвердить оплату

Получить чек

Проверить корректность

номера телефона

Прооверить денежную купюру на наличие

брака

Определить номинал денежной

купюры

Передать данные о платеже«include»

«include»

«include»

«include»

Page 36: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма вариантов использования

36

Операции, определенные моделью классов, зафиксированы в вариантах использования.

Page 37: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма вариантов использования

37

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

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

Page 38: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Диаграмма вариантов использования

38

class Диаграмма классов

Терминал

- Наименование - Идентификационный номер

Пользователь

- Номер телефона- Сумма оплаты

+ Ввести денежную купюру()+ Выбрать услугу оплаты()+ Ввести номер телефона()+ Выбрать оператора связи()+ Подтвердить введенный номер телефона()+ Подтвердить оплату()+ Инициировать переход к меню()+ Инициировать отмену транзакции()

Купюроприемник

- Наименование

+ Принять денежную купюру()+ Вернуть денежную купюру()

УУ

- Наименование

+ Запросить выбор услуги()+ Запросить оператора связи()+ Запросить номер телефона()+ Проверить корректность введенного номера()+ Запросить подтверждение номера телефона()+ Запросить денежную купюру()+ Проверить денежную купюру на наличие брака()+ Распознать номинал денежной купюры()+ Передать номинал денежной купюры()+ Запросить подтверждение оплаты()+ Передать данные о платеже()+ Передать распоряжение распечатать чек()+ Осуществить переход к меню()+ Осуществить отмену транзакции()

Пользовательский интерфейс

*

Взаимодействует

1

Page 39: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

39

Подведем итог проделанной работы:

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

Page 40: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

40

Схема взаимодействия диаграмм UML:

Page 41: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

41

Для представления бизнес-процесса «Оплата сотовой связи через платежный терминал» с различных точек зрения были построены следующие диаграммы:

• Диаграмма классов• Диаграмма последовательности• Диаграмма деятельности• Диаграмма состояний • Диаграмма вариантов использования

Page 42: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

42

Диаграмма классов – аспект структуры данных системы.

class Диаграмма классов

Терминал

- Наименование - Идентификационный номер

Пользователь

- Номер телефона- Сумма оплаты

+ Ввести денежную купюру()+ Выбрать услугу оплаты()+ Ввести номер телефона()+ Выбрать оператора связи()+ Подтвердить введенный номер телефона()+ Подтвердить оплату()+ Инициировать переход к меню()+ Инициировать отмену транзакции()

Купюроприемник

- Наименование

+ Принять денежную купюру()+ Вернуть денежную купюру()

Сервер платежной системы

- Наименование

+ Принять данные о платеже()

Устройство печати

- Наименование

+ Печать чека()

УУ

- Наименование

+ Запросить выбор услуги()+ Запросить оператора связи()+ Запросить номер телефона()+ Проверить корректность введенного номера()+ Запросить подтверждение номера телефона()+ Запросить денежную купюру()+ Проверить денежную купюру на наличие брака()+ Распознать номинал денежной купюры()+ Передать номинал денежной купюры()+ Запросить подтверждение оплаты()+ Передать данные о платеже()+ Передать распоряжение распечатать чек()+ Осуществить переход к меню()+ Осуществить отмену транзакции()

Пользовательский интерфейс

*Взаимодействует

1

1

Передает данныео платеже

1

Page 43: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

43

Диаграмма последовательности – аспект поведения системы. Описывает совместное функционирование объектов системы.

sd Диаграмма последовательностей

:Купюроприемник :Устройствопечати

:УУ

«interface»:Пользовательский

интерфейс

:Пользователь :Серверплатежнойсистемы

Запросить выбор услуги ()

Отобразить меню услуг()

Услуга оплаты выбрана()Услуга передана()

Запросить оператора связи()

Отобразить список операторов связи()

Оператор связи выбран()Оператор связи передан()

Запросить номер телефона()Отобразить приглашение к вводу номера телефона()

Номер телефона введен()Номер телефона передан()

Проверить корректность введенного номера ()

Запросить подтверждение номера телефона()Отобразить приглашение к подтверждению номерателефона()

Номер телефона подтвержден()Подтверждение номера телефона передано()

Запросить денежную купюру()Отобразить приглашение к вводу денежнойкупюры()

Ввести денежную купюру()Принять денежную купюру()

Денежная купюра введена()Проверить денежную купюру наналичие брака()

Распознать номинал денежной купюры()

Передать номинал денежной купюры()Отобразить номинал денежной купюры()

Запросить подтверждение оплаты()Отобразить приглашение к подтверждению оплаты()

Оплата подтверждена()Подтверждение оплаты передано()

Передать данные о платеже()

Передать распоряжение распечатать чек()Печать чека()

Чек выдан()

Page 44: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

44

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

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

Купюроприемник Сервер платежной системыУстройство печатиПользовательУУ

Запросить выбор услуги

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

Запросить оператора связи

Выбрать оператора связи

Запросить номер телефона

Ввести номер телефона

Проверить корректность введенного номера

Запросить подтверждение номера

телефона

Подтвердить введенный номер

телефона

Запросить денежную купюру

Ввести денежную купюру

Проверить денежную купюру на наличие

брака

Принять денежную купюру

Вернуть денежную купюру

Распознать номинал денежной купюры

Запросить подтверждение

оплатыПодтвердить

оплату

Передать данные о платеже

Передать распоряжение

распечатать чек

Печать чекаПринять данные о

платеже

[Осуществленпереход к менюуслуг]

[Осуществленпереход к менюуслуг]

[Иначе]

[Иначе]

[Иначе]

[Ввод отменен]

[Иначе]

[Введенный номертелефона некорректен]

[Иначе]

[Ввод отменен]

[Иначе]

[Брак не обнаружен]

Page 45: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

45

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

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

Ожидание выбора услуги

Ожидание выбора оператора связи

Ожидание ввода номера телефона

Проверка корректности номера

телефона

Ожидание подтверждения

номера телефона

Ожидание ввода денежной купюры

Обработка денежной купюры

Ожидание оплаты счета

Печать чека

Услуга выбрана

Оператор связи выбран

Отменатранзакции

Отменатранзакции

Номер телефона введен

Возврат к меню

[Введен некорректныйномер телефона]

[Введен корректный номер телефона]

Отменатранзакции

Номер телефона подтвержден

Денежная купюра введена

[Введена полная сумма оплаты]

[Введена неполнаясумма оплаты ]

[Денежная купюране распознана]

Счет оплачен

Возврат к меню

Page 46: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

46

Диаграмма вариантов использования - моделирование вида системы с точки зрения вариантов ее использования.

uc Диаграмма вариантов использования

УУ

Пользователь

Купюроприемник

Устройство печати

Сервер платежной системы

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

Выбрать оператора связи

Ввести номер телефона

Подтвердить введенный номер

телефона

Ввести денежную купюру

Подтвердить оплату

Получить чек

Проверить корректность

номера телефона

Прооверить денежную купюру на наличие

брака

Определить номинал денежной

купюры

Передать данные о платеже«include»

«include»

«include»

«include»

Page 47: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UML. Вывод

47

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

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

Page 48: моделирование на языке Uml 2

® 2008. EPAM Systems. All rights reserved.

Дополнительная информация

• Лешек А. Мацяшек. Анализ и проектирование информационных систем с помощью UML 2.0, 3-е издание. : Пер. с англ. - М.: ООО «И.Д. Вильямс», 2008. – 816с.

• Фаулер М., Скотт К. UML. Основы. – Пер. с англ. – СПб: Символ-Плюс, 2002. – 192с.

• http://www.irm.com.au/UML_Business_Context.htm

• http://www.intuit.ru/

48

Page 49: моделирование на языке Uml 2

Delivering Excellence in Software Engineering

® 2008. EPAM Systems. All rights reserved.

Визуальное моделирование на языке UMLFor more information, please contact:NameTitleEPAM Systems, Inc.AddressCity, State, Zip CodePhone: Fax: Email:http://www.epam.com