Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Алгоритмизация 1 курс.doc
Скачиваний:
37
Добавлен:
15.03.2015
Размер:
498.18 Кб
Скачать

Кратность

Кратность (multiplicity) – это интервал изменения количества элементов модели от минимума до максимума.

Кратность в UML может относиться к:

  • атрибутам;

  • классам;

  • полюсам (концам) ассоциаций .

Синтаксис написания кратности:

Нижняя граница .. ВЕРХНЯЯ ГРАНИЦА

Пример приведен в таблице № 25

Таблица 25. Выражения кратности

Выражения кратности

Множество может иметь

0 .. *

Произвольное количество элементов

*

Произвольное количество элементов

1 .. *

Один или более элементов

0 ..1

Не более одного элемента

1 .. 10

От одного до десяти элементов

1.. 3, 5, 7 .. 10

Один, два, три, семь, восемь, девять или десять элементов

5 .. 3

Некорректная запись. Нижняя граница больше верхней

-1 .. 3

Некорректная запись. Отрицательные числа недопустимы

______________________________________________________

Примеры записи атрибутов для класса Сотрудник:

+ имяСотрудника : String {readOnly}

~ датаРождения : Data {readOnly}

# / возрастСотрудника : Integer

+ номерТелефона : Integer [*] {unique}

заработнаяПлата : Currency = $500

2.3.Операции класса

Операция (operation) класса служит для представления отдельной характеристики поведения, которая является общей для всех объектов данного класса.

Общий формат записи операции класса следующий:

< операция>::=

[<видимость >]

<имя операции> ‘(‘ [< список параметров >] ‘)’

[

‘:’ [< тип возвращаемого результата > ]

‘{‘ <свойство операции > [‘,’ <свойство операции >]* ‘}’

]

[<видимость >] Видимость операции определяется аналогично видимости аргумента (см. табл.14).

<имя операции> Требования к оформлению имени операции:

  • имя операции параметр обязательный;

  • имя операции начинается со строчной буквы;

  • не рекомендуется иметь пробелы;

  • обязательно после имени должны идти круглые скобки.

<список параметров> (parameter list) – перечень разделенных запятыми формальных параметров операции и имеет общие формы записи:

<список параметров> :: = <параметр> [‘,’<параметр >]*

:<тип возвращаемого результата > (return type) – определяет тип значения возвращаемой данной операцией (двоеточие могу быть опущены, если операция не возвращает никакого значения )

<свойство операции> (operation property) служит для указания дополнительных свойств.

Список свойств приведен в таблице 25

Формат записи свойства операций

< свойство операции > :: = ‘redefines’ < имя операции? > | ‘query’ |

‘ordered’ | ‘unique’ | <ограничение >

Таблица 25. Назначение свойств операций

Свойства операций

Назначение свойства операции

redefines <имя операции>

Переопределяет наследуемую операцию с именем <имя операции>

query

Не изменяет состояния моделируемой системы и, соответственно, не имеет побочного эффекта

ordered

Значения возвращаемого параметра являются упорядоченными. (Предполагается, что кратность данного возвращаемого параметра должна быть больше 1)

unique

Значения возвращаемого параметра не могут повторятся. (Предполагается, что кратность данного возвращаемого параметра должна быть больше 1)

<ограничение >

Выражение, которое определяет некоторое ограничение, применяемое к данной операции

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

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

2.4. Параметры Операции Класса

Параметр (parameter) является спецификацией аргумента, который используется при выполнении операции.

Формат записи параметров:

<параметр>::= [<направление > ] <имя параметра> ’: ’ <выражение типа>

[‘[‘ <кратность > ’]‘] [ ‘=’ <значение по умолчанию> ]

[ ‘{‘<свойство параметра> [ ‘,’ < свойство параметра >]* ‘ } ’ ]

Не за что

Таблица … . Семантика Параметров Операции Класса

Параметр

<направление >::=

‘in’

Указывает на то, что значения этого параметра передаются в операцию вызывающим объектом

‘out’

Указывает на то, что значения этого параметра передаются вызывающему объекту по окончании выполнения операции

‘inout’

Указывает на то, что значения этого параметра с начло передаются внутрь операции, а затем передаются наружу

‘return’

Работает подобно out

<имя параметра> (parameter name)

Идентификатор формального параметра, при записи которого необходимо следовать правилам задания имен атрибутов

:<выражение типа> (type expression)

Является спецификацией типа данных для возможных значений соответствующего формального параметра. Этот терм аналогичен рассмотренному выше терму <тип атрибута> для атрибутов классов

<кратность> (multiplicity)

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

=<значение по умолчанию> (default)

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

<свойство параметра> (parameter property)

Указывает дополнительные свойства значений данного формального параметра. В качестве значений свойств параметра могут быть использованы модификаторы атрибутов

Предусловие (precondition) для операции определяет условия, которое должно быть истинным, когда эта операция вызывается.

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

Пример 1: запись операций для класса Сотрудник:

+ добавить( in номерТелефона : Integer [*] {unique})

Ключевой символ

Назначение

+

Указывает на “видимость” знак + указывает на то, что данный класс является общедоступным

добавить

Название класса

(

Открывающая скобка указывает на начало описания параметров операции класса

in

Указывает на то, что значения этого параметра передаются в операцию вызывающим объектом

номерТелефона

Имя входного параметра

: Integer

Указывает на то, что у входного параметр тип данных целочисленный

[*]

Многозначность

{unique}

Значения возвращаемого параметра не могут повторяться

)

Закрывающая скобка указывает на окончание описания параметров операции класса

Пример 2:

–изменить (in заработнаяПлата : Currency)

Закрытая операция с единственным передаваемым параметром заработнаяПлата типа Currtnce

______________________________________________________

Пример 3:

+создать() : Boolean

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

___________________________________________________________

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

Виды Отношений между Классами, используемые при построении диаграммы классов:

  • ассоциация

  • агрегация

  • композиция

  • обобщение

  • зависимость

  • реализация

3.1. Ассоциация

Ассоциация (association) – произвольное отношение или взаимосвязь между классами.

Бинарная ассоциация (binary association) обозначается сплошной линией со стрелкой или без нее (возможны дополнительные символы)

Дополнительные символы:

  • имя ассоциации;

  • символ навигации;

  • видимость;

  • полюс ассоциации.

Имя ассоциации Символ направления чтения

ассоциации

Имя полюса ассоциации Имя полюса ассоциации

+работник Работает +работодатель

Сотрудник Компания

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