Содержание

Слайд 2

Темы лекционных занятий Введение в UML Моделирование использования Моделирование структуры Моделирование поведения Дисциплина моделирования

Темы лекционных занятий

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

Слайд 3

UML — это язык моделирования UML имеет отношение прежде всего и

UML — это язык моделирования

UML имеет отношение прежде всего и главным

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

UML — это язык моделирования Деятельность по составлению моделей естественно назвать

UML — это язык моделирования

Деятельность по составлению моделей естественно назвать моделированием.

Именно в этом смысле UML является языком моделирования.
Модель UML — это, прежде всего, основной артефакт фазы проектирования программной системы.
Слайд 5

Назначение UML UML — это графический язык моделирования общего назначения, предназначенный

Назначение UML

UML — это графический язык моделирования общего назначения, предназначенный для

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

Назначение UML Основное назначение UML — предоставить, с одной стороны, достаточно

Назначение UML

Основное назначение UML — предоставить, с одной стороны, достаточно формальное,

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

Назначение UML Второе по важности назначение UML состоит в том, чтобы

Назначение UML

Второе по важности назначение UML состоит в том, чтобы служить

адекватным средством коммуникации между людьми.
Разумеется, наглядность визуализации моделей UML имеет значение, только если они должны составляться или восприниматься человеком — это назначение UML не имеет отношения к компьютерам.
Слайд 8

Назначение UML UML предназначен не только для описания абстрактных моделей приложений,

Назначение UML

UML предназначен не только для описания абстрактных моделей приложений, но

и для непосредственного манипулирования артефактами, входящими в состав этих приложений, в том числе такими, как программный код.
Слайд 9

Назначение UML Наконец, четвёртое назначение – документирование. Модели UML являются документами,

Назначение UML

Наконец, четвёртое назначение – документирование.
Модели UML являются документами, которые можно

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

Стандарт UML Чтобы подчеркнуть, что UML язык графический, авторы называют правила

Стандарт UML

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

(рисования) моделей не синтаксисом, а нотацией.
Типов элементов нотации четыре:
• фигуры;
• линии;
• значки;
• тексты.
Слайд 11

Модель UML Модель UML — это конечное множество сущностей и отношений

Модель UML

Модель UML — это конечное множество сущностей и отношений между

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

Сущности Для удобства обзора сущности в UML можно подразделить на четыре

Сущности

Для удобства обзора сущности в UML можно подразделить на четыре группы:

структурные;
• поведенческие;
• группирующие;
• аннотационные.
Слайд 13

Структурные сущности • Класс — описание множества объектов с общими атрибутами

Структурные сущности

• Класс — описание множества объектов с общими атрибутами и

операциями.
• Интерфейс — множество операций, которое определяет набор услуг (службу), предоставляемых классом или компонентом.
• Действующее лицо — сущность, находящаяся вне моделируемой системы и непосредственно взаимодействующая с ней.
• Вариант использования — описание последовательности производимых системой действий, доставляющей значимый для некоторого действующего лица результат.
• Компонент — физически заменяемый артефакт, реализующий некоторый набор интерфейсов.
• Узел — физический вычислительный ресурс.
Слайд 14

Отношения В UML используются четыре основных типа отношений: • зависимость; • ассоциация; • обобщение; • реализация.

Отношения

В UML используются четыре основных типа отношений:
• зависимость;
• ассоциация;
• обобщение;
• реализация.

Слайд 15

Отношения Зависимость — это наиболее общий тип отношения между двумя сущностями.

Отношения

Зависимость — это наиболее общий тип отношения между двумя сущностями. Отношение

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

Отношения Обобщение — это отношение между двумя сущностями, одна их которых

Отношения

Обобщение — это отношение между двумя сущностями, одна их которых является

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

Диаграммы UML Диаграммы UML – основная накладываемая на модель структура, которая

Диаграммы UML

Диаграммы UML – основная накладываемая на модель структура, которая облегчает

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

Диаграммы UML В UML 1.x всего определено 9 канонических типов диаграмм.

Диаграммы UML

В UML 1.x всего определено 9 канонических типов диаграмм.

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

Иерархия диаграмм UML

Иерархия диаграмм UML

Слайд 20

Процесс моделирования

Процесс моделирования

Слайд 21

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

Представления

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

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

Представления Выделим три представления: представление использования (что делает система полезного?); представление

Представления

Выделим три представления:
представление использования (что делает система полезного?);
представление структуры

(из чего состоит система?);
- представление поведения (как работает система?).
Слайд 23

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

Представления

Представление использования призвано отвечать на вопрос, что делает система полезного.
Определяющим

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

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

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

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

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

Диаграмма использования Между этими сущностями устанавливаются следующие типы отношений: ассоциация между

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

Между этими сущностями устанавливаются следующие типы отношений:
ассоциация между действующим лицом

и вариантом использования;
обобщение между действующими лицами;
обобщение между вариантами использования;
зависимости (двух стереотипов) между вариантами использования.
Слайд 26

Моделирование использования Наш язык и мышление устроены так, что самой простой,

Моделирование использования

Наш язык и мышление устроены так, что самой простой, понятной

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

Моделирование использования По сути, именно простые утверждения и записаны на диаграмме

Моделирование использования

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

лицо — это субъект, а вариант использования — предикат (вместе с объектом).
Моделирование использования предполагает явное формулирование требований к системе на самом начальном этапе разработки.
Слайд 28

Диаграмма использования С синтаксической точки зрения действующее лицо — это стереотип

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

С синтаксической точки зрения действующее лицо — это стереотип классификатора,

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

Действующие лица В качестве имен действующих лиц рекомендуется использовать существительное (возможно

Действующие лица

В качестве имен действующих лиц рекомендуется использовать существительное (возможно с

определяющим словом), а в качестве имен вариантов использования — глагол (возможно, с дополнением).
Слайд 30

Пример нотации

Пример нотации

Слайд 31

Варианты использования Семантически вариант использования — это описание множества возможных последовательностей

Варианты использования

Семантически вариант использования — это описание множества возможных последовательностей действий

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

Варианты использования Выбор вариантов использования сильно влияет на качество модели. Формальные

Варианты использования

Выбор вариантов использования сильно влияет на качество модели. Формальные методы

выбора предложить трудно — помогают только опыт и чутьё.
Некоторые пункты ТЗ естественным образом переводятся в варианты использования.
Слайд 33

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

Ассоциация

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

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

Обобщение Обобщение между действующими лицами показывает, что одно действующее лицо наследует

Обобщение

Обобщение между действующими лицами показывает, что одно действующее лицо наследует все

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

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

Обобщение

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

случаем (подмножеством множества сценариев) другого варианта использования.
Слайд 36

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

Зависимости

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

другого варианта использования.
2 стандартных стереотипа зависимости:
include — показывает, что сценарий независимого варианта использования включает в себя в качестве подпоследовательности действий сценарий зависимого варианта использования;
extend — показывает, что в сценарий зависимого варианта использования может быть в определенном месте вставлен в качестве подпоследовательности действий сценарий независимого варианта использования.
Слайд 37

Пример

Пример

Слайд 38

Пример

Пример

Слайд 39

Реализация вариантов использования После того, как построено представление использования, то есть

Реализация вариантов использования

После того, как построено представление использования, то есть выделены

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

Реализация вариантов использования Действующие лица находятся вне системы — с ними

Реализация вариантов использования

Действующие лица находятся вне системы — с ними ничего

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

Реализация вариантов использования Вариант использования — это описание множества последовательностей действий,

Реализация вариантов использования

Вариант использования — это описание множества последовательностей действий, доставляющих

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

Реализация вариантов использования текстовые описания; псевдокод; диаграмма деятельности; диаграммы взаимодействия. Вариант

Реализация вариантов использования

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

значит, если результата нет, то что-то спроектировано не так, как нужно.
Слайд 43

Пример текстового описания Вариант использования «Увольнение по собственному желанию» Сотрудник пишет

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

Вариант использования «Увольнение по собственному желанию»
Сотрудник пишет заявление
Начальник подписывает

заявление
Если есть неиспользованный отпуск, то бухгалтерия рассчитывает компенсацию
Бухгалтерия рассчитывает выходное пособие
Системный администратор удаляет учетную запись
Менеджер штатного расписания обновляет базу данных
Слайд 44

Текстовые описания Достоинства: просты, всем понятны, легко и быстро составляются. Недостатки: неполны, неточны, ненаглядны

Текстовые описания

Достоинства:
просты, всем понятны, легко и быстро составляются.
Недостатки:
неполны,

неточны, ненаглядны
Слайд 45

Псевдокод Если программа предназначена для выполнения компьютером, то она должна быть

Псевдокод

Если программа предназначена для выполнения компьютером, то она должна быть записана

на сугубо формальном языке, который называют в этом случае языком программирования.
Если программа предназначена исключительно для чтения и, может быть, выполнения человеком, то можно применить менее формальный (и более удобный) язык, который в этом случае обычно называют псевдокодом.
Слайд 46

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

Псевдокод

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

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

Псевдокод Достоинства способа: понятен, привычен и доступен любому. Недостатки: плохо согласуется

Псевдокод

Достоинства способа:
понятен, привычен и доступен любому.
Недостатки:
плохо согласуется с парадигмой объектно-ориентированного

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

Диаграмма деятельности Описать алгоритм можно с помощью диаграммы деятельности. С одной

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

Описать алгоритм можно с помощью диаграммы деятельности.
С одной стороны,

диаграмма деятельности — это полноценная диаграмма UML, с другой стороны, диаграмма деятельности немногим отличается от блок-схемы
Слайд 49

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

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

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

представляется в форме графа деятельности, вершинами которого являются состояния действия или деятельности, а дугами - переходы от одного состояния действия к другому.
Слайд 50

Состояния деятельности и действия Состояние деятельности - состояние в графе деятельности,

Состояния деятельности и действия

Состояние деятельности - состояние в графе деятельности, которое

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

Переход Переход – отношение между двумя состояниями, которое указывает на то,

Переход 

Переход – отношение между двумя состояниями, которое указывает на то, что

объект в первом состоянии должен выполнить определенные действия и перейти во второе состояние.
Переход осуществляется при наступлении некоторого события: окончания выполнения деятельности (do activity), получении объектом сообщения или приемом сигнала. 
Переход изображается сплошной линией со стрелкой, которая выходит из исходного состояния и направлена в целевое состояние. Каждый переход может быть помечен строкой текста с именем события.
Слайд 52

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

Сторожевое условие  

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

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

Псевдосостояние вершина в графе, которая имеет форму состояния, но не обладает

Псевдосостояние

вершина в графе, которая имеет форму состояния, но не обладает поведением.

Примерами псевдосостояний в UML являются начальное и конечное состояния.
Слайд 54

Ветвление Если из состояния действия выходит единственный переход, то его не

Ветвление

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

Если переходов несколько, для каждого из них должно быть явно записано собственное сторожевое условие.
Графически ветвление на диаграмме деятельности обозначается символом решения (decision), изображаемого в форме небольшого ромба, внутри которого нет текста
Слайд 55

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

Слияние и разделение

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

или потоков управления.
Слайд 56

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

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

Слайд 57

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

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

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

— в сущности, это проектирование сверху вниз в терминах и обозначениях UML.
Эту диаграмму можно показать заказчику, чтобы проверить, действительно ли проектируемая нами логика работы системы соответствует тому бизнес-процессу, который существует в реальности.
Слайд 58

Диаграмма деятельности Применение диаграмм деятельности для реализации вариантов использования не слишком

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

Применение диаграмм деятельности для реализации вариантов использования не слишком приближает

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

Выводы Составление диаграмм использования — это первый шаг моделирования. Основное назначение

Выводы

Составление диаграмм использования — это первый шаг моделирования.
Основное назначение диаграммы

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

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

Выводы

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

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