Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Раздел 2. Анализ и моделирование на UML.docx
Скачиваний:
18
Добавлен:
21.09.2019
Размер:
547.87 Кб
Скачать

4. Модели и их представления - использования, поведения и структуры.

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

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

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

3 Представление поведения. Отвечает на вопрос: как работает система? Признак явное использование понятия времени, в частности, в форме описания последовательности событий/действий, т.е. в форме алгоритма. Представление поведения описывается диаграммами автомата и деятельности, а также обзорной диаграммой взаимодействия, диаграммами коммуникации и последовательностей. В редких случаях можно воспользоваться дигр. синхронизации.

5. Общие свойства моделей.

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

Должна соответствовать следующим правилам, позволяющим корректно и однозначно определять:

  • имена, кот. можно давать сущностям, отношениям и диаграммам;

  • область действия ( контекст, в котором имя имеет некоторое значение);

  • видимость (имена видны и могут использоваться другими элементами);

  • целостность (как элементы должны правильно и согласованно соотноситься друг с другом);

  • выполнение ( что значит выполнить и имитировать некоторую динамическую модель).

6. Механизмы расширения - стереотипы, помеченные значения, ограничения.

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

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

actor

Класс (class)

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

access

Зависимость (dependency)

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

association

Концевая точка связи (link end)

Указывает, что соответствующий объект видим ассоциацией

become

Сообщение (message)

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

2. Помеченные значения (Tagged value) расширяет свойства строительных блоков UML, позволяя включать новую информацию в спецификацию элемента.

В большинстве случаев помеченное значение изображается посредством размещения метки и значения под именем элемента, к которому оно присоединено. При этом все сочетание заключается в фигурные скобки, например {location = client}. Если значение метки представляет собой длинный текст, то помеченное значение можно поместить в дополнительный раздел классификатора.

Помеченное значение

Символы, к которым оно применимо

Назначение

documentation

Все элементы

Содержит комментарий, описание или пояснение к тому элементу, к которому присоединено

location

Большинство элементов

Определяет узел или компонент, которому принадлежит элемент

persistence

Класс (class), ассоциация (association) атрибут (attribute)

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

semantics

Класс (class), операция (operation)

Описывает назначение класса или операции

3. Ограничения. Приведенные ниже ограничения определены как стандартные элементы UML. Для каждого помеченного значения в таблице указывается имя, символ UML, к которому оно применимо, и назначение.

В большинстве случаев ограничение размещается рядом с элементом и заключается в фигурные скобки, например {complete}. Можно изображать ограничение и по-другому - помещая в примечание, соединенное с элементом зависимостью.

Ограничение

Символ, к которому оно применимо

Назначение (о чем говорит данное ограничение)

complete

Обобщение (generalization)

В модели специфицированы все потомки в данном обобщении (хотя некоторые могут быть скрыты на диаграммах), и дополнительных потомков определять не разрешается

destroyed

Экземпляр (instance), связь (link)

Экземпляр или связь уничтожаются до завершения выполнения объемлющего взаимодействия

disjoint

Обобщение (generalization)

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

implicit

Ассоциация (association)

Отношение является не явно выраженным, а концептуальным

incomplete

Обобщение (generalization)

Специфицированы не все потомки в обобщении (учитывая и скрытых). Разрешается определять дополнительных потомков

new

Экземпляр (instance), связь (link)

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

or

Ассоциация (association)

Из множества ассоциаций ровно одна является явно выраженной для каждого ассоциированного объекта

overlapping

Обобщение (generalization)

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

transient

Экземпляр (instance), связь (link)

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

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