Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 ВС РСПС Конспект(KIED).doc
Скачиваний:
72
Добавлен:
10.05.2015
Размер:
599.04 Кб
Скачать

40. Правила языка uml.

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

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

· области действия - контексты, в которых имя имеет некоторое значение;

· видимость, когда имена видимы и могут использоваться другими элементами;

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

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

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

· содержат скрытые элементы (ряд элементов не показывают, чтобы упростить восприятие);

· неполные (отдельные элементы пропущены);

· несогласованные (целостность модели не гарантируется).

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

41. Общие механизмы языка uml

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

· спецификации (specifications);

· дополнения (adornments);

· принятые деления (common divisions);

· механизмы расширения (extensibility mechanisms).

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

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

Принятые деления

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

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

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

Механизмы расширения UML

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

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

· помеченные значения (tagged value), которые расширяют свойства основных конструкций UML, позволяя включать новую информацию в спецификацию элемента;

· ограничения (constraints), которые расширяют семантику конструкций UML, позволяя создавать новые и отменять существующие правила.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]