Диаграмма состояний
Применение языка UML при разработке информационных систем
Цель презентации
Диаграмма состояний
Диаграмма состояний
Диаграмма состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Элементы диаграммы состояний
Примеры
Примеры
Пример разработки моделей для конкретного процесса
Пример разработки моделей для конкретного процесса
Пример разработки моделей для конкретного процесса
Пример разработки моделей для конкретного процесса
Пример разработки моделей для конкретного процесса
Пример разработки моделей для конкретного процесса
Дополнительные источники информации
Диаграмма состояний
720.59K

Диаграмма состояний. Применение языка UML при разработке информационных систем

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

Delivering Excellence in Software Engineering
Диаграмма состояний
Общие сведения
® 2008. EPAM Systems. All rights
reserved.

2. Применение языка UML при разработке информационных систем

Курс включает в себя следующие презентации:
• UML.
Введение
• Диаграмма вариантов использования
• Диаграмма деятельности
• Диаграмма последовательности
• Диаграмма классов
• Диаграмма состояний
2
® 2008. EPAM Systems. All rights reserved.

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

Дать общие представления о диаграммах состояний
3
® 2008. EPAM Systems. All rights reserved.

4.

1
Диаграмма
Диаграмма состояний
состояний
2
Элементы
Элементы диаграммы
диаграммы состояний
состояний
3
Примеры
Примеры
4
Комплексный
Комплексный пример
пример разработки
разработки моделей
моделей для
для процесса
процесса
® 2008. EPAM Systems. All rights reserved.
4

5.

1
Диаграмма
Диаграмма состояний
состояний
2
Элементы
Элементы диаграммы
диаграммы состояний
состояний
3
Примеры
Примеры
4
Комплексный
Комплексный пример
пример разработки
разработки моделей
моделей для
для процесса
процесса
® 2008. EPAM Systems. All rights reserved.
5

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

Для моделирования динамических аспектов
диаграммы взаимодействий и автоматы.
системы
используются
Диаграммы взаимодействий моделируют поведение сообщества
совместно работающих объектов.
Автоматы моделируют поведение отдельного объекта.
Автомат может показывать:
• передачу потока управления от одного состояния объекта к другому
(диаграмма состояний)
• передачу потока управления
(диаграмма деятельности)
от
одной
деятельности
к
другой
Диаграмма состояний (state machine diagram) — это диаграмма,
которая показывает автомат, фокусируя внимание на его
потенциальных состояниях и переходах между ними
6
® 2008. EPAM Systems. All rights reserved.

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

Назначение диаграммы состояний
Диаграммы состояний служат для моделирования поведения
реактивных объектов
Диаграммы состояний могут существовать автономно, и могут
использоваться для моделирования поведения классов, прецедентов и
системы в целом
7
® 2008. EPAM Systems. All rights reserved.

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

Диаграмма состояний может содержать
• Состояния
• Переходы
• Примечания
8
® 2008. EPAM Systems. All rights reserved.

9.

1
Диаграмма
Диаграмма состояний
состояний
2
Элементы
Элементы диаграммы
диаграммы состояний
состояний
3
Примеры
Примеры
4
Комплексный
Комплексный пример
пример разработки
разработки моделей
моделей для
для процесса
процесса
® 2008. EPAM Systems. All rights reserved.
9

10. Элементы диаграммы состояний

состоянии
действий в данном
Список внутренних
Состояние
Состояние объекта (state) — это ситуация в его жизни, на протяжении которой
он удовлетворяет некоторому условию, осуществляет определенную деятельность
или ожидает какого-то события.
Состояние определяют следующие элементы:
stm st 01
Имя состояния
Имя состояния
имя - текстовая строка, которая отличает одно
состояние от всех остальных. Имя состояния должно
быть уникальным внутри объемлющего пакета
внутренние действия - действия, выполняемые при
входе в состояние и выходе из него, а также
выполняемые без выхода из состояния
подсостояния - внутри состояния могут существовать подсостояния, как непересекающиеся
(активизируемые последовательно), так и параллельные (активные одновременно)
отложенные события - список событий, которые не обработаны в этом состоянии, а
отложены и поставлены в очередь для обработки объектом в некотором другом состоянии
10
® 2008. EPAM Systems. All rights reserved.

11. Элементы диаграммы состояний

Внутреннее действие
Внутреннее действие — текстовая строка формата
<метка действия / выражение действия>
stm st 02
Ввод пароля
+
+
+
+
entry / установить с имволы невидимыми
exit / установить символы видимыми
do / получить символ
do / показать помощь
Перечень меток действия имеет фиксированные значения,
которые не могут быть использованы в качестве имен
событий
entry — указывает на действие, которое выполняется в
момент входа в данное состояние
Chas e
+
+
+
+
+
entry / setMode(onTrack)
exit / setMode(offTrack)
newTarget / trackerAcquire
do / followTarget
selfTest / defer
exit — указывает на действие, которое выполняется в
момент выхода из данного состояния
do — специфицирует выполняющуюся деятельность, которая
выполняется в течение всего времени, пока объект находится
в данном состоянии, или до тех пор, пока не закончится
вычисление, специфицированное следующим за ней
выражением действия
include — используется для обращения к подавтомату, при
этом следующее за ней выражение действия содержит имя
этого подавтомата
11
® 2008. EPAM Systems. All rights reserved.

12. Элементы диаграммы состояний

Переход
Переход (transition) —
это отношение между двумя состояниями,
показывающее, что объект, находящийся в исходном состоянии, должен
выполнить определенное действие и перейти в целевое состояние, как только
произойдет указанное событие и будут выполнены определенные сторожевые
условия
stm st 03
Исх одное состояние
Исх одное состояние
переход
переход [сторожевое условие] /дейс твие
Ц елевое состояние
Ц елевое состояние
Каждый переход может помечен строкой текста, которая имеет следующий общий формат:
<сигнатура события>[<сторожевое условие>] <выражение действия>
Сигнатура события описывает некоторое событие с необходимыми аргументами:
<имя события>(<список параметров, разделенных запятыми>)
12
® 2008. EPAM Systems. All rights reserved.

13. Элементы диаграммы состояний

Событие-триггер, сторожевое условие и действие
stm st 04
Активизация
почтовой программы
установить соединение
/тел.соединение установлено
закончить загрузку почты
[почтовый ящик на сервере пуст]
/разорвать с оединение
Загру зка почты с
сервера
Событие-триггер (trigger event) —
событие, при получении которого объектом,
находящимся в исходном состоянии, может
сработать переход
Сторожевое условие (guard condition) — логическое выражение, которое
вычисляется при возникновении события-триггера. Если значение истинно, то
переходу разрешено сработать, если ложно - переход не срабатывает
Действие (action) — это атомарное вычисление, которое выполняется в том
случае, когда переход срабатывает, и приводит к изменению состояния объекта
или возврату значения
13
® 2008. EPAM Systems. All rights reserved.

14. Элементы диаграммы состояний

Псевдосостояния
Псевдосостояние объекта (pseudo-state) — абстракция для различных типов
вершин, используемая в диаграмме состояний
Псевдосостояния не содержат никаких внутренних действий
• Начальное состояние (initial)
stm st 02
Initial
Final
EntryPoint
ExitPoint
• Конечное состояние (final)
Choice
• Точка входа (entry point)
History
Junction
Terminate
• Точка выхода (exit point)
• Выбор (choice)
• Историческое состояние (history)
• Соединение (junction)
• Прекращение (terminate)
• Ветвление (fork)
14
® 2008. EPAM Systems. All rights reserved.

15. Элементы диаграммы состояний

Составные состояния и подсостояния
Простое состояние — состояние, не имеющее внутренней структуры
Составное состояние (composite state) — сложное состояние, которое состоит
из других вложенных в него состояний
Подсостояние (substate) — состояние, являющееся частью другого состояния
stm st 05
Составное состояние
Подсос тояние 1
Подсос тояние 2
15
® 2008. EPAM Systems. All rights reserved.

16. Элементы диаграммы состояний

Последовательные подсостояния
Последовательные подсостояния (sequental substates) используются для
моделирования такого поведения объекта, во время которого в каждый момент
времени объект может находиться в одном и только одном подсостояний
stm st 06
Дозвон до абонента
Поднять телефонну ю тру бку
+
+
цифра
entry / генерировать тон-сигнал
exit / прекратить тон-сигнал
Набра ть телефонный
номе р
+
[ номер верный]
entry / добавить цифру(n)
цифра
Начальное и конечное состояния объекта должны быть единственными в каждом
составном состоянии
16
® 2008. EPAM Systems. All rights reserved.

17. Элементы диаграммы состояний

Параллельные подсостояния
Параллельные
подсостояния
(concurrent
substates)
позволяют
специфицировать два или более автомата, которые выполняются параллельно в
контексте объемлющего объекта
stm st 07
Обслу живание
Ожидание
обслужить
[Тестирование]
Проверка у стройства
Самодиагностика
Ожидание
Команда
[Прием команд]
• Объемлющий объект может одновременно находиться в каждом из параллельных
подсостояний
• Если какой-либо из подавтоматов пришел в свое конечное состояние раньше
других, то он должен ожидать, пока другие подавтоматы не придут в свои
конечные состояния
17
® 2008. EPAM Systems. All rights reserved.

18. Элементы диаграммы состояний

Советы
При моделировании состояний соблюдайте следующие правила:
• Дайте диаграмме имя, соответствующее назначению
• Сначала смоделируйте устойчивые состояния объекта, затем переходите к
допустимым переходам состояний
• Ветвления и параллельность моделируйте на отдельной диаграмме
• Располагайте элементы так, чтобы число пересечений было минимальным
18
® 2008. EPAM Systems. All rights reserved.

19.

1
Диаграмма
Диаграмма состояний
состояний
2
Элементы
Элементы диаграммы
диаграммы состояний
состояний
3
Примеры
Примеры
4
Комплексный
Комплексный пример
пример разработки
разработки моделей
моделей для
для процесса
процесса
® 2008. EPAM Systems. All rights reserved.
19

20. Примеры

stm Issue
Opene d
Assigned
Cancelle d
20
® 2008. EPAM Systems. All rights reserved.
Resolv ed
Reopene d
Close d

21. Примеры

stm Поведение банкомата
Ожидание ка рточки
Initial
транзакция завершена
Final
карточка вставлена
Ожидание ввода
ПИН-кода
Завершение
транзакции
от мена
транзакции
ПИН-код введен
[ПИН-код неверный]
карточка возвращена
Проверка ПИН-кода
три неудачи
[конфискация
карточки]
[ПИН-код верный]
отмена транзакц ии
Ожидание выбора
операции
выбор с правки
Возврат ка рточки
печать закончена
Обработка запроса
на получение справки
справка
сформирована
Печ ать
наличные выд аны
[выбрана печать чека]
наличные выд аны
[выбрана печать чека]
выбор суммы
[сумма введена]
Обработка запроса
на снятие наличны х
[кредит не
првышен ]
Выдача наличны х
[кредит превышен] /сообщение
21
® 2008. EPAM Systems. All rights reserved.

22.

1
Диаграмма
Диаграмма состояний
состояний
2
Элементы
Элементы диаграммы
диаграммы состояний
состояний
3
Примеры
Примеры
4
Комплексный
Комплексный пример
пример разработки
разработки моделей
моделей для
для процесса
процесса
® 2008. EPAM Systems. All rights reserved.
22

23. Пример разработки моделей для конкретного процесса

23
® 2008. EPAM Systems. All rights reserved.

24. Пример разработки моделей для конкретного процесса

Диаграмма прецедентов (вариантов использования)
uc Use Case Model
Complete
application
Quote policy price
and conditions
Agent
Custome r
Create polic y
Manager
Present polic y
24
® 2008. EPAM Systems. All rights reserved.

25. Пример разработки моделей для конкретного процесса

Диаграмма деятельности
act Activ ity Diagram
Agent
Customer
Manager
[customer inquiry]
Rev iew quote
Interv iew
customer
Complete
application
quote [v alid]
[application received]
Dev elope quote
[quote rejected]
[quote accept ed]
Record final
quote
Draw up policy
documents
Despatch policy
documents
25
® 2008. EPAM Systems. All rights reserved.

26. Пример разработки моделей для конкретного процесса

Диаграмма последовательности
sd Use Case Model
Current :Policy
update screen
:Policy
:Insured Item
:Product
:Manager
Enter policy number()
Read ()
Accumulate value()
Read()
Product details()
Item details()
Policy details()
Display detailes()
26
® 2008. EPAM Systems. All rights reserved.

27. Пример разработки моделей для конкретного процесса

Диаграмма связи
sd Policy
Current :Policy update
screen
1: Enter policy number
:Insured Ite m
3: Accumulate value
2: Read
:Polic y
:Manager
27
® 2008. EPAM Systems. All rights reserved.
4: Read rules
:Produc t

28. Пример разработки моделей для конкретного процесса

Диаграмма классов
class Class Model
Adвress
-
Street: c har
City: char
+
+
+
Search() : void
Modify() : void
Cleans() : void
Polic y
Custome r
has
0..*
1
-
Name: char
Contract details: char
Telephone number: int 1.. *
+
+
Read() : void
Contact() : void
0..* -
Policy Number: int
Coverage: int
Sum Insured: int
Expire Date: int
+
+
Update() : void
Accumulate() : void
1
Beneficiar y
Relationship: int
Owner Flag: boolean
+
Add() : void
Person
Organisation
28
-
-
ACN: int
Regist ered Address: c har
Contact_ Person: c har
-
Date_of_Birth: int
Gender: char
Occupation: char
+
Contact() : void
+
Value() : void
® 2008. EPAM Systems. All rights reserved.
1.. *
Insured Ite m
-
Name: char
Card Number: int
Expiry Date: int
+
Value() : void

29. Дополнительные источники информации

Web-cайты
UML® Resource Page
www.uml.org
UML Tutorial
http://www.sparxsystems.com.au/uml-tutorial.html
UML 2.1 Tutorial
http://www.sparxsystems.com.au/resources/uml2_tutorial/
Книги
Г. Буч, Д. Рамбо, А. Джекобсон “Язык UML Руководство пользователя”
Леоненков А. “Самоучитель UML”
Martin Fowler “UML Distilled: A Brief Guide to the Standard Object Modeling
Language”
29
® 2008. EPAM Systems. All rights reserved.

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

Delivering Excellence in Software Engineering
Диаграмма состояний
For more information, please contact:
Sergey Kalinov
Software Engineering Team Leader
EPAM Systems, Inc.
Ryazan, Russia (GMT+3)
Phone: +7 920 635 02 13
Email: [email protected]
http://www.epam.com
® 2008. EPAM Systems. All rights
reserved.
English     Русский Правила