Диаграммы UML

Содержание

Слайд 2

Основные вопросы

Что такое диаграмма классов
Компоненты диаграммы классов и их назначение
Пример диаграммы классов
Расширение

Основные вопросы Что такое диаграмма классов Компоненты диаграммы классов и их назначение
языка UML для построения моделей программного обеспечения и бизнес-систем

Слайд 3

Диаграмма классов

Является центральным звеном объектно-ориентированного подхода
Содержит информацию об объектах системы и

Диаграмма классов Является центральным звеном объектно-ориентированного подхода Содержит информацию об объектах системы
статических связях между объектами
Отражает декларативные знания о предметной области
Оперирует понятиями класса, объекта, отношения, пакета

Слайд 4

Класс

Класс – это множество объектов, которые обладают одинаковой структурой, поведением и отношениями

Класс Класс – это множество объектов, которые обладают одинаковой структурой, поведением и
с объектами из других классов.

Простейший вид класса состоит только из секции имени

Класс с указанием атрибутов (переменных)

Полное описание класса, состоящее из 3 разделов (секций) – секции имени, секции атрибутов, секции операций

Слайд 5

Класс

Имя класса должно быть уникально
Имя класса должно начинаться с заглавной буквы.
Класс

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

Слайд 6

Атрибуты класса

Атрибут = свойство, которое является общим для всех объектов данного класса
Общий

Атрибуты класса Атрибут = свойство, которое является общим для всех объектов данного
формат записи атрибутов:
<квантор видимости> <имя атрибута> [кратность]: <тип атрибута> = <исходное значение> {строка-свойство}

Слайд 7

Атрибуты класса. Квантор видимости

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

Атрибуты класса. Квантор видимости Квантор видимости может принимать одно из следующих значений:
#, - , ~.
«+» - атрибут с областью видимости типа общедоступный (public).
«#» - атрибут с областью видимости типа защищенный (protected).
«-» - атрибут с областью видимости типа закрытый (private).
«~» - атрибут с областью видимости типа пакетный (package).

Слайд 8

Атрибуты класса. Имя атрибута

Представлено в виде уникальной строки текста
Имя атрибута является единственным

Атрибуты класса. Имя атрибута Представлено в виде уникальной строки текста Имя атрибута
обязательным элементом в синтаксическом обозначении атрибута
Должно начинаться со строчной буквы
По практическим соображениям записывается без пробелов

Слайд 9

Атрибуты класса. Кратность атрибута

Кратность атрибута характеризует общее количество конкретных атрибутов данного типа,

Атрибуты класса. Кратность атрибута Кратность атрибута характеризует общее количество конкретных атрибутов данного
входящих в состав отдельного класса.
Формат: [нижняя граница . . верхняя граница]
Примеры: [0..1], [0..*], [1..3,5..7]

Слайд 10

Атрибуты класса. Тип атрибута

Выражение, определяемое некоторым типом данных (например, в зависимости от

Атрибуты класса. Тип атрибута Выражение, определяемое некоторым типом данных (например, в зависимости
языка программирования)
В простейшем случае – осмысленная строка текста.
Пример:
цвет: Color
имяСотрудника[1..2]: String;
видимость: Boolean

Слайд 11

Атрибуты класса. Исходное значение

Служит для задания некоторого начального значения в момент создания

Атрибуты класса. Исходное значение Служит для задания некоторого начального значения в момент
отдельного экземпляра класса
Пример:
цвет: Color = (255, 0, 0)
имяСотрудника[1..2]: String = ‘Иван Иванов’;
видимость: Boolean = истина

Слайд 12

Атрибуты класса. Строка-свойство

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

Атрибуты класса. Строка-свойство Служит для указания дополнительных свойств атрибута, которые могут характеризовать
изменения значений атрибута в ходе выполнения соответствующей программы.
Это значение принимается за исходное значение атрибута, которое не может быть изменено в дальнейшем.
Пример:
заработнаяПлата: Currency = $500 {frozen}

Слайд 13

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

Представляют собой некоторый сервис, который предоставляет каждый экземпляр класса или объект

Операции класса Представляют собой некоторый сервис, который предоставляет каждый экземпляр класса или
по требованию своих клиентов.
Правила записи операций:
<квантор видимости> <имя операции> (список параметров): <выражение типа возвращаемого значения> {строка-свойство}

Слайд 14

Операции класса. Список параметров

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

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

Слайд 15

Операции класса. Строка-свойство

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

Операции класса. Строка-свойство Строка-свойство служит для указания значений свойств, которые могут быть
к данной операции.
Например, для указания последовательности действий будет использована строка-свойство вида:
{concurrency = имя} ,
где имя может принимать одно из следующих значений:
sequential (последовательная),
concurrent (параллельная),
guarded (охраняемая)

Слайд 16

Операции класса. Примеры

+нарисовать (форма : Многоугольник = прямоугольник, цветЗаливки : Color =

Операции класса. Примеры +нарисовать (форма : Многоугольник = прямоугольник, цветЗаливки : Color
(0, 0, 255));
-изменитьСчетКлиента (номерСчета : Integer) : Currency;
#выдатьСообщение() : (‘Ошибка деления на ноль’).

Слайд 17

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

Базовыми отношениями на диаграмме классов являются:
отношения ассоциации (association);
отношения обобщения (generalization);
отношения

Отношения между классами Базовыми отношениями на диаграмме классов являются: отношения ассоциации (association);
агрегации (aggregation);
отношения композиции (composition);
отношения зависимости (dependency).

Слайд 18

Отношение ассоциации

Отношение ассоциации свидетельствует о наличии произвольного отношения между классами.

Кратность ассоциации

Имя

Отношение ассоциации Отношение ассоциации свидетельствует о наличии произвольного отношения между классами. Кратность ассоциации Имя ассоциации
ассоциации

Слайд 19

Отношение обобщения

Является отношением классификации между более общим элементом (родителем или предком) и

Отношение обобщения Является отношением классификации между более общим элементом (родителем или предком)
более частным или специальным элементом (дочерним или потомком)

Слайд 20

Отношение агрегации

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

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

Слайд 21

Отношение композиции

Является частным случаем отношения агрегации.
Части не могут выступать в отрыве

Отношение композиции Является частным случаем отношения агрегации. Части не могут выступать в
от целого, т.е. с уничтожением целого уничтожаются составные части.

Слайд 22

Отношение зависимости

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

Отношение зависимости Используется в такой ситуации, когда некоторое изменение одного элемента модели
потребовать изменения другого элемента.

Источник зависимости

Клиент зависимости

Слайд 23

Пакеты

служат для группировки элементов модели
Любой пакет владеет своими элементами
любой элемент

Пакеты служат для группировки элементов модели Любой пакет владеет своими элементами любой
может принадлежать только одному пакету

Слайд 24

Пример диаграммы классов

Пример диаграммы классов

Слайд 25

Расширения языка UML

Расширения языка UML

Профиль для процесса разработки ПО
(The UML Profile

Расширения языка UML Расширения языка UML Профиль для процесса разработки ПО (The
for Software Development)

Профиль для бизнес-моделирования (The UML Profile for Business Modeling)

Слайд 26

Профиль для процесса разработки ПО

Управляющий класс (control) – отвечает за координацию

Профиль для процесса разработки ПО Управляющий класс (control) – отвечает за координацию действий других классов.
действий других классов.

Слайд 27

Профиль для процесса разработки ПО

Класс-сущность (entity) содержит информацию, которая должна храниться постоянно

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

Слайд 28

Профиль для процесса разработки ПО

Граничный класс (boundary) – располагается на границе системы

Профиль для процесса разработки ПО Граничный класс (boundary) – располагается на границе
с внешней средой, но является составной частью системы.

Слайд 29

Задание

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

Задание изучить самостоятельно графические примитивы профиля бизнес-моделирования.

Слайд 30

Интерфейс (interface)

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

Интерфейс (interface) в контексте языка UML является специальным случаем класса, у которого
только операции и отсутствуют атрибуты.
Имя файла: Диаграммы-UML.pptx
Количество просмотров: 514
Количество скачиваний: 9