🗊Презентация Диаграмма классов языка UML 2 (Лекция 3)

Нажмите для полного просмотра!
Диаграмма классов языка UML 2 (Лекция 3), слайд №1Диаграмма классов языка UML 2 (Лекция 3), слайд №2Диаграмма классов языка UML 2 (Лекция 3), слайд №3Диаграмма классов языка UML 2 (Лекция 3), слайд №4Диаграмма классов языка UML 2 (Лекция 3), слайд №5Диаграмма классов языка UML 2 (Лекция 3), слайд №6Диаграмма классов языка UML 2 (Лекция 3), слайд №7Диаграмма классов языка UML 2 (Лекция 3), слайд №8Диаграмма классов языка UML 2 (Лекция 3), слайд №9Диаграмма классов языка UML 2 (Лекция 3), слайд №10Диаграмма классов языка UML 2 (Лекция 3), слайд №11Диаграмма классов языка UML 2 (Лекция 3), слайд №12Диаграмма классов языка UML 2 (Лекция 3), слайд №13Диаграмма классов языка UML 2 (Лекция 3), слайд №14Диаграмма классов языка UML 2 (Лекция 3), слайд №15Диаграмма классов языка UML 2 (Лекция 3), слайд №16Диаграмма классов языка UML 2 (Лекция 3), слайд №17Диаграмма классов языка UML 2 (Лекция 3), слайд №18Диаграмма классов языка UML 2 (Лекция 3), слайд №19Диаграмма классов языка UML 2 (Лекция 3), слайд №20Диаграмма классов языка UML 2 (Лекция 3), слайд №21Диаграмма классов языка UML 2 (Лекция 3), слайд №22Диаграмма классов языка UML 2 (Лекция 3), слайд №23Диаграмма классов языка UML 2 (Лекция 3), слайд №24Диаграмма классов языка UML 2 (Лекция 3), слайд №25Диаграмма классов языка UML 2 (Лекция 3), слайд №26Диаграмма классов языка UML 2 (Лекция 3), слайд №27Диаграмма классов языка UML 2 (Лекция 3), слайд №28Диаграмма классов языка UML 2 (Лекция 3), слайд №29Диаграмма классов языка UML 2 (Лекция 3), слайд №30Диаграмма классов языка UML 2 (Лекция 3), слайд №31Диаграмма классов языка UML 2 (Лекция 3), слайд №32Диаграмма классов языка UML 2 (Лекция 3), слайд №33Диаграмма классов языка UML 2 (Лекция 3), слайд №34Диаграмма классов языка UML 2 (Лекция 3), слайд №35Диаграмма классов языка UML 2 (Лекция 3), слайд №36Диаграмма классов языка UML 2 (Лекция 3), слайд №37Диаграмма классов языка UML 2 (Лекция 3), слайд №38Диаграмма классов языка UML 2 (Лекция 3), слайд №39Диаграмма классов языка UML 2 (Лекция 3), слайд №40Диаграмма классов языка UML 2 (Лекция 3), слайд №41Диаграмма классов языка UML 2 (Лекция 3), слайд №42Диаграмма классов языка UML 2 (Лекция 3), слайд №43Диаграмма классов языка UML 2 (Лекция 3), слайд №44Диаграмма классов языка UML 2 (Лекция 3), слайд №45Диаграмма классов языка UML 2 (Лекция 3), слайд №46Диаграмма классов языка UML 2 (Лекция 3), слайд №47Диаграмма классов языка UML 2 (Лекция 3), слайд №48Диаграмма классов языка UML 2 (Лекция 3), слайд №49Диаграмма классов языка UML 2 (Лекция 3), слайд №50Диаграмма классов языка UML 2 (Лекция 3), слайд №51Диаграмма классов языка UML 2 (Лекция 3), слайд №52Диаграмма классов языка UML 2 (Лекция 3), слайд №53

Содержание

Вы можете ознакомиться и скачать презентацию на тему Диаграмма классов языка UML 2 (Лекция 3). Доклад-сообщение содержит 53 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Учебный курс
Язык UML в анализе и проектировании программных систем и бизнес-процессов

Лекция 3
 Диаграмма классов языка UML 2
Описание слайда:
Учебный курс Язык UML в анализе и проектировании программных систем и бизнес-процессов Лекция 3 Диаграмма классов языка UML 2

Слайд 2





Проблема: Как представить архитектуру программной системы?
Описание слайда:
Проблема: Как представить архитектуру программной системы?

Слайд 3





Архитектура программной системы в нотации UML
Описание слайда:
Архитектура программной системы в нотации UML

Слайд 4





Диаграмма классов — основная логическая модель проектируемой системы 
Диаграмма классов (class diagram) — диаграмма, предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования
Диаграмма классов представляет собой граф, вершинами или узлами которого являются элементы типа “классификатор”, которые связаны различными типами структурных отношений
Классификатор (classifier) – специальное понятие, предназначенное для классификации экземпляров, которые имеют общие характеристики
Описание слайда:
Диаграмма классов — основная логическая модель проектируемой системы Диаграмма классов (class diagram) — диаграмма, предназначенная для представления модели статической структуры программной системы в терминологии классов объектно-ориентированного программирования Диаграмма классов представляет собой граф, вершинами или узлами которого являются элементы типа “классификатор”, которые связаны различными типами структурных отношений Классификатор (classifier) – специальное понятие, предназначенное для классификации экземпляров, которые имеют общие характеристики

Слайд 5





Характеристики классификатора
Характеристика (feature) – понятие, предназначенное для спецификации особенностей структуры и поведения экземпляров классификаторов
Структурная характеристика (structural feature) является типизированной характеристикой классификатора, которая специфицирует структуру его экземпляров
Характеристика поведения (behavioral feature) является характеристикой классификатора, которая специфицирует некоторый аспект поведения его экземпляров
Класс (class) – элемент модели, который описывает множество объектов, имеющих одинаковые спецификации характеристик, ограничений и семантики
Описание слайда:
Характеристики классификатора Характеристика (feature) – понятие, предназначенное для спецификации особенностей структуры и поведения экземпляров классификаторов Структурная характеристика (structural feature) является типизированной характеристикой классификатора, которая специфицирует структуру его экземпляров Характеристика поведения (behavioral feature) является характеристикой классификатора, которая специфицирует некоторый аспект поведения его экземпляров Класс (class) – элемент модели, который описывает множество объектов, имеющих одинаковые спецификации характеристик, ограничений и семантики

Слайд 6





Основные обозначения на диаграмме классов
Описание слайда:
Основные обозначения на диаграмме классов

Слайд 7





Варианты графического изображения класса на диаграмме классов
Описание слайда:
Варианты графического изображения класса на диаграмме классов

Слайд 8





Разновидности классов
Абстрактный (abstract) класс не имеет экземпляров или объектов, для обозначения его имени используется наклонный шрифт (курсив)
Активный класс (active class) – класс, каждый экземпляр которого имеет свою собственную нить управления
Пассивный класс (passive class) – класс, каждый экземпляр которого выполняется в контексте некоторого другого объекта
Квалифицированное имя (qualified name) используется для того, чтобы явно указать, к какому пакету относится тот или иной класс. Для этого применяется специальный символ в качестве разделителя имени – двойное двоеточие “::”
Имя класса без символа разделителя называется простым именем класса
Описание слайда:
Разновидности классов Абстрактный (abstract) класс не имеет экземпляров или объектов, для обозначения его имени используется наклонный шрифт (курсив) Активный класс (active class) – класс, каждый экземпляр которого имеет свою собственную нить управления Пассивный класс (passive class) – класс, каждый экземпляр которого выполняется в контексте некоторого другого объекта Квалифицированное имя (qualified name) используется для того, чтобы явно указать, к какому пакету относится тот или иной класс. Для этого применяется специальный символ в качестве разделителя имени – двойное двоеточие “::” Имя класса без символа разделителя называется простым именем класса

Слайд 9





Атрибут (attribute) класса
– служит для представления отдельной структурной характеристики или свойства, которое является общим для всех объектов данного класса	
<атрибут>::= [<видимость>] [‘/’] <имя> [‘:’ <тип атрибута>]  [‘[‘<кратность>‘]’]  [‘=’ <значение по умолчанию>] [‘{‘<модификатор атрибута> [‘,’ <модификатор атрибута>]* ’}’] 
Где:
<видимость>::= ‘+’ | ‘–‘ | ‘#’ | ‘~’.
видимость (visibility) может принимать одно из 4-х возможных значений и отображаться либо посредством специального символа, либо соответствующего ключевого слова
Описание слайда:
Атрибут (attribute) класса – служит для представления отдельной структурной характеристики или свойства, которое является общим для всех объектов данного класса <атрибут>::= [<видимость>] [‘/’] <имя> [‘:’ <тип атрибута>]  [‘[‘<кратность>‘]’]  [‘=’ <значение по умолчанию>] [‘{‘<модификатор атрибута> [‘,’ <модификатор атрибута>]* ’}’] Где: <видимость>::= ‘+’ | ‘–‘ | ‘#’ | ‘~’. видимость (visibility) может принимать одно из 4-х возможных значений и отображаться либо посредством специального символа, либо соответствующего ключевого слова

Слайд 10





Вид видимости 
+ public (общедоступный). Общедоступный элемент является видимым всеми элементами, который имеют доступ к содержимому пространства имен, который им владеет.
- private (закрытый). Закрытый элемент является видимым только внутри пространства имен, который им владеет.
# protected (защищенный). Защищенный элемент является видимым для элементов, которые имеют отношение обобщения с пространством имен, который им владеет.
~ package (пакет). Элемент, помеченный как имеющий пакетную видимость, является видимым всеми элементами в ближайшем охватывающем пакете в предположении. За пределами ближайшего охватывающего пакета элемент, помеченный как имеющий пакетную видимость, не является видимым.
Описание слайда:
Вид видимости + public (общедоступный). Общедоступный элемент является видимым всеми элементами, который имеют доступ к содержимому пространства имен, который им владеет. - private (закрытый). Закрытый элемент является видимым только внутри пространства имен, который им владеет. # protected (защищенный). Защищенный элемент является видимым для элементов, которые имеют отношение обобщения с пространством имен, который им владеет. ~ package (пакет). Элемент, помеченный как имеющий пакетную видимость, является видимым всеми элементами в ближайшем охватывающем пакете в предположении. За пределами ближайшего охватывающего пакета элемент, помеченный как имеющий пакетную видимость, не является видимым.

Слайд 11





Проблема интерпретации видимости в языка UML
«Ничто в языке UML не определяется так просто, и не интерпретируется так сложно, как видимость» (Мартин Фаулер)
В С++ видимость «friend» (дружественная) обладает полным доступом ко всем элементам класса
«…в С++ друзья прикасаются к закрытым частям друг друга»
В Java видимость «package» (пакетная) обладает полным доступом ко всем классам данного пакета
В Java разрешается помечать классы как:
общедоступные – элементы общедоступного класса могут использоваться любым классом, который импортирует пакет, содержащий исходный класс
пакетные – элементы пакетного класса могут использоваться только классами данного пакета
Описание слайда:
Проблема интерпретации видимости в языка UML «Ничто в языке UML не определяется так просто, и не интерпретируется так сложно, как видимость» (Мартин Фаулер) В С++ видимость «friend» (дружественная) обладает полным доступом ко всем элементам класса «…в С++ друзья прикасаются к закрытым частям друг друга» В Java видимость «package» (пакетная) обладает полным доступом ко всем классам данного пакета В Java разрешается помечать классы как: общедоступные – элементы общедоступного класса могут использоваться любым классом, который импортирует пакет, содержащий исходный класс пакетные – элементы пакетного класса могут использоваться только классами данного пакета

Слайд 12





Элементы записи атрибута
“/” означает, что атрибут является производным (derive). Значение производного атрибута может быть вычислено на основе значений других атрибутов этого или других классов. Поэтому данный атрибут называют иногда вычислимым. При использовании производных атрибутов разработчик должен явно указать процедуру или операцию для вычисления их значений.
<имя> (name) представляет собой строку текста, которая используется в качестве идентификатора соответствующего атрибута и поэтому должна быть уникальной в пределах данного класса. Имя атрибута является единственным обязательным элементом в обозначении атрибута, должно начинаться со срочной (малой) буквы и, как правило, не должно содержать пробелов.
Описание слайда:
Элементы записи атрибута “/” означает, что атрибут является производным (derive). Значение производного атрибута может быть вычислено на основе значений других атрибутов этого или других классов. Поэтому данный атрибут называют иногда вычислимым. При использовании производных атрибутов разработчик должен явно указать процедуру или операцию для вычисления их значений. <имя> (name) представляет собой строку текста, которая используется в качестве идентификатора соответствующего атрибута и поэтому должна быть уникальной в пределах данного класса. Имя атрибута является единственным обязательным элементом в обозначении атрибута, должно начинаться со срочной (малой) буквы и, как правило, не должно содержать пробелов.

Слайд 13





Элементы записи атрибута
<тип атрибута> (attribute type) есть имя классификатора, который является типом данного атрибута. Тип атрибута представляет собой имя некоторого типа данных, определенного или в пакете Типу атрибута должно предшествовать двоеточие
<кратность> (multiplicity) атрибута характеризует общее количество конкретных значений для атрибута, которые могут быть заданы для объектов данного класса
<значение по умолчанию> (default) – некоторое выражение, которое служит для задания начального значения или значений данного атрибута в момент создания отдельного экземпляра соответствующего класса. Конкретное значение по умолчанию должно соответствовать типу данного атрибута. Если этот терм не указан, то значение атрибута на момент создания нового экземпляра класса не определено.
Описание слайда:
Элементы записи атрибута <тип атрибута> (attribute type) есть имя классификатора, который является типом данного атрибута. Тип атрибута представляет собой имя некоторого типа данных, определенного или в пакете Типу атрибута должно предшествовать двоеточие <кратность> (multiplicity) атрибута характеризует общее количество конкретных значений для атрибута, которые могут быть заданы для объектов данного класса <значение по умолчанию> (default) – некоторое выражение, которое служит для задания начального значения или значений данного атрибута в момент создания отдельного экземпляра соответствующего класса. Конкретное значение по умолчанию должно соответствовать типу данного атрибута. Если этот терм не указан, то значение атрибута на момент создания нового экземпляра класса не определено.

Слайд 14





Модификатор атрибута
<модификатор атрибута> (attribute modifier) представляет собой текстовое выражение, которое придает дополнительную семантику данному атрибуту. При этом набор возможных модификаторов атрибутов в языке UML 2.х фиксирован и может быть представлен в следующем виде (БНФ):
<модификатор атрибута>::= ‘readOnly’ | ‘union’ | ‘subsets‘ <имя атрибута>  | ‘redefines’ <имя атрибута> | ‘ordered’ | ‘unique’ | <ограничение атрибута>.
Описание слайда:
Модификатор атрибута <модификатор атрибута> (attribute modifier) представляет собой текстовое выражение, которое придает дополнительную семантику данному атрибуту. При этом набор возможных модификаторов атрибутов в языке UML 2.х фиксирован и может быть представлен в следующем виде (БНФ): <модификатор атрибута>::= ‘readOnly’ | ‘union’ | ‘subsets‘ <имя атрибута>  | ‘redefines’ <имя атрибута> | ‘ordered’ | ‘unique’ | <ограничение атрибута>.

Слайд 15





Значения модификатора атрибута
readOnly – атрибут является только для чтения
union – атрибут является производным объединением его подмножеств
subsets <имя атрибута> – атрибут является собственным подмножеством атрибута с именем <имя атрибута>
redefines <имя атрибута> – атрибут переопределяет некоторый наследуемый атрибут с именем <имя атрибута>
Описание слайда:
Значения модификатора атрибута readOnly – атрибут является только для чтения union – атрибут является производным объединением его подмножеств subsets <имя атрибута> – атрибут является собственным подмножеством атрибута с именем <имя атрибута> redefines <имя атрибута> – атрибут переопределяет некоторый наследуемый атрибут с именем <имя атрибута>

Слайд 16





Значения модификатора атрибута
ordered – значения атрибута являются упорядоченными. Этот порядок означает, что существует отображение из множества положительных целых чисел в элементы этой коллекции значений. Если атрибут не является многозначным, то это значение не имеет семантического эффекта. При отсутствии этого модификатора атрибут специфицируется как неупорядоченный.
unique – значения многозначного атрибута не могут иметь дубликатов, т.е. повторяться. Предполагается, что кратность соответствующего атрибута должна быть больше 1. Если атрибут не является многозначным, то значение unique не имеет семантического эффекта.
<ограничение атрибута> Выражение, которое специфицирует некоторое ограничение, применяемое к данному атрибуту
Описание слайда:
Значения модификатора атрибута ordered – значения атрибута являются упорядоченными. Этот порядок означает, что существует отображение из множества положительных целых чисел в элементы этой коллекции значений. Если атрибут не является многозначным, то это значение не имеет семантического эффекта. При отсутствии этого модификатора атрибут специфицируется как неупорядоченный. unique – значения многозначного атрибута не могут иметь дубликатов, т.е. повторяться. Предполагается, что кратность соответствующего атрибута должна быть больше 1. Если атрибут не является многозначным, то значение unique не имеет семантического эффекта. <ограничение атрибута> Выражение, которое специфицирует некоторое ограничение, применяемое к данному атрибуту

Слайд 17





Кратность 
Кратность (multiplicity) является спецификацией допустимой мощности множества при инстанцировании соответствующего элемента модели
Спецификация кратности в нотации БНФ имеет следующий формат:
<кратность> ::= <диапазон-кратности> [ ‘{‘ <указатель-упорядоченности> [‘,’ <указатель-уникальности>] ‘}’ ]
<диапазон-кратности> ::= [<нижняя-граница>‘..’ ] <верхняя-граница>
<нижняя-граница> ::= <целое число> | <спецификация значения>
<верхняя-граница> ::= ‘*’ | <спецификация значения>
<указатель-упорядоченности> ::= ‘ordered’ | ‘unordered’
<указатель-уникальности> ::= ‘unique’ | ‘nonunique’
Описание слайда:
Кратность Кратность (multiplicity) является спецификацией допустимой мощности множества при инстанцировании соответствующего элемента модели Спецификация кратности в нотации БНФ имеет следующий формат: <кратность> ::= <диапазон-кратности> [ ‘{‘ <указатель-упорядоченности> [‘,’ <указатель-уникальности>] ‘}’ ] <диапазон-кратности> ::= [<нижняя-граница>‘..’ ] <верхняя-граница> <нижняя-граница> ::= <целое число> | <спецификация значения> <верхняя-граница> ::= ‘*’ | <спецификация значения> <указатель-упорядоченности> ::= ‘ordered’ | ‘unordered’ <указатель-уникальности> ::= ‘unique’ | ‘nonunique’

Слайд 18





Примеры записи атрибутов
+ имяСотрудника : String {readOnly}
~ датаРождения : Data {readOnly} 
# /возрастСотрудника : Integer 
+ номерТелефона : Integer [1..*] {unique} 
– заработнаяПлата : Currency = 500.00
Описание слайда:
Примеры записи атрибутов + имяСотрудника : String {readOnly} ~ датаРождения : Data {readOnly} # /возрастСотрудника : Integer + номерТелефона : Integer [1..*] {unique} – заработнаяПлата : Currency = 500.00

Слайд 19





Операции класса 
Операция (operation) класса служит для представления отдельной характеристики поведения, которая является общей для всех объектов данного класса
Общий формат записи отдельной операции класса следующий (БНФ):
<операция>::=[<видимость>] <имя операции> ‘(‘ [<список  параметров>] ‘)’ [‘:’ [<тип возвращаемого результата>] ‘{‘ <свойство операции> [‘,’ <свойство операции>]* ‘}’]
Где:
<видимость> ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’ 
<имя операции> (operation name) представляет собой строку текста, которая используется в качестве идентификатора соответствующей операции и поэтому должна быть уникальной для каждой операции данного класса
Описание слайда:
Операции класса Операция (operation) класса служит для представления отдельной характеристики поведения, которая является общей для всех объектов данного класса Общий формат записи отдельной операции класса следующий (БНФ): <операция>::=[<видимость>] <имя операции> ‘(‘ [<список параметров>] ‘)’ [‘:’ [<тип возвращаемого результата>] ‘{‘ <свойство операции> [‘,’ <свойство операции>]* ‘}’] Где: <видимость> ::= ‘+’ | ‘-‘ | ‘#’ | ‘~’ <имя операции> (operation name) представляет собой строку текста, которая используется в качестве идентификатора соответствующей операции и поэтому должна быть уникальной для каждой операции данного класса

Слайд 20





Формат записи операции класса
<список параметров> (parameter list) представляет собой перечень разделенных запятыми формальных параметров операции и имеет следующий общий формат записи (БНФ):
<список параметров>::= <параметр> [‘,’<параметр>]*.
<параметр>::= [<направление>] <имя параметра> ‘:’ <выражение типа> [‘[‘<кратность>’]’] [‘=’ <значение по умолчанию>] [‘{‘ <свойство параметра > [‘,’ <свойство параметра>]* ‘}’]
<тип возвращаемого результата> (return type) специфицирует тип значения, возвращаемого данной операцией
Описание слайда:
Формат записи операции класса <список параметров> (parameter list) представляет собой перечень разделенных запятыми формальных параметров операции и имеет следующий общий формат записи (БНФ): <список параметров>::= <параметр> [‘,’<параметр>]*. <параметр>::= [<направление>] <имя параметра> ‘:’ <выражение типа> [‘[‘<кратность>’]’] [‘=’ <значение по умолчанию>] [‘{‘ <свойство параметра > [‘,’ <свойство параметра>]* ‘}’] <тип возвращаемого результата> (return type) специфицирует тип значения, возвращаемого данной операцией

Слайд 21





Параметры операции
Параметр (parameter) является спецификацией аргумента, который используется при выполнении операции или при вызове характеристики поведения
<направление>::= ‘in’ | ‘out’ | ‘inout’| ‘return‘. Если оно не указано, то по умолчанию принимается значение “in”.
in – указывает на то, что значения этого параметра передаются в операцию вызывающим объектом.
inout – указывает на то, что значения этого параметра передаются в операцию вызывающим объектом и затем обратно вызывающему объекту после окончания выполнения операции.
out – указывает на то, что значения этого параметра передаются вызывающему объекту после окончания выполнения операции.
return – указывает на то, что значения этого параметра передаются в качестве возвращаемых значений вызывающему объекту после окончания выполнения операции.
Описание слайда:
Параметры операции Параметр (parameter) является спецификацией аргумента, который используется при выполнении операции или при вызове характеристики поведения <направление>::= ‘in’ | ‘out’ | ‘inout’| ‘return‘. Если оно не указано, то по умолчанию принимается значение “in”. in – указывает на то, что значения этого параметра передаются в операцию вызывающим объектом. inout – указывает на то, что значения этого параметра передаются в операцию вызывающим объектом и затем обратно вызывающему объекту после окончания выполнения операции. out – указывает на то, что значения этого параметра передаются вызывающему объекту после окончания выполнения операции. return – указывает на то, что значения этого параметра передаются в качестве возвращаемых значений вызывающему объекту после окончания выполнения операции.

Слайд 22





Параметры операции
<имя параметра> (parameter name) представляет собой идентификатор формального параметра, при записи которого необходимо следовать правилам задания имен атрибутов
<выражение типа> (type expression) является спецификацией типа данных для возможных значений соответствующего формального параметра. Этот терм аналогичен рассмотренному выше терму <тип атрибута>для атрибутов классов
Описание слайда:
Параметры операции <имя параметра> (parameter name) представляет собой идентификатор формального параметра, при записи которого необходимо следовать правилам задания имен атрибутов <выражение типа> (type expression) является спецификацией типа данных для возможных значений соответствующего формального параметра. Этот терм аналогичен рассмотренному выше терму <тип атрибута>для атрибутов классов

Слайд 23





Параметры операции
<кратность> (multiplicity) характеризует общее количество конкретных параметров с данным именем, которые могут принадлежать тому или иному объекту данного класса
<значение по умолчанию> (default) представляет собой некоторое выражение, которое специфицирует конкретное значение по умолчанию для данного формального параметра.
<свойство параметра> (parameter property) указывает дополнительные свойства значений данного формального параметра. В качестве значений свойств параметра могут быть использованы модификаторы атрибутов
Описание слайда:
Параметры операции <кратность> (multiplicity) характеризует общее количество конкретных параметров с данным именем, которые могут принадлежать тому или иному объекту данного класса <значение по умолчанию> (default) представляет собой некоторое выражение, которое специфицирует конкретное значение по умолчанию для данного формального параметра. <свойство параметра> (parameter property) указывает дополнительные свойства значений данного формального параметра. В качестве значений свойств параметра могут быть использованы модификаторы атрибутов

Слайд 24





Свойства операций 
redefines <имя операции> – данная операция переопределяет некоторую наследуемую операцию с именем <имя операции>
query – данная операция не изменяет состояния моделируемой системы и, соответственно, не имеет побочного эффекта
ordered – значения возвращаемого параметра являются упорядоченными Предполагается, что кратность данного возвращаемого параметра должна быть больше 1
unique – значения возвращаемого параметра не могут повторяться. Предполагается, что кратность данного возвращаемого параметра должна быть больше 1.
<ограничение> – выражение, которое специфицирует некоторое ограничение, применяемое к данной операции
Описание слайда:
Свойства операций redefines <имя операции> – данная операция переопределяет некоторую наследуемую операцию с именем <имя операции> query – данная операция не изменяет состояния моделируемой системы и, соответственно, не имеет побочного эффекта ordered – значения возвращаемого параметра являются упорядоченными Предполагается, что кратность данного возвращаемого параметра должна быть больше 1 unique – значения возвращаемого параметра не могут повторяться. Предполагается, что кратность данного возвращаемого параметра должна быть больше 1. <ограничение> – выражение, которое специфицирует некоторое ограничение, применяемое к данной операции

Слайд 25





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

Слайд 26





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

Слайд 27





	Примеры записи операций:
+добавить(in номерТелефона : Integer [*] {unique})
–изменить(in заработнаяПлата : Currency)
+создать() : Boolean
toString(return : String)
toString( ) : String
Описание слайда:
Примеры записи операций: +добавить(in номерТелефона : Integer [*] {unique}) –изменить(in заработнаяПлата : Currency) +создать() : Boolean toString(return : String) toString( ) : String

Слайд 28





Отношения на диаграмме классов
Описание слайда:
Отношения на диаграмме классов

Слайд 29





Ассоциация 
Ассоциация (association) – произвольное отношение или взаимосвязь между классами
Имя конца ассоциации специфицирует роль (role), которую играет класс, расположенный на соответствующем конце рассматриваемой ассоциации
Видимость конца ассоциации специфицирует возможность доступа к соответствующему концу ассоциации с других ее концов
Кратность конца ассоциации специфицирует возможное количество экземпляров соответствующего класса, которое может соотноситься с одним экземпляром класса на другом конце этой ассоциации
Символ наличия навигации (navigable) изображается с помощью простой стрелки в форме буквы «V» на конце ассоциации
Символ отсутствия навигации (non navigable) изображается с помощью буквы «X» на линии у конца ассоциации
Описание слайда:
Ассоциация Ассоциация (association) – произвольное отношение или взаимосвязь между классами Имя конца ассоциации специфицирует роль (role), которую играет класс, расположенный на соответствующем конце рассматриваемой ассоциации Видимость конца ассоциации специфицирует возможность доступа к соответствующему концу ассоциации с других ее концов Кратность конца ассоциации специфицирует возможное количество экземпляров соответствующего класса, которое может соотноситься с одним экземпляром класса на другом конце этой ассоциации Символ наличия навигации (navigable) изображается с помощью простой стрелки в форме буквы «V» на конце ассоциации Символ отсутствия навигации (non navigable) изображается с помощью буквы «X» на линии у конца ассоциации

Слайд 30





Строка свойство (property string)
{subset <имя элемента>} – конец ассоциации представляет собой некоторое подмножество <имя элемента>, в качестве которого может выступать имя конца ассоциации или атрибута класса
Описание слайда:
Строка свойство (property string) {subset <имя элемента>} – конец ассоциации представляет собой некоторое подмножество <имя элемента>, в качестве которого может выступать имя конца ассоциации или атрибута класса

Слайд 31





Строка свойство (property string)
{redefined <имя конца ассоциации>} – конец ассоциации переопределяет другой конец ассоциации с именем <имя конца ассоциации>
{union} – конец ассоциации является производным и определяется посредством объединения своих подмножеств
{ordered} – конец ассоциации представляет собой некоторое упорядоченное множество
{bag} – конец ассоциации представляет собой мультимножество или совокупность, в которой допускается представлять один и тот же элемент более одного раза
{sequence} или {seq} – конец ассоциации представляет собой некоторую последовательность или упорядоченное мультимножество
Описание слайда:
Строка свойство (property string) {redefined <имя конца ассоциации>} – конец ассоциации переопределяет другой конец ассоциации с именем <имя конца ассоциации> {union} – конец ассоциации является производным и определяется посредством объединения своих подмножеств {ordered} – конец ассоциации представляет собой некоторое упорядоченное множество {bag} – конец ассоциации представляет собой мультимножество или совокупность, в которой допускается представлять один и тот же элемент более одного раза {sequence} или {seq} – конец ассоциации представляет собой некоторую последовательность или упорядоченное мультимножество

Слайд 32





Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом
Описание слайда:
Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом

Слайд 33





Варианты изображения навигации и кратности у концов ассоциации
Описание слайда:
Варианты изображения навигации и кратности у концов ассоциации

Слайд 34





Исключающая ассоциация между тремя классами
Описание слайда:
Исключающая ассоциация между тремя классами

Слайд 35





Пример тернарной ассоциации
Описание слайда:
Пример тернарной ассоциации

Слайд 36





Пример 4-арной ассоциации
Описание слайда:
Пример 4-арной ассоциации

Слайд 37





Ассоциация класс (association class)
– элемент модели, который имеет свойства как ассоциации, так и класса, и предназначенный для спецификации дополнительных свойств ассоциации в форме атрибутов и, возможно, операций класса.
Описание слайда:
Ассоциация класс (association class) – элемент модели, который имеет свойства как ассоциации, так и класса, и предназначенный для спецификации дополнительных свойств ассоциации в форме атрибутов и, возможно, операций класса.

Слайд 38





Примеры ассоциации класса и рефлексивной ассоциации
Описание слайда:
Примеры ассоциации класса и рефлексивной ассоциации

Слайд 39





Обобщение (generalization)
– таксономическое отношение между более общим классификатором (родителем или предком) и более специальным классификатором (дочерним или потомком)
Описание слайда:
Обобщение (generalization) – таксономическое отношение между более общим классификатором (родителем или предком) и более специальным классификатором (дочерним или потомком)

Слайд 40





Примеры отношения обобщения
Описание слайда:
Примеры отношения обобщения

Слайд 41





Множественное наследование – в языке UML разрешено
Описание слайда:
Множественное наследование – в языке UML разрешено

Слайд 42





Множество обобщения (generalization set)
– элемент модели, экземпляры которого определяют коллекции подмножеств отношения обобщения
{complete, disjoint} — означает, что данное множество обобщения является покрывающим и его специальные классы не имеют общих экземпляров
{incomplete, disjoint} — означает, что данное множество обобщения не является покрывающим и его специальные классы не имеют общих экземпляров (предполагается по умолчанию)
{complete, overlapping} — означает, что данное множество обобщения является покрывающим и его специальные классы имеют общие экземпляры
{incomplete, overlapping} — означает, что данное множество обобщения не является покрывающим и его специальные классы имеют общие экземпляры
По умолчанию - {incomplete, disjoint}
Описание слайда:
Множество обобщения (generalization set) – элемент модели, экземпляры которого определяют коллекции подмножеств отношения обобщения {complete, disjoint} — означает, что данное множество обобщения является покрывающим и его специальные классы не имеют общих экземпляров {incomplete, disjoint} — означает, что данное множество обобщения не является покрывающим и его специальные классы не имеют общих экземпляров (предполагается по умолчанию) {complete, overlapping} — означает, что данное множество обобщения является покрывающим и его специальные классы имеют общие экземпляры {incomplete, overlapping} — означает, что данное множество обобщения не является покрывающим и его специальные классы имеют общие экземпляры По умолчанию - {incomplete, disjoint}

Слайд 43





Примеры ограничений на множество обобщения
Описание слайда:
Примеры ограничений на множество обобщения

Слайд 44





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

Слайд 45





Пример отношения агрегации
Описание слайда:
Пример отношения агрегации

Слайд 46





Композиция (composition)
или композитная агрегация предназначена для спецификации более сильной формы отношения "часть-целое", при которой с уничтожением объекта класса-контейнера уничтожаются и все объекты, являющимися его составными частями.
Описание слайда:
Композиция (composition) или композитная агрегация предназначена для спецификации более сильной формы отношения "часть-целое", при которой с уничтожением объекта класса-контейнера уничтожаются и все объекты, являющимися его составными частями.

Слайд 47





Пример отношения композиции
Описание слайда:
Пример отношения композиции

Слайд 48





Варианты обозначения композиции
Описание слайда:
Варианты обозначения композиции

Слайд 49





Интерфейс (interface)
– вид класса, который представляет собой объявление множества общедоступных характеристик и обязанностей.
Описание слайда:
Интерфейс (interface) – вид класса, который представляет собой объявление множества общедоступных характеристик и обязанностей.

Слайд 50





UML Profile for Software Development Processes
Управляющий класс отвечает за координацию действий других классов. Этому классу посылают мало сообщений, а он рассылает много сообщений
Граничный класс располагается на границе системы с внешней средой.
Класс-сущность содержит информацию, которая хранится постоянно и не уничтожается с выключением системы
Описание слайда:
UML Profile for Software Development Processes Управляющий класс отвечает за координацию действий других классов. Этому классу посылают мало сообщений, а он рассылает много сообщений Граничный класс располагается на границе системы с внешней средой. Класс-сущность содержит информацию, которая хранится постоянно и не уничтожается с выключением системы

Слайд 51





Квалификатор (qualifier)
Квалификатор (qualifier) объявляет разбиение множества ассоциированных экземпляров относительно экземпляра на квалифицированном конце ассоциации
Описание слайда:
Квалификатор (qualifier) Квалификатор (qualifier) объявляет разбиение множества ассоциированных экземпляров относительно экземпляра на квалифицированном конце ассоциации

Слайд 52





Шаблон (template)
– классификатор, который в своем описании имеет несколько формальных параметров
Описание слайда:
Шаблон (template) – классификатор, который в своем описании имеет несколько формальных параметров

Слайд 53





Самостоятельное задание №2
Выполнить текущее тестирование: вопросы 12-18
Разработать диаграмму классов для ATM
Изобразить следующие классы: CardReader, Screen, Keyboard, Printer, CashDispenser, ATMController, BankController, Transaction, IATMBank.
Специфицировать для этих классов атрибуты и операции
Изобразить отношения между классами
Описание слайда:
Самостоятельное задание №2 Выполнить текущее тестирование: вопросы 12-18 Разработать диаграмму классов для ATM Изобразить следующие классы: CardReader, Screen, Keyboard, Printer, CashDispenser, ATMController, BankController, Transaction, IATMBank. Специфицировать для этих классов атрибуты и операции Изобразить отношения между классами



Похожие презентации
Mypresentation.ru
Загрузить презентацию