Какова роль атрибутов в различных типах отношений между классами? 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Какова роль атрибутов в различных типах отношений между классами?



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

<квантор видимости><имя атрибута>[кратность]:

<тип атрибута> = <исходное значение>{строка-свойство}

Квантор видимости может принимать одно из трех возможных значений и отображается при помощи соответствующих специальных символов:

Символ "+" обозначает атрибут с областью видимости типа общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма.

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

Символ "-" обозначает атрибут с областью видимости типа закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без исключения.

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

 

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

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

[нижняя_граница1.. верхняя_граница1, нижняя_граница2.. верхняя_граница2,..., нuжняя_гpaнuцak.. верхняя_границаk],

где «нижняя_граница» и «верхняя_граница» являются положительными целыми числами, каждая пара которых служит для обозначения отдельного замкнутого интервала целых чисел.

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

Исходное значение служит для задания некоторого начального значения для соответствующего атрибута в момент создания отдельного экземпляра класса. Здесь необходимо придерживаться правила принадлежности значения типу конкретного атрибута.

Строка-свойство служит для указания значений атрибута, которые не могут быть изменены в программе при работе с данным типом объектов. */

Что понимается под понятием «операция или метод класса»?

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

<квантор видимости><имя операции>(список параметров):

<выражение типа возвращаемого значения>{строка-свойство}

Квантор видимости, как и в случае атрибутов класса, может принимать одно из трех возможных значений и, соответственно, отображается при помощи специального символа. Символ "+" обозначает операцию с областью видимости типа общедоступный (public). Символ "#" обозначает операцию с областью видимости типа защищенный (protected). И, наконец, символ "-" используется для обозначения операции с областью видимости типа закрытый (private).

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

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

<вид параметра><имя параметра>:<выражение типа>=<значение параметра по умолчанию>.

 

Для чего необходим выбор контекста модели при составлении описания?

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

 

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

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

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

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

 



Поделиться:


Последнее изменение этой страницы: 2016-08-26; просмотров: 395; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.0.53 (0.008 с.)