Разделы презентаций


Унифицированный язык моделирования UML ( продолжение )

Содержание

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

Слайды и текст этой презентации

Слайд 1Унифицированный язык моделирования UML (продолжение)
Бессарабов Н.В.
bes@fpm.kubsu.ru
2008 г.

Унифицированный язык моделирования UML (продолжение) Бессарабов Н.В.bes@fpm.kubsu.ru2008 г.

Слайд 2Диаграммы состояний (Statechart Diagram)
Существуют задачи (например, управление технологическими процессами

), для которых важны состояния системы, последовательность переходов между состояниями

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

Слайд 3Пример автомата




Хотя выход из строя не мгновенный и ремонт длительный

процесс, диаграмма имеет смысл.
Теоретически состояния могут быть и недостижимы. Достижимость

состояния это бинарное свойство отношения на графе.
Из-за распространенности и важности задач синтеза больших цифровых автоматов важно решать задачи их декомпозиции.
Пример автоматаХотя выход из строя не мгновенный и ремонт длительный процесс, диаграмма имеет смысл.Теоретически состояния могут быть

Слайд 4Свойства автомата без памяти
Автомат не запоминает историю смены состояний в

каждый момент, а может находиться в единственном состоянии (изначально автоматы

– это последовательные системы).
Хотя смена состояний автоматов происходит последовательно во времени, концепция времени в формализм не входит. Ни время нахождения в состоянии, ни время перехода не учитывается.
Число событий автомата конечно.
Не существуют изолированные состояния
Не должно быть конфликтующих переходов, т.е. переходов одновременно в несколько состояний, хотя параллельные автоматы в UML можно описывать.
Свойства автомата без памятиАвтомат не запоминает историю смены состояний в каждый момент, а может находиться в единственном

Слайд 5Состояния
Изображение состояний





Очень часто при моделировании бизнеса приходится
работать с динамическими

объектами, для них нужно
уметь найти набор характеризующих инвариантов.

Для

записи действий применяется следующий синтаксис:
<метка_действия “/” выражение_действия>

СостоянияИзображение состоянийОчень часто при моделировании бизнеса приходится работать с динамическими объектами, для них нужно уметь найти набор

Слайд 6Типовые метки
entry - указывает, что следующее за ней действие выполняется

в момент входа в данное состояние.
exit – метка действия после

завершения состояния.
do - выполняется в течение всего состояния
include - обращение к подавтомату, в остальных случаях метка действия может выбираться; обычно она характеризует переходы в подсостояния (частные состояния).
Типовые меткиentry - указывает, что следующее за ней действие выполняется в момент входа в данное состояние.exit –

Слайд 7Пример 1. Состояния счета


снятие со счета (отри-
цательный баланс)


занесение на счет (по-
ложительный баланс)



проверка баланса (отрица-
тельный баланс в течение определенного числа дней)

Начальное состояние

Конечное состояние

Пример 1. Состояния счета

Слайд 8Переходы. Простой переход (Simple transition)
Обозначает смену одного состояния другим.
Возможно,

переход совершается только при выполнении
заданных условий. Переход осуществляется в

результате
события (окончания выполнения деятельности – do activity),
после получения сигнала или сообщения. Если переход
по сигналу требует выполнения условия, то прописывают
сторожевое условие.
Переходы изображаются сплошной линией и помечаются
строкой текста, имеющей формат:
<сигнатура_события>“[”<сторожевое_условие>“]”
<выполнение_действия>
Переходы. Простой переход (Simple transition)Обозначает смену одного состояния другим. Возможно, переход совершается только при выполнении заданных условий.

Слайд 9События
Формально событие -- это спецификация некоторого факта.
Семантика события концентрирует внимание

на внешних
проявлениях различных изменений моделируемой
сущности.
Пример события: поднятая телефонная

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

Слайд 10Параллельные и последовательные состояния
Имеются последовательные подсостояния (sequential
substate) и параллельные

подсостояния (concurrent
substate). Параллельные состояния в программировании
реализуются очень часто.


Для обозначения параллельных состояний разделяют
составные состояния горизонтальными линиями.
Параллельные и последовательные состоянияИмеются последовательные подсостояния (sequential substate) и параллельные подсостояния (concurrent substate). Параллельные состояния в программировании

Слайд 11Сложные состояния
Очень часто системы настолько сложны, что приходится
раскрывать состояние

через другие состояния, такое
состояние называется композитным (composite state).

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

Слайд 12Автоматы с памятью
Несмотря на то, что не каждый автомат имеет

память и
потому предыстория переходов учитывается не всегда,
исторические данные

бывают очень важны. Поэтому в
UML существуют исторические состояния (history
state), обозначаемые так

Исторические состояния применяются в контексте
составного состояния.
Замечание: На рисунке изображено давнее
историческое состояние



Автоматы с памятьюНесмотря на то, что не каждый автомат имеет память и потому предыстория переходов учитывается не

Слайд 13Исторические состояния
Недавнее историческое состояние должно быть первым подсостоянием в составном

состоянии и переход извне должен быть произведен в это историческое

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

Слайд 14Подсостояния
В практике важно учесть детали переходов между
составными состояниями.
a -

переход в подсостояние
b - переход в начальное состояние каждого из

подавтоматов
f и g - переходы из каждого из вложенных подсостояний
c - переход из подсостояния
h - переход между подсостояниями
join и fork не определяют синхронности в параллельных автоматах. f
a c


b d e g
ПодсостоянияВ практике важно учесть детали переходов между составными состояниями.a - переход в подсостояниеb - переход в начальное

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

Join

Fork






Переход Join сработает, если уже сработали переходы от
S1 до Sn. В Fork переход в состояния S1..Sn произойдет
одновременно.

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

Слайд 16Соединения и разветвления. Синхронизация
Синхронизирующее состояние
Синхронизирующее состояние используется совместно с переходом-соединением или

с переходом-ветвлением и явно указывает события других подавтоматов, которые влияют

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

Слайд 17Диаграмма состояний. Пример 2

Диаграмма состояний. Пример 2

Слайд 18Диаграмма состояний. Пример 3

Диаграмма состояний. Пример 3

Слайд 19Диаграммы деятельностей. (activity diagram)
Описывает динамический аспект, деятельность понимается
как некоторая последовательность

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

единственное
начальное и единственное конечное состояние.

Начальное состояние –

Конечное состояние –

Диаграммы деятельностей. (activity diagram)Описывает динамический аспект, деятельность понимается как некоторая последовательность вычислений, выполняемых автоматом, реализованным в виде

Слайд 20Состояние действия (action state)
Изображается следующим образом:

И заполняется, например, так:

x :=

x+1
составить план работ
При словесном описании состояние действия
используется глагол в

повелительном наклонении.
Фраза может быть псевдокодом и т.п.
Состояние действия (action state)Изображается следующим образом:И заполняется, например, так:x := x+1составить план работПри словесном описании состояние действия

Слайд 21Сложные действия
Для описания сложных действий может быть
использована декомпозиция в

состояния под-
деятельности (Subactivity State)

Сложные действияДля описания сложных действий может быть использована декомпозиция в состояния под-деятельности (Subactivity State)

Слайд 22Пример диаграммы деятельностей: решение квадратного уравнения

Пример диаграммы деятельностей: решение квадратного уравнения

Слайд 23Пример диаграммы деятельности приготовле-ние растворимого кофе

Пример диаграммы деятельности  приготовле-ние растворимого кофе

Слайд 24Плавательные дорожки

Плавательные дорожки

Слайд 25Плавательные дорожки (продолжение)

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

Слайд 26Синхронизация параллельных действий

Синхронизация параллельных действий

Слайд 27Диаграммы кооперации. Collaboration Diagram
Взаимодействие элементов представляется двумя диаграммами -- последовательностей и

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


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

Слайд 28Диаграммы кооперации уровня спецификаций
Классы изображаются прямоугольниками, внутри – строка текста

в
формате:
“/” “:”
[“:”]
Могут указываться имена пакетов, перед которыми

стоит знак “::”, и
цепочек вложенных пакетов, разделяемых тем же знаком.
Пример:

Класс

Класс

Кооперация

Диаграммы кооперации уровня спецификацийКлассы изображаются прямоугольниками, внутри – строка текста в формате:“/” “:” [“:”]Могут указываться имена пакетов,

Слайд 29Некоторые подробности
Если кооперация заключается в реализации
метода некоторого класса, то

символ кооперации
соединяется штриховой стрелкой обобщения с
классом, метод которого

используется.



Изображается символ кооперации, внутри которого
указывается информация о вызываемом классе.

:Платеж/
оформить_счет()

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

Слайд 30Подробности (продолжение)
Изображение объектов с указанием ролей.





Мультиобъект – это набор

объектов
на одном конце ассоциации,

изображается следующим образом:


Мултиобъект – это набор объектов на одном конце ассоциации, изображается следующим образом:

Подробности (продолжение)Изображение объектов с указанием ролей. Мультиобъект – это набор объектов   на одном конце ассоциации,

Слайд 31Активные и пассивные объекты
В UML выделяют две категории объектов:
-активные
-пассивные

Пассивный объект

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


Активный объект управляет другими объектами и имеет
свою собственную нить (thread).
В UML под нитью понимают поток управления внутри
вычислительного процесса.
Отличие процесса и нити в том, что нить использует часть
ресурсов системы и не может монополизировать какой-либо
ресурс.
Обычно, активные объекты выделяют более толстыми
линиями.
Активные и пассивные объектыВ UML выделяют две категории объектов:-активные-пассивныеПассивный объект может оперировать с данными, но не может

Слайд 32Пример с активными и пассивными объектами
1:принтер := выбрать()
2: печать(документ)

Пример с активными и пассивными объектами1:принтер := выбрать()2: печать(документ)

Слайд 33Использование составных объектов в диаграммах кооперации
В диаграммах кооперации используют

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

экземпляр произвольной ассоциации, собственного имени не имеет.
На связи могут указывать стереотипы (например, self, local, global, parameter (параметр метода)).

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

Слайд 34Сообщения и акторы в диаграммах кооперации

Сообщения и акторы в диаграммах кооперации

Слайд 35Диаграмма компонентов. (Component Diagram)
Программная система реализована в том случае, если
определен

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

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

Слайд 36Изображения компонентов
Компонент может иметь имя и быть представлен на
уровне

типа или экземпляра.
Могут указываться стереотипы, характеризующие
виды компонентов:
library
table
file
document

Изображения компонентовКомпонент может иметь имя и быть представлен на уровне типа или экземпляра.Могут указываться стереотипы, характеризующие виды

Слайд 37Компоненты могут обладать интерфейсами
Интерфейс

Компоненты могут обладать интерфейсами Интерфейс

Слайд 38Компонент может реализовать свой интерфейс и может использовать интерфейс, реализуемый

другим компонентом
Клиент сервер







использует

Компонент может реализовать свой интерфейс и может использовать интерфейс, реализуемый другим компонентомКлиент				сервер		  			 использует

Слайд 39Диаграммы последовательностей
На диаграмме последовательностей изображаются взаимодействующие между собой объекты, изображаемые

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

object lifeline (линия жизни).
Если объект существует постоянно, его линия жизни находится на всей диаграмме. Уничтожение объекта изображается:

прерывает линию жизни


так изображается фокус управления объектом
– значит объект не пассивен

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

Слайд 40Сообщения между объектами
Сообщения – это в некотором смысле законченные фрагменты


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

процедур
простой поток управления
асинхронное сообщение
возврат из вызванной процедуры
Поток управления может разветвляться.
Стереотипы сообщений.
“call” – вызов операции или процедуры принимающего объекта.
“return” – возвращение результатов обработки сообщения
“create” – требование создать объект.
“destroy” - требование разрушить объект.
“send” – посылка сообщения объекту. Отличие в том, что такое сообщение должно быть явно описано в инициирующем классе.

Для описания временных ограничений используют фигурные скобки,
например, { время_ожидания <= 5 c }.
Сообщения между объектамиСообщения – это в некотором смысле законченные фрагменты информации. Один объект инициирует сообщения, другой получает.Используются

Слайд 41Пример диаграммы последовательностей

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

Слайд 42Пример диаграммы последовательностей

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

Слайд 43Пакеты, как средство работы с большими проектами
Пакеты представляют собой универсальное

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

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

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

Слайд 44Пример пакета: многооконный графический редактор диаграмм

Пример пакета: многооконный графический редактор диаграмм

Слайд 45Диаграммы развертывания
 Диаграммы развертывания показывают конфигурацию исполняемой
программной системы, состоящей

из программных компонентов, процессов,
объектов. Она состоит из узлов и

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

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

Слайд 46Описание примера
Представлен пример, состоящий из трех вычислительных систем, представляющих типичный

случай системы доступа к базам данным на основе Internet/Intranet технологии,

которая предполагает наличие двух компьютеров, один из которых выполняет функции web - сервера с возможностью исполнения ASP или CGI, который готовит данные для отображения на компьютере клиента. Для подготовки отображаемых данных web - сервер, в лице компонента Исполнение ASP программ, выполняет запросы к SQL - серверу, который хранит данные и обрабатывает их. Все это делается по запросу с клиентского компьютера и на него же посылаются результаты запросов в подготовленном для отображения виде ( HTML ).
Описание примераПредставлен пример, состоящий из трех вычислительных систем, представляющих типичный случай системы доступа к базам данным на

Слайд 47Принцип Парето
Вильфредо Парето (1848-1923) сформулировал свой принцип
(называемый еще принципом

дисбаланса) для экономики, но
найденная закономерность работает и во многих

других областях.

Формулировка принципа Парето: Небольшая доля причин,
вкладываемых средств или прилагаемых усилий (например, 20%)
отвечает за большую долю результатов, получаемой продукции
или заработанного вознаграждения (например, 80%).

Примеры:
20% клиентов обеспечивают 80% прибыли;
   20% ошибок обусловливают 80% потерь;
   80% результатов   достигается за 20% расходуемого времени.

Замечание: Не слишком придирайтесь к цифрам!

Принцип ПаретоВильфредо Парето (1848-1923) сформулировал свой принцип (называемый еще принципом дисбаланса) для экономики, но найденная закономерность работает

Слайд 48Зависимость важности UML-диаграмм от назначения программ
Системы реального времени.

Диаграммы:

классов
состояний
последовательностей
использования
компонентов
деятельности
размещения
объектов
взаимодействия

Web-системы.

Диаграммы:

классов
использования
последовательностей
состояний
компонентов
размещения
деятельности
взаимодействия
объектов

Результаты заимствованы

из [1]

Зависимость важности UML-диаграмм от назначения программСистемы реального времени.Диаграммы:классовсостоянийпоследовательностейиспользованиякомпонентовдеятельностиразмещенияобъектоввзаимодействияWeb-системы.Диаграммы:классов использованияпоследовательностейсостоянийкомпонентовразмещениядеятельностивзаимодействияобъектовРезультаты заимствованы из [1]

Слайд 49Зависимость важности UML-диаграмм от назначения программ и UML-light
Результаты основаны на

[1]

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

ИТОГ: UML-light
Диаграммы классов
Диаграммы использования
Диаграммы состояний
Диаграммы

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


“Минимальный” UML

Зависимость важности UML-диаграмм от назначения программ и UML-light Результаты основаны на [1]Системы уровня предприятияДиаграммы:классов использования последовательностейдеятельностиразмещениякомпонентовсостоянийвзаимодействияобъектовИТОГ: UML-lightДиаграммы

Слайд 50Литература
20% UML, достаточные в 80% случаев

Литература20% UML, достаточные в 80% случаев

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика