Инструментальные средства разработки ПО. Язык UML. Лекция 2

Содержание

Слайд 2

При моделировании реальных систем, независимо от предметной области, создаются все те же

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

Слайд 3

Для работы с динамическими частями системы применяются пять типов:
диаграммы прецедентов;
диаграммы последовательности;
диаграммы кооперации;
диаграммы

Для работы с динамическими частями системы применяются пять типов: диаграммы прецедентов; диаграммы
состояний;
диаграммы деятельности.

Слайд 4

Структурные диаграммы

Структурные диаграммы

Слайд 5

Структурные диаграммы

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

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

Слайд 6

4 типа структурных диаграмм:

диаграммы классов - классам, интерфейсам и кооперациям;
диаграммы объектов -

4 типа структурных диаграмм: диаграммы классов - классам, интерфейсам и кооперациям; диаграммы
объектам;
диаграммы компонентов - компонентам;
диаграммы развертывания - узлам.

Слайд 7

1. Диаграмма классов

На диаграмме классов изображают множество классов, интерфейсов, коопераций и их отношений. Это

1. Диаграмма классов На диаграмме классов изображают множество классов, интерфейсов, коопераций и
самый распространенный тип диаграмм, применяемый при моделировании объектно-ориентированных систем; он используется для иллюстрации статического вида системы с точки зрения проектирования. Диаграммы, на которых показаны активные классы, применяются для работы со статическим видом системы с точки зрения процессов.

Слайд 8

Диаграммы классов
Диаграмма классов состоит из множества элементов, которые в совокупности отражают знания

Диаграммы классов Диаграмма классов состоит из множества элементов, которые в совокупности отражают
о предметной области. Эти знания интерпретируются в базовых понятиях языка UML, таких как классы, интерфейсы и отношения между ними и их составляющими компонентами.

Слайд 9

Класс
Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой

Класс Класс (class) в языке UML служит для обозначения множества объектов, которые
структурой, поведением и отношениями с объектами из других классов. Графически класс изображается в виде прямоугольника, который дополнительно разделен горизонтальными линиями на три раздела или секции. В этих разделах могут указываться имя класса, атрибуты (переменные) и операции (методы).

Слайд 10

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

Обязательным элементов обозначения класса является его имя. На начальных этапах разработки диаграммы
отдельные классы могут обозначаться простым прямоугольником с указанием только имени соответствующего класса.
Даже если секция атрибутов и операций является пустой, в обозначении класса она выделяется горизонтальной линией, чтобы сразу отличить класс от других элементов языка UML. В первом случае для класса "Прямоугольник" указаны только его атрибуты — точки на координатной плоскости, которые определяют его расположение. Для класса "Окно” указаны только его операции, секция атрибутов оставлена пустой.

Слайд 11

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

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

Слайд 12

Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного

Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав
класса. В общем случае кратность записывается в форме строки текста в квадратных скобках после имени соответствующего атрибута:[нижняя_граница..верхняя граница], 
где нижняя__граница и верхняя_граница являются положительными целыми числами

Слайд 13

Операция
В нижней секции прямоугольника записываются операции или методы класса. Операция (operation) представляет собой некоторый

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

Слайд 14

Отношения между классами:

Отношение ассоциации (association relationship).

Отношение зависимости (dependency relationship).

Отношение обобщения (generalization relationship).

Отношение

Отношения между классами: Отношение ассоциации (association relationship). Отношение зависимости (dependency relationship). Отношение
реализации (realization relationship).

Слайд 15

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

Отношение зависимости в общем случае указывает некоторое семантическое отношение между двумя элементами
или двумя множествами таких элементов. Отношение зависимости используется в такой ситуации, когда некоторое изменение одного элемента модели может потребовать изменения другого зависимого от него элемента модели.
Отношение зависимости графически изображается пунктирной линией между соответствующими элементами со стрелкой на одном из ее концов ("à" или "ß"). При этом стрелка направлена от класса-клиента зависимости к независимому классу или классу-источнику. На данном рисунке изображены два класса: Класс_A и Класс_B, при этом Класс_B является источником некоторой зависимости, а Класс_A - клиентом этой зависимости.

Слайд 17

Отношение ассоциации соответствует наличию некоторого отношения между классами. Данное отношение обозначается сплошной линией

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

Слайд 18

Отношение агрегации имеет место между несколькими классами в том случае, если один из

Отношение агрегации имеет место между несколькими классами в том случае, если один
классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности.
Данное отношение имеет фундаментальное значение для описания структуры сложных систем, поскольку применяется для представления системных взаимосвязей типа "часть-целое".
Графически отношение агрегации изображается сплошной линией, один из концов которой представляет собой незакрашенный внутри ромб. Этот ромб указывает на тот из классов, который представляет собой "целое". Остальные классы являются его "частями".

Слайд 19

Отношение обобщения является обычным таксономическим отношением между более общим элементом (родителем или предком)

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

Слайд 21

2. Диаграмма объектов

На диаграмме объектов показывают множество объектов и отношения между ними. Такие изображения

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

Слайд 22

Диаграмма объектов - это, по существу, экземпляр диаграммы классов или статическая часть

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

Слайд 23

С помощью диаграмм объектов, как и с помощью диаграмм классов, моделируют статический

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

Типичные примеры применения

Слайд 25

3. Диаграмма компонентов

На диаграммах компонентов показаны множества компонентов и отношения между ними. С их

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

Слайд 26

Типичные примеры применения

Диаграммы компонентов используются для моделирования статического вида системы с точки

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

Слайд 28

4. Диаграмма развертывания

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

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

Слайд 29

Типичное применение

Диаграммы развертывания используются для моделирования статического вида системы с точки зрения

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

Слайд 30

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

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

Слайд 31

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

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

Слайд 32

Диаграммы поведения

Диаграммы поведения

Слайд 33

Диаграммы поведения

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

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

Слайд 34

1. Диаграммы прецендентов

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

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

Слайд 37

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

Диаграммы взаимодействий - это общее наименование диаграмм последовательностей и кооперации. Любая диаграмма

Диаграммы взаимодействий Диаграммы взаимодействий - это общее наименование диаграмм последовательностей и кооперации.
последовательностей или кооперации является диаграммой взаимодействия, а каждая диаграмма взаимодействия - это либо диаграмма последовательностей, либо диаграмма кооперации.

Слайд 39

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

На диаграмме последовательностей основное внимание уделяется временной упорядоченности событий. На них изображают

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

Слайд 41

3. Диаграммы кооперации

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

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

Слайд 42

НАЧАЛЬНЫЙ ФРАГМЕНТ ДИАГРАММЫ КООПЕРАЦИИ

НАЧАЛЬНЫЙ ФРАГМЕНТ ДИАГРАММЫ КООПЕРАЦИИ

Слайд 43

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

Диаграмма состояний показывает автомат, содержащий состояния, переходы, события и действия. Диаграммы

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

Слайд 45

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

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

5. Диаграммы деятельности На диаграммах деятельности изображают передачу управления от одной деятельности
системы. На них показаны виды деятельности, последовательные или параллельные ветвления потока управления и объекты, которые воздействуют на что- то или сами подвергаются воздействию. Диаграммы деятельности относятся к динамическому представлению системы и особенно важны при моделировании ее функций. Они являются особой разновидностью диаграмм состояния. На диаграммах деятельности основное внимание уделено потоку управления между объектами.

Слайд 47

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

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

Слайд 48

Рекомендации построения UML диаграмм

Рекомендации построения UML диаграмм

Слайд 49

1. Каждая диаграмма должна служить законченным представлением соответствующего фрагмента моделируемой предметной области.

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

Слайд 50

2. Все сущности на диаграмме должны принадлежать одному концептуальному уровню представления модели.

2. Все сущности на диаграмме должны принадлежать одному концептуальному уровню представления модели.
Отдельные фрагменты диаграммы могут детализироваться на других диаграммах этого же типа, образуя вложенные или подчиненные диаграммы. Τᴀᴋᴎᴍ ᴏϬᴩᴀᴈᴏᴍ, модель системы на языке UML представляет собой пакет иерархически вложенных диаграмм, детализация которых должна быть достаточной для последующей генерации программного кода, реализующего проект соответствующей системы.

Слайд 51

3. Необходимо стремиться к явному указанию свойств всех элементов диаграмм, несмотря на

3. Необходимо стремиться к явному указанию свойств всех элементов диаграмм, несмотря на
то, что язык UML допускает использование значений по умолчанию при отсутствии некоторых символов на диаграмме (к примеру, в случае неявного указания видимости атрибутов и операций классов).

Слайд 52

4. Диаграммы не должны содержать противоречивой информации. Противоречивость модели приводит к неоднозначной

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

Слайд 53

5. Не следует перегружать диаграммы текстовой информацией - визуализация модели является наиболее

5. Не следует перегружать диаграммы текстовой информацией - визуализация модели является наиболее
эффективной, в случае если она содержит минимум пояснительного текста. Как правило, наличие больших фрагментов текста на диаграмме служит признаком неоднородности модели, когда в рамках одной модели представляется различная по характеру информация. Набор доступных разработчику UML-диаграмм способен удовлетворить самые детальные представления о системе - важно уметь правильно отображать те или иные сущности и аспекты моделирования в соответствующие элементы UML- диаграмм.

Слайд 54

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

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

Слайд 55

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

Процесс построения отдельных типов диаграмм имеет свои особенности, которые тесно связаны с
семантикой элементов этих диаграмм. Сам процесс ООАП в контексте языка UML получил специальное название – рациональный унифицированный процесс
(Rational Unified Process, RUP).
Имя файла: Инструментальные-средства-разработки-ПО.-Язык-UML.-Лекция-2.pptx
Количество просмотров: 40
Количество скачиваний: 1