![Page 1: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/1.jpg)
1
CASE технологии
Лекция
5
![Page 2: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/2.jpg)
2
Язык
UML: виды
диаграмм
–
UML 1.5 определял
двенадцать
типов
диаграмм, разделенных
на
три
группы:
•
четыре
типа
диаграмм
представляют
статическую
структуру
приложения;•
пять
представляют
поведенческие
аспекты
системы;•
три
представляют
физические
аспекты
функционирования
системы
(диаграммы
реализации).–
Текущая
версия
UML 2.1 внесла
не
слишком
много
изменений. Диаграммы
слегка
изменились
внешне (появились
фреймы
и
другие
визуальные
улучшения), немного
усовершенствовалась нотация, некоторые
диаграммы
получили
новые
наименования.
![Page 3: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/3.jpg)
3
Язык
UML: виды
диаграмм
•
диаграмма
прецедентов;•
диаграмма
классов;
•
диаграмма
объектов;•
диаграмма
последовательностей;
•
диаграмма
взаимодействия;•
диаграмма
состояний;
•
диаграмма
активности;•
диаграмма
развертывания.
![Page 4: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/4.jpg)
4
Диаграммы
прецедентов
(use case diagram)
•
Любые
(в
том
числе
и
программные) системы проектируются
с
учетом
того, что
в
процессе
своей
работы
они
будут
использоваться людьми
и/или
взаимодействовать
с
другими
системами. •
Сущности, с
которыми
взаимодействует
система
в
процессе
своей
работы, называются
экторами, причем
каждый
эктор
ожидает, что
система
будет
вести
себя строго
определенным, предсказуемым
образом.
![Page 5: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/5.jpg)
5
Диаграммы
прецедентов
(use case diagram)
•
Эктор
(actor)
-
это
множество
логически связанных
ролей, исполняемых
при
взаимодействии
с
прецедентами
или сущностями
(система, подсистема
или
класс).
•
Эктором
может
быть
человек
или
другая система, подсистема
или
класс, которые
представляют
нечто
вне
сущности.•
Прецедент
(use-case)
-
описание
отдельного
аспекта
поведения
системы
с
точки
зрения пользователя
(Буч).
![Page 6: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/6.jpg)
6
Диаграммы
прецедентов
![Page 7: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/7.jpg)
7
Диаграммы классов
•
Класс
(class)
-
категория
вещей, которые
имеют
общие
атрибуты
и
операции.•
Классы
используются
в
процессе
анализа
предметной
области
для
составления
словаря
предметной
области
разрабатываемой
системы.•
Это
могут
быть
как
абстрактные
понятия
предметной
области, так
и
классы, на
которые
опирается
разработка
и
которые
описывают
программные
или
аппаратные
сущности. •
Диаграмма
классов
-
это
набор
статических, декларативных
элементов
модели. •
Диаграммы
классов
могут
применяться
и
при
прямом
проектировании, то
есть
в
процессе
разработки
новой
системы, и
при
обратном
проектировании
-
описании
существующих
и
используемых
систем.•
Информация
с
диаграммы
классов
напрямую
отображается
в
исходный
код
приложения•
Таким
образом, диаграмма
классов
-
конечный
результат
проектирования
и
отправная
точка
процесса
разработки.
![Page 8: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/8.jpg)
8
Диаграммы
классовИерархия
классов
Взаимодействие
между
классами
![Page 9: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/9.jpg)
9
Диаграммы
классов
Свойства
и
методы
классов
UML –
язык
для
Объектно-Ориентированного Проектирования
![Page 10: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/10.jpg)
10
Диаграммы объектов
•
Объект
(object)
-
экземпляр
класса.•
Объект, как
и
класс, на
диаграмме
обозначается
прямоугольником, но
его имя
подчеркивается.
![Page 11: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/11.jpg)
11
Диаграммы объектов
Анонимный
элемент
Элемент
класса
«Компания»
Элемент
класса
«Стиральная
машина»
определяется
по
значению
свойства
«производитель»
![Page 12: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/12.jpg)
12
Диаграммы объектов
![Page 13: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/13.jpg)
13
Диаграммы объектов
![Page 14: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/14.jpg)
14
Диаграммы
последовательностей (sequence diagram)
•
Диаграмма
объектов
показывает отношения
между
объектами
в
некоторый
момент
времени, т. е. предоставляет
нам
снимок
состояния
системы, являясь
статической.•
Диаграмма
последовательностей
отображает
взаимодействие
объектов
в динамике.
![Page 15: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/15.jpg)
15
Диаграммы
последовательностей (sequence diagram)
•
В
UML взаимодействие
объектов понимается
как
обмен
информацией
между
ними. •
При
этом
информация
принимает
вид
сообщений. •
Кроме
того, что
сообщение
несет
какую-
то
информацию, оно
некоторым образом
также
влияет
на
получателя.
![Page 16: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/16.jpg)
16
•
Диаграммы
последовательностей можно
(и нужно!) использовать
для
уточнения
диаграмм
прецедентов•
Диаграммы
последовательностей
обычно
содержат
объекты, которые взаимодействуют
в
рамках
сценария,
сообщения, которыми
они обмениваются, и
возвращаемые
результаты, связанные
с
сообщениями.
Диаграммы
последовательностей (sequence diagram)
![Page 17: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/17.jpg)
17
Диаграммы последовательностей
![Page 18: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/18.jpg)
18
Диаграммы последовательностей
Диаграмма
последовательностей
отображает
взаимодействие
объектов
в
динамике
![Page 19: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/19.jpg)
19
Диаграммы последовательностей
![Page 20: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/20.jpg)
20
Диаграммы
взаимодействия (кооперации, collaboration
diagrams)Диаграмма
взаимодействия
показывает
поток
сообщений
между
объектами
системы
и
основные
ассоциации
между
ними.
Является
альтернативой
диаграммы
последовательностей.
![Page 21: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/21.jpg)
21
Диаграммы
взаимодействия (кооперации, collaboration
diagrams)
![Page 22: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/22.jpg)
22
Диаграммы
взаимодействия (кооперации, collaboration
diagrams)
![Page 23: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/23.jpg)
23
Диаграмма
состояний
(statechart diagram)
•
Объекты
характеризуются
поведением
и состоянием, в
котором
находятся. Например,
человек
может
быть
новорожденным, младенцем, ребенком, подростком
или
взрослым. •
Другими
словами, объекты
что-то
делают
и
что-то
"знают". Диаграммы
состояний применяются
для
того, чтобы
объяснить,
каким
образом
работают
сложные
объекты.
![Page 24: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/24.jpg)
24
Диаграмма
состояний
(statechart diagram)
•
Состояние
(state) -
ситуация
в
жизненном цикле
объекта, во
время
которой
он
удовлетворяет
некоторому
условию, выполняет
определенную
деятельность
или
ожидает
какого-то
события.•
Состояние
объекта
определяется
значениями
некоторых
его
атрибутов
и присутствием
или
отсутствием
связей
с
другими
объектами.
![Page 25: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/25.jpg)
25
Диаграмма
состояний(statechart diagram)
•
Диаграмма
состояний
показывает, как
объект переходит
из
одного
состояния
в
другое.
•
Диаграммы
состояний
служат
для
моделирования динамических
аспектов
системы.
•
Диаграмма
состояний
полезна
при
моделировании жизненного
цикла
объекта
(как
и
ее
частная
разновидность
-
диаграмма
деятельности)
![Page 26: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/26.jpg)
26
Диаграмма
состояний(statechart diagram)
Составное
состояние, включающее
другие
состояния, одно
из
которых
содержит
также
параллельные
подсостояния
![Page 27: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/27.jpg)
27
Диаграмма
состояний(statechart diagram)
![Page 28: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/28.jpg)
28
Диаграмма
активности (деятельности, activity
diagram)
•
Моделируя
поведение
проектируемой
системы, часто
недостаточно
изобразить
процесс
смены
ее
состояний, а
нужно
также
раскрыть
детали алгоритмической
реализации
операций,
выполняемых
системой. •
Для
этой
цели
традиционно
использовались
блок-
схемы
или
структурные
схемы
алгоритмов. •
В
UML для
этого
существуют
диаграммы
деятельности, являющиеся
частным
случаем диаграмм
состояний.
•
Диаграммы
деятельности
удобно
применять
для визуализации
алгоритмов, по
которым
работают
операции
классов.
![Page 29: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/29.jpg)
29
Диаграмма
активности (деятельности, activity
diagram)
Параллельное
исполнение
![Page 30: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/30.jpg)
30
Диаграмма
активности (деятельности, activity
diagram)
![Page 31: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/31.jpg)
31
Диаграмма
активности (деятельности, activity
diagram)
![Page 32: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/32.jpg)
32
Диаграмма
развертывания (deployment diagram)
•
Когда
мы
пишем
программу, мы
пишем
ее
для
того, чтобы
запускать
на
компьютере, который
имеет
некоторую
аппаратную
конфигурацию
и
работает
под управлением
некоторой
операционной
системы.
•
Корпоративные
приложения
часто
требуют
для
своей работы
некоторой
ИТ-инфраструктуры, хранят
информацию
в
базах
данных, расположенных
где-то на
серверах
компании, вызывают
веб-сервисы,
используют
общие
ресурсы
и
т. д. •
В
таких
случаях
хорошо, если
будет
графическое
представление
инфраструктуры, на
которую
будет развернуто
приложение.
•
Для
этого
нужны
диаграммы
развертывания, которые
иногда
называют
диаграммами
размещения.
![Page 33: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/33.jpg)
33
Диаграмма
развертывания (deployment diagram)
•
Графическое
представление
ИТ-инфраструктуры может
помочь
более
рационально
распределить
компоненты
системы
по
узлам
сети, от
чего, как известно, зависит
в
том
числе
и
производительность
системы. •
Такая
диаграмма
может
помочь
решить
множество
вспомогательных
задач, связанных, например, с обеспечением
безопасности.
•
Диаграмма
развертывания
показывает
топологию системы
и
распределение
компонентов
системы
по
ее
узлам, а
также
соединения
-
маршруты
передачи информации
между
аппаратными
узлами.
•
Это
единственная
диаграмма, на
которой применяются
"трехмерные" обозначения: узлы
системы
обозначаются
кубиками. Все
остальные обозначения
в
UML -
плоские
фигуры.
![Page 34: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/34.jpg)
34
Диаграмма
развертывания (deployment diagram)
![Page 35: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/35.jpg)
35
Диаграмма
развертывания (deployment diagram)
![Page 36: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/36.jpg)
36
Последовательность
построения диаграмм
Можно
предложить
такую
последовательность построения
диаграмм:
•
диаграмма
прецедентов, •
диаграмма
классов,
•
диаграмма
объектов, •
диаграмма
последовательностей,
•
диаграмма
кооперации, •
диаграмма
состояний,
•
диаграмма
активности, •
диаграмма
развертывания.
![Page 37: Лекция 5web.znu.edu.ua/lab/mathdep/inform/CASE/lectures/case... · 2013-12-05 · диаграмм состояний. • Диаграммы деятельности удобно](https://reader033.vdocuments.mx/reader033/viewer/2022041712/5e490452f1c5f036b11dd979/html5/thumbnails/37.jpg)
37
Резюме: что узнали на лекции?
•
Познакомились
со
всеми
типами диаграмм
UML