Модуль 11

Содержание

Слайд 2

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

О разновидностях диаграмм и о том, как применение UML вписывается в процесс ООП

Унифицированный язык моделирования

© Бабич А.В. 2004

Слайд 3

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

О чем мы узнаем…
Почему нужно несколько видов диаграмм
Виды диаграмм
ООП и последовательность построения диаграмм

Слайд 4

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г


Почему нужно несколько видов диаграмм

Слайд 5

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 6

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 7

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 8

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г


Виды диаграмм

Слайд 9

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Виды диаграмм

Виды диаграмм:
диаграмма прецедентов
диаграмма классов
диаграмма объектов
диаграмма последовательностей
диаграмма взаимодействия
диаграмма состояний
диаграмма активности
диаграмма развертывания

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

Слайд 10

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма прецедентов (use case diagram)

Прецедент (use case) – описание отдельного аспекта поведения системы с точки зрения пользователя (Буч)
Прецедент позволяет сформировать пользовательские требования к системе
Пример:

Слайд 11

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы прецедентов

Слайд 12

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы прецедентов

Слайд 13

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Класс – категория вещей, которые имеют общие атрибуты и операции (Буч)
Диаграмма классов – конечный результат проектирования и отправная точка процесса разработки
Диаграммы классов полезны также при анализе предметной области
Пример:

12

Слайд 14

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы классов

Слайд 15

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 16

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма объектов (Object diagram)

Объект – экземпляр класса
На диаграмме объектов показаны объекты и их отношения в некоторый момент времени
Пример:

Слайд 17

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы объектов

Слайд 18

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 19

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма последовательностей (sequence diagram)

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

Слайд 20

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 21

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 22

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма взаимодействия (collaboration diagram)

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

Слайд 23

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 24

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 25

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма состояний (statechart diagram)

Объекты имеют как поведение, так и состояние
В каждый момент времени объект находится в некотором определенном состоянии
Диаграмма состояний показывает, как объект переходит из одного состояния в другое
Пример:

Слайд 26

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы состояний

Слайд 27

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Более сложная диаграмма

Слайд 28

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма активности (activity diagram)

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

Слайд 29

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

Слайд 30

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 31

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Диаграмма развертывания (deployment diagram)

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

Слайд 32

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Пример диаграммы развертывания

Слайд 33

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Еще пример

Слайд 34

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Тот же пример в краткой форме

Слайд 35

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г


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

Слайд 36

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Выбор необходимых диаграмм (Г. Буч)

Какие именно виды диаграмм лучше всего отражают архитектуру системы и возможный технический риск, связанный с проектом?
Какие из диаграмм удобнее всего превратить в инструмент контроля за разработкой системы?
На всякий случай сохраняйте даже забракованные диаграммы!

Слайд 37

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

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

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

Слайд 38

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Последовательность построения диаграмм (продолжение)

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

Слайд 39

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Вопросы ?

?

Слайд 40

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Вопросы и упражнения

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

Слайд 41

Проект ВИРТУОЗ Н.Новгород, 2004г.

SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения © Бабич А.В.

Проект ВИРТУОЗ Н.Новгород, 2004г. SE201. Мод.11: Виды диаграмм, их назначение, последовательность построения
2004г

Использованные материалы

При разработке представленных материалов с разрешения авторов или правообладателей использовались следующие источники:
Г.Буч, А. Джекобсон, Дж. Рамбо. UML: Руководство пользователя http://alice.stup.ac.ru/~dvn/uproc/books/uml_user_guide/index.htm
Унифицированный язык моделирования ПО. Scott W. Ambler Copyright © 1998 Software Development magazine http://zone1c.narod.ru/
Леоненков. Самоучитель по UML http://khpi-iip.mipk.kharkiv.edu/library/case/leon/index.html
Дж. Шмулер. Освой самостоятельно UML за 24 часа, 2-е издание: пер. с англ. – М.: Изд. Дом «Вильямс», 2002.
Sample: The UML © Dr. Richard J. Botting, California State University http://www.csci.csusb.edu/dick/samples/uml.html
OMG Unified Modeling Language Specification. Copyright © 2000, Object Management Group http://www.omg.org/cgi-bin/apps/doc?formal/03-03-01.pdf

Имя файла: Модуль-11.pptx
Количество просмотров: 371
Количество скачиваний: 1