Информационные технологии. Диаграммы классов. UML. (Тема 9) презентация

Содержание

Слайд 2

Диаграммы классов Унифицированный язык моделирования (UML) – это семейство графических

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

Унифицированный язык моделирования (UML) – это семейство графических нотаций, в

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

Диаграммы классов Три режима использования: Режим эскиза; Режим проектирования; Режим языка программирования.

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

Три режима использования:
Режим эскиза;
Режим проектирования;
Режим языка программирования.

Слайд 4

Диаграммы классов Эскизное моделирование разработчик делает наброски отдельных элементов программы,

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

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

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

Диаграммы классов UML как средство проектирования нацелен на полноту: работа

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

UML как средство проектирования нацелен на полноту: работа заключается в

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

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

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

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

затем дает возможность разработчикам работать над реализацией подробностей. В такой модели можно показать все детали класса.
Слайд 7

Диаграммы классов Различия: Эскизы сознательно выполняются неполными, подчеркивая важную информацию,

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

Различия:
Эскизы сознательно выполняются неполными, подчеркивая важную информацию,
в то время

как модели нацелены на полноту.
Слайд 8

Диаграммы классов Режим использования UML в качестве языка программирования: разработчики

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

Режим использования UML в качестве языка программирования:
разработчики рисуют диаграммы, которые

компилируются прямо в исполняемый код
Слайд 9

Диаграммы классов Другая точка зрения: применением для концептуального моделирования; моделирования программного обеспечения;

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

Другая точка зрения:
применением для концептуального моделирования;
моделирования программного обеспечения;

Слайд 10

Диаграммы классов «Значение моделей в процессе обратной разработки зависит от

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

«Значение моделей в процессе обратной разработки зависит от того, как

работает инструментарий.
Если он применяется в качестве динамического броузера, то он может быть очень полезным;
если же он генерирует большой документ, то вся его работа сводится к пустому переводу бумаги»
М.Фаулер
Слайд 11

Диаграммы классов Класс (class) — абстрактное описание множества однородных объектов,

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

Класс (class) — абстрактное описание множества однородных объектов, имеющих одинаковые

атрибуты, операции и отношения с объектами других классов.
Слайд 12

Диаграммы классов Класс (class) — абстрактное описание множества однородных объектов,

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

Класс (class) — абстрактное описание множества однородных объектов, имеющих одинаковые

атрибуты, операции и отношения с объектами других классов.
Слайд 13

Диаграммы классов Класс (class) — абстрактное описание множества однородных объектов,

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

Класс (class) — абстрактное описание множества однородных объектов, имеющих одинаковые

атрибуты, операции и отношения с объектами других классов.
Слайд 14

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

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

Слайд 15

Диаграммы классов Имя класса Должно быть уникальным в пределах пакета

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

Имя класса
Должно быть уникальным в пределах пакета
имя класса записывается по

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

Банк::Счет

Слайд 16

Диаграммы классов Класс Конкретный класс (concrete class) — класс, на

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

Класс
Конкретный класс (concrete class) — класс, на основе которого могут

быть непосредственно созданы экземпляры или объекты
Абстрактный класс (abstract class) — класс, который не имеет экземпляров или объектов
В языке UML принято общее соглашение о том, что любой текст, относящийся к абстрактному элементу, записывается курсивом
Слайд 17

Атрибуты класса Атрибут (attribute) — содержательная характеристика класса, описывающая множество

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

Атрибут (attribute) — содержательная характеристика класса, описывающая множество значений, которые

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

Атрибуты класса -- «видимость» (visibility) — качественная характеристика характеризующая возможность

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

<квантор видимости> -- «видимость» (visibility) — качественная характеристика характеризующая возможность

других объектов модели оказывать влияние
+ – общедоступный (public).
# – типа защищенный (protected).
- – закрытый (private).
~ - пакетный (package). Атрибут с этой областью видимости недоступен или невиден для всех классов за пределами пакета, в котором определен класс-владелец данного атрибута.
Слайд 19

Кратность (multiplicity) [нижняя граница .. верхняя граница] [0..1] [0..*] [1..*] [1..3,7..*] 1=[1..1] *=[0..*]

Кратность (multiplicity)

[нижняя граница .. верхняя граница]
[0..1]
[0..*]
[1..*]
[1..3,7..*]
1=[1..1]
*=[0..*]

Слайд 20

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

Типы атрибутов

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

спецификации соответствующей модели
цвет: Соlоr
имя_сотрудника [1..2] : String
видимость:Boolean
форма:Многоугольник

= (255, 0, 0)

= Иван

= прямоугольник

Слайд 21

Типы атрибутов Подчеркивание означает, что атрибут может принимать подмножество значений

Типы атрибутов

Подчеркивание означает, что атрибут может принимать подмножество значений из

области его значений
{Строка-свойство} – служит для указания значения атрибута, которое он получает при создании класса
заработная_плата:Currency = {$500}
Слайд 22

Типы атрибутов

Типы атрибутов

Слайд 23

Операции Операция или метод (operation) представляет собой некоторый сервис, предоставляющий

Операции

Операция или метод (operation) представляет собой некоторый сервис, предоставляющий каждый

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

Параметр : = Вид (направление) параметра — есть одно из ключевых слов in, out или inout

Параметр

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

— есть одно из ключевых слов in, out или inout
Слайд 25

Параметр Строка-свойство Запрос {query} последовательная (sequential) параллельная (concurrent) - может

Параметр

Строка-свойство
Запрос {query}
последовательная (sequential)
параллельная (concurrent) - может выполняться параллельно

с другими операциями в системе, при этом параллельность должна поддерживаться на уровне реализации модели.
охраняемая (guarded) - все обращения к данной операции должны быть строго упорядочены во времени, при этом могут быть приняты дополнительные меры по контролю исключительных ситуаций на этапе ее выполнения.
abstract
signal (Аналог message)
Слайд 26

Параметр +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color = (О, О, 255))

Параметр

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


Слайд 27

Расширение языка UML Управляющий класс (control class) Класс-сущность (entity class) Граничный класс (boundary class)

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

Управляющий класс (control class)
Класс-сущность (entity class)
Граничный класс (boundary

class)
Слайд 28

Расширение языка UML Пограничный объект Управляющий объект Объект- сущность

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

Пограничный
объект

Управляющий
объект

Объект-
сущность

Слайд 29

Типы отношений Отношение зависимости (dependency relationship) Отношение ассоциации (association relationship)

Типы отношений

Отношение зависимости (dependency relationship)
Отношение ассоциации (association relationship)
Отношение обобщения

(generalization relationship)
Отношение реализации (realization relationship)
Слайд 30

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

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

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

модели может потребовать изменения другого зависимого от него элемента .
Слайд 31

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

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

Слайд 32

Стереотипы отношения зависимости «access» - служит для обозначения доступности открытых

Стереотипы отношения зависимости

«access» - служит для обозначения доступности открытых атрибутов

и операций класса-источника для классов-клиентов;
«bind» - класс-клиент может использовать некоторый шаблон для своей последующей параметризации;
«derive» - атрибуты класса-клиента могут быть вычислены по атрибутам класса-источника;
«import» - открытые атрибуты и операции класса-источника становятся частью класса-клиента, как если бы они были объявлены непосредственно в нем;
«refine» - указывает, что класс-клиент служит уточнением класса-источника в силу причин исторического характера, когда появляется дополнительная информация в ходе работы над проектом
Слайд 33

Стереотип “Access” Форма_редактирования объект “Access” Класс источник (Независимый) Класс Клиент (Зависимый)

Стереотип “Access”

Форма_редактирования

объект

“Access”

Класс источник (Независимый)

Класс Клиент (Зависимый)

Слайд 34

Стереотип “Derive” Контроллер_управления Колич. Сигн. Ламп. Зажечь_свет() Автомобиль Колич._дверей “Derive”

Стереотип “Derive”

Контроллер_управления

Колич. Сигн. Ламп.

Зажечь_свет()

Автомобиль

Колич._дверей

“Derive”

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


Слайд 35

Стереотип “Import” Маршрутный_компьютер Расход бензина Передат. отнош. Двигатель Расход бензина

Стереотип “Import”

Маршрутный_компьютер

Расход бензина
Передат. отнош.

Двигатель

Расход бензина

“Import”

открытые атрибуты и операции класса-источника становятся частью

класса-клиента, как если бы они были объявлены непосредственно в нем (например, шаблон проектирования Facade)

Трансмиссия

Передат. отнош.

Слайд 36

Стереотип “refine” Инжекторный двиг. Расход бензина (опр. контроллером) Двигатель Расход

Стереотип “refine”

Инжекторный двиг.

Расход бензина
(опр. контроллером)

Двигатель

Расход бензина
(карбюратор)

“refine”

указывает, что класс-клиент служит уточнением

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

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

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

Соответствует наличию некоторого отношения между классами.
Дополнительно характеризуюут
Имя
Кратность
Роль

Сотрудник

Организация

1..*

1

Работа

Слайд 38

Порядок ассоциации

Порядок ассоциации

Слайд 39

N-арная ассоциация Ассоциация-класс – класс, реализующий ассоциацию Конец ассоциации

N-арная ассоциация

Ассоциация-класс – класс, реализующий ассоциацию
Конец ассоциации

Слайд 40

XOR-ассоциация

XOR-ассоциация

Слайд 41

Отношение агрегации Ассоциация Агрегация Композиция Классов представляет собой некоторую сущность,

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

Ассоциация

Агрегация

Композиция

Классов представляет собой некоторую сущность, включающую в себя в

качестве составных частей другие сущности.
Слайд 42

Отношение агрегации В связи с рассмотрением данного отношения вполне уместно

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

В связи с рассмотрением данного отношения вполне уместно вспомнить

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

Отношение агрегации В связи с рассмотрением данного отношения вполне уместно

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

В связи с рассмотрением данного отношения вполне уместно вспомнить

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

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

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

.

Слайд 45

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

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

части не могут выступать в отрыве от целого, т.

е. с уничтожением целого уничтожаются и все его составные части.
Слайд 46

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

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

Слайд 47

Отношение обобщения отношением между более общим элементом (родителем или предком)

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

отношением между более общим элементом (родителем или предком) и

более частным или специальным элементом (дочерним или потомком).
Слайд 48

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

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

Слайд 49

Ограничения отношения обобщения

Ограничения отношения обобщения

Имя файла: Информационные-технологии.-Диаграммы-классов.-UML.-(Тема-9).pptx
Количество просмотров: 32
Количество скачиваний: 0