20443

Введение в UML

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-07-25

54.5 KB

7 чел.

16 Введение в UML

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

Использование языка UML основывается на следующих общих принципах моделирования:

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

Сущности в UML 

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

Структурные сущности - это имена существительные в моделях на языке UML. Как правило, они представляют статические части модели, соответствующие концептуальным или физическим элементам системы. Примерами структурных сущностей являются «класс», «интерфейс», «кооперация», «прецедент», «компонент», «узел», «актер».

 Поведенческие сущности являются динамическими составляющими модели UML. Это глаголы, которые описывают поведение модели во времени и в пространстве. Существует два основных типа поведенческих сущностей:

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

Группирующие сущности являются организующими частями модели UML. Это блоки, на которые можно разложить модель. Такая первичная сущность имеется в единственном экземпляре - это пакет.

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

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

Отношения в UML 

В языке UML определены следующие типы отношений: зависимость, ассоциация, обобщение и реализация. Эти отношения являются основными связующими конструкциями UML и также как сущности применяются для построения моделей.

Зависимость (dependency) - это семантическое отношение между двумя сущностями, при котором изменение одной из них, независимой, может повлиять на семантику другой, зависимой.

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

Обобщение (generalization) - это отношение, при котором объект специализированного элемента (потомок) может быть подставлен вместо объекта обобщенного элемента (предка). При этом, в соответствии с принципами объектно-ориентированного программирования, потомок (child) наследует структуру и поведение своего предка (parent).

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

  •  между интерфейсами и реализующими их классами или компонентами;
  •  между прецедентами и реализующими их кооперациями. 

 Общие механизмы UML 

Для точного описания системы в UML используются, так называемые, общие механизмы:

  •  спецификации (specifications);
  •  дополнения (adornments);
  •  деления (common divisions);
  •  расширения (extensibility mechanisms).

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

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

При моделировании объектно-ориентированных систем существует определенное деление представляемых сущностей.

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

Во-вторых, существует деление на интерфейс и его реализацию. Интерфейс декларирует обязательства, а реализация представляет конкретное воплощение этих обязательств и обеспечивает точное следование объявленной семантике. В связи с этим, почти все конструкции UML характеризуются двойственностью «интерфейс/реализация». Например, прецеденты реализуются кооперациями, а операции - методами.

UML является открытым языком, то есть допускает контролируемые расширения, чтобы отразить особенности моделей предметных областей. Механизмы расширения UML включают:

  •  стереотипы (stereotype) - расширяют словарь UML, позволяя на основе существующих элементов языка создавать новые, ориентированные для решения конкретной проблемы;
  •  помеченные значения (tagged value) - расширяют свойства основных конструкций UML, позволяя включать дополнительную информацию в спецификацию элемента; 
  •  ограничения (constraints) - расширяют семантику конструкций UML, позволяя создавать новые и отменять существующие правила. 

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

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

Графические изображения моделей системы в UML называются диаграммами. В терминах языка UML определены следующие их  виды:

  •  диаграмма вариантов использования или прецедентов (use case diagram) 
  •  диаграмма классов (class diagram) 
  •  диаграммы поведения (behavior diagrams) 
  •  диаграмма состояний (statechart diagram) 
  •  диаграмма деятельности (activity diagram) 
  •  диаграммы взаимодействия (interaction diagrams)  
  •  диаграмма последовательности (sequence diagram)  
  •  диаграмма кооперации (collaboration diagram) 
  •  диаграммы реализации (implementation diagrams)
  •  диаграмма компонентов (component diagram)
  •  даграмма развертывания (deployment diagram)

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

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

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

36859. РАБОТА СО СВОДНЫМИ ТАБЛИЦАМИ В MS EXCEL 88.5 KB
  РАБОТА СО СВОДНЫМИ ТАБЛИЦАМИ В MS EXCEL Цель работы: рассмотреть возможности обработки больших массивов данных средствами MS Excel научиться создавать сводные таблицы и управлять данными. Установите курсор в диапазоне ячеек содержащих значения заголовки строк и столбцов В любую заполненную данными ячейку таблицы Чтобы создать сводную таблицу на вкладке Вставка в группе Таблицы выберите раздел Сводная таблица а затем пункт Сводная таблица. На экран будет выведено диалоговое окно Создание сводной таблицы. На отдельном листе будет...
36860. Функция plot2d 690.5 KB
  Функция plot2d plot2d[logflg]xy’[key1=vlue1key2=vlue2. Следует отметить что вовсе не обязательно использовать полную форму записи функции plot2d со всеми ее параметрами. В простейшем случае к ней можно обратиться кратко как и к функции plot. Создавать массив Y необязательно следует лишь в качестве аргумента функции plot2d указать математическое выражение функции.
36861. Форматирование графиков функций 724 KB
  Visibility отображение графика переключатель принимающий значения on и off. Figure nme имя графика это последовательность символов которые выводятся в строке заголовка графического окна. По умолчанию графическому окну присваивается имя Scilb Grphic d где d это порядковый номер графика Figure id.
36862. Word: Работа с таблицами 80 KB
  Выполните подготовительные действия для работы с таблицами: – выполните команду меню Таблица и в меню этой команды установите команду Отображать сетку если в этой строке установлена команда Скрыть сетку то выделите эту строку и нажмите на левую кнопку мыши после чего там появится команда Отображать сетку; – выведите на экран панель инструментов Таблицы и границы что проще всего сделать нажатием на кнопку Панель границ на Стандартной панели инструментов но можно также или использовать контекстное меню в области панелей...
36863. Работа со сводными таблицами. Создание сводных таблиц 681.5 KB
  Сохраните документ в своей папке под именем Сводные таблицы. Установите курсор в диапазоне ячеек содержащих значения заголовки строк и столбцов В любую заполненную данными ячейку таблицы Выберите команду Данные Сводная таблица. Во втором диалоговом окне проверьте правильно ли выделен диапазон данных для создания сводной таблицы или задайте диапазон данных если диапазон не был выбран Рис. Третье диалоговое окно предлагает выбрать лист для размещения сводной таблицы оставьте принятую по молчанию установку Новый лист Рис.
36864. Исследование недвоичных счетчиков 72.5 KB
  При построении счетчиков с дешифратором состояния наиболее целесообразно использовать счетчики интегрального состояния например 74191 см. Счетчик с дешифратором состояния. D; счетный вход ─ CLK; вход направления счета ─ U – суммирование активен высоким уровнем ─ D вычитание активен низким уровнем; вход управления предварительной установкой ─ LOD; выход переноса ─ RCO выход дешифратора состояния активен низким уровнем при достижении последнего состояния счетчика. При выполнении этой части работы необходимо снимать временные диаграммы...
36865. Построение трехмерных графиков в Scilab 676.5 KB
  Функции plot3d и plot3d1 В Scilb поверхность можно построить с помощью функций plot3d или plot3d1. Их отличие состоит в том что plot3d строит поверхность и заливает ее одним цветом а plot3d1 поверхность каждая ячейка которой имеет цвет зависящий от значения функции в каждом соответствующем узле сетки. Обращение к функциям следующее: plot3dxyz[thetlphlegflgebox][keyn=vluen] plot3d1xyz[thetlphlegflgebox][keyn=vluen] здесь x векторстолбец значений абсцисс; y векторстолбец значений ординат; z матрица значений...
36866. ПОДГОТОВКА ДОКУМЕНТА MS EXCEL К ПЕЧАТИ 64.5 KB
  ПОДГОТОВКА ДОКУМЕНТА MS EXCEL К ПЕЧАТИ Цель работы: рассмотреть этапы подготовки документов MS Excel к печати. Вопросы компетенции навыки для освоения: Изучить элементы интерфейса MS Excel служащие для подготовки документа к печати. Освоить технологии и рассмотреть этапы подготовки документов MS Excel к печати. Подготовить к печати документ большого объема.
36867. Построение поверхностей заданных параметрически с помощью функций param3d и param3d1 752 KB
  Затем обратимся к функции prm3d передав ей математические выражения функций y y1 и y2 а также углы в градусах под которыми наблюдатель будет видеть формируемый график 45 и 35 Листинг 6. Построение линии заданной параметрически с помощью функции prm3d t=[0:0. Построение линии заданной параметрически с помощью функции prm3d t=50pi:0. Для построения графиков линий в одной системе координат обратимся к функции prm3d1.