SlideShare a Scribd company logo
1 of 26
Диаграмма классов 
(сlass diagram)
Диаграмма классов (class diagram) 
служит для представления статической 
структуры модели системы в 
терминологии классов объектно- 
ориентированного программирования. 
Класс (class) служит для обозначения 
множества объектов, которые обладают 
одинаковой структурой, поведением и 
отношениями с объектами из других 
классов.
Имя класса должно быть уникальным 
в пределах пакета, который 
описывается некоторой 
совокупностью диаграмм классов. 
Для указания принадлежности 
конкретному пакету используется 
следующий синтаксис: 
<Имя_пакета>::<Имя_класса>, 
например, «Банк::Счет»
Каждому атрибуту класса соответствует 
отдельная строка текста, которая 
состоит из: квантора видимости 
атрибута, имени атрибута, его 
кратности, типа значений атрибута и, 
возможно, его исходного значения: 
<квантор видимости><имя 
атрибута>[кратность] : <тип атрибута> = 
<исходное значение>{строка-свойство}
Кванторы видимости: 
«+» - public,«#» - protected, «-» - private. 
Имя атрибута должно быть уникальной 
в пределах данного класса. 
Кратность атрибута характеризует 
общее количество конкретных 
атрибутов данного типа, входящих в 
состав отдельного класса, например 
[0..1] - кратность атрибута О или 1, 
[0..*] - кратность >= 0 (аналог [*]), 
[1.:*] - кратность >= 1, 
[1..3,7..*] - 1, 2, 3, >= 7.
Тип атрибута представляет собой 
выражение, семантика которого 
определяется языком спецификации 
соответствующей модели. 
Операция (operation) представляет 
собой некоторый сервис, 
предоставляющий каждый экземпляр 
класса по определенному требованию: 
<квантор видимости><имя 
операции>(список параметров): 
<выражение типа возвращаемого 
значения>{строка-свойство}
Список параметров является перечнем 
разделенных запятой формальных 
параметров, каждый из которых может 
быть представлен в следующем виде: 
<вид параметра><имя параметра>: 
<выражение типа>=<значение параметра 
по умолчанию>. 
Вид параметра - одно из ключевых слов 
in, out или inout (по умолчанию in). 
Строка-свойство служит для указания 
значений свойств, которые могут быть 
применены к данному элементу.
Отношения между классами 
Выделяют 4 вида отношений 
зависимости: 
Отношение зависимости (dependency 
relationship) 
Отношение ассоциации (association 
relationship) 
Отношение обобщения (generalization 
relationship) 
Отношение реализации (realization 
relationship)
Отношение зависимости в общем случае 
указывает некоторое семантическое 
отношение между двумя элементами 
модели, которое не является 
отношением ассоциации, обобщения или 
реализации.
Отношение ассоциации соответствует 
наличию некоторого отношения между 
классами.
Отношение агрегации имеет место 
между несколькими классами в том 
случае, если один из классов 
представляет собой некоторую 
сущность, включающую в себя в 
качестве составных частей другие 
сущности.
Отношение композиции является 
частным случаем отношения агрегации. 
Под композитным агрегированием 
понимается ситуация, когда целое 
владеет своими частями и их время 
жизни соответствует времени жизни 
целого, т. е. независимо от целого части 
существовать не могут
Отношение обобщения описывает 
иерархическое строение классов и 
наследование их свойств и поведения. 
При этом предполагается, что класс- 
потомок обладает всеми свойствами и 
поведением класса-предка, а также 
имеет свои собственные свойства и 
поведение, которые отсутствуют у 
класса-предка.
Интерфейсы 
Интерфейс отражает внешние 
проявления объекта, показывает, каким 
образом осуществляется 
взаимодействие с ним, скрывая 
остальные детали, не имеющие 
отношения к процессу взаимодействия. 
Класс со стереотипом <<interface>>
Вместо значка на закладке папки 
ConduitSet можно использовать 
стереотип <<subsystem>> 
Класс использующий интерфейс
Объекты 
Объект (object) является отдельным 
экземпляром класса, который создается 
на этапе выполнения программы.
Шаблоны (параметризованные) классы 
Шаблон предназначен для обозначения 
такого класса, который имеет один (или 
более) нефиксированный формальный 
параметр.

More Related Content

What's hot

МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseОлег Гудаев
 
Диаграмма классов
Диаграмма классовДиаграмма классов
Диаграмма классовDEVTYPE
 
Введення Uml
Введення UmlВведення Uml
Введення Umlpogromskaya
 
Диаграмма последовательности
Диаграмма последовательностиДиаграмма последовательности
Диаграмма последовательностиDEVTYPE
 
Моделирование как метод познания
Моделирование как метод познанияМоделирование как метод познания
Моделирование как метод познанияstudent_SSGA
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVCUnguryan Vitaliy
 
Диаграмма деятельности
Диаграмма деятельностиДиаграмма деятельности
Диаграмма деятельностиDEVTYPE
 
Диаграмма конечного автомата
Диаграмма конечного автоматаДиаграмма конечного автомата
Диаграмма конечного автоматаDEVTYPE
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данныхtatianabtt
 
Диаграмма вариантов использования
Диаграмма вариантов использованияДиаграмма вариантов использования
Диаграмма вариантов использованияDEVTYPE
 
Unified modeling language basic-part 2
Unified modeling language basic-part 2Unified modeling language basic-part 2
Unified modeling language basic-part 2ISsoft
 
Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Unguryan Vitaliy
 
Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...metaform
 
Presentation pseudo element
Presentation pseudo elementPresentation pseudo element
Presentation pseudo elementTania Korab
 
принципы объектного подхода
принципы объектного подходапринципы объектного подхода
принципы объектного подходаAndrey Radionov
 
0042
00420042
0042JIuc
 
Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Unguryan Vitaliy
 

What's hot (20)

МАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use CaseМАПО Лекция 14 UML Use Case
МАПО Лекция 14 UML Use Case
 
Диаграмма классов
Диаграмма классовДиаграмма классов
Диаграмма классов
 
Введення Uml
Введення UmlВведення Uml
Введення Uml
 
Диаграмма последовательности
Диаграмма последовательностиДиаграмма последовательности
Диаграмма последовательности
 
Uml
UmlUml
Uml
 
Моделирование как метод познания
Моделирование как метод познанияМоделирование как метод познания
Моделирование как метод познания
 
Архитектурный шаблон MVC
Архитектурный шаблон MVCАрхитектурный шаблон MVC
Архитектурный шаблон MVC
 
1
11
1
 
Work with UML
Work with UMLWork with UML
Work with UML
 
Диаграмма деятельности
Диаграмма деятельностиДиаграмма деятельности
Диаграмма деятельности
 
Диаграмма конечного автомата
Диаграмма конечного автоматаДиаграмма конечного автомата
Диаграмма конечного автомата
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данных
 
Диаграмма вариантов использования
Диаграмма вариантов использованияДиаграмма вариантов использования
Диаграмма вариантов использования
 
Unified modeling language basic-part 2
Unified modeling language basic-part 2Unified modeling language basic-part 2
Unified modeling language basic-part 2
 
Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.Java. Вложенные классы и интерфейсы.
Java. Вложенные классы и интерфейсы.
 
Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...Создание графического интерфейса пользователя мобильных Android приложений (ч...
Создание графического интерфейса пользователя мобильных Android приложений (ч...
 
Presentation pseudo element
Presentation pseudo elementPresentation pseudo element
Presentation pseudo element
 
принципы объектного подхода
принципы объектного подходапринципы объектного подхода
принципы объектного подхода
 
0042
00420042
0042
 
Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация Java. Конструкторы класса и инициализация
Java. Конструкторы класса и инициализация
 

Similar to Class diagram

классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)romachka_pole
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLSergey Nemchinsky
 
Базы данных лекция №3
Базы данных лекция №3Базы данных лекция №3
Базы данных лекция №3Vitaliy Pak
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеmetaform
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5Technopark
 
C++ осень 2013 лекция 3
C++ осень 2013 лекция 3C++ осень 2013 лекция 3
C++ осень 2013 лекция 3Technopark
 
Тема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системТема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системСергей Солнечный
 
лабораторная работа №4 Михалюк В.А.
лабораторная работа №4 Михалюк В.А.лабораторная работа №4 Михалюк В.А.
лабораторная работа №4 Михалюк В.А.Верочка Михалюк
 
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификациях
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификацияхAI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификациях
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификацияхGeeksLab Odessa
 

Similar to Class diagram (13)

Uml Glossary
Uml GlossaryUml Glossary
Uml Glossary
 
классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
 
п2 04 05
п2 04 05п2 04 05
п2 04 05
 
Базы данных лекция №3
Базы данных лекция №3Базы данных лекция №3
Базы данных лекция №3
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
 
Класів
КласівКласів
Класів
 
8 (1)
8 (1)8 (1)
8 (1)
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
 
C++ осень 2013 лекция 3
C++ осень 2013 лекция 3C++ осень 2013 лекция 3
C++ осень 2013 лекция 3
 
Тема 3. Модели и закономерности систем
Тема 3. Модели и закономерности системТема 3. Модели и закономерности систем
Тема 3. Модели и закономерности систем
 
лабораторная работа №4 Михалюк В.А.
лабораторная работа №4 Михалюк В.А.лабораторная работа №4 Михалюк В.А.
лабораторная работа №4 Михалюк В.А.
 
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификациях
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификацияхAI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификациях
AI&BigData Lab 2016. Григорий Кравцов: Модель вычислений на классификациях
 

More from aepetelin

защита информации 10
защита информации 10защита информации 10
защита информации 10aepetelin
 
защита информации 9
защита информации 9защита информации 9
защита информации 9aepetelin
 
информационная безопасность человека
информационная безопасность человекаинформационная безопасность человека
информационная безопасность человекаaepetelin
 
криптография
криптографиякриптография
криптографияaepetelin
 
защита информации 5
защита информации 5защита информации 5
защита информации 5aepetelin
 
защита информации 4
защита информации 4защита информации 4
защита информации 4aepetelin
 
защита информации 3
защита информации 3защита информации 3
защита информации 3aepetelin
 
защита информации 2
защита информации 2защита информации 2
защита информации 2aepetelin
 
защита информации 1
защита информации 1защита информации 1
защита информации 1aepetelin
 
Creating a word file by a template
Creating a word file by a templateCreating a word file by a template
Creating a word file by a templateaepetelin
 
Creating a word file
Creating a word fileCreating a word file
Creating a word fileaepetelin
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторыaepetelin
 
Create word template
Create word templateCreate word template
Create word templateaepetelin
 
Сreate word
Сreate wordСreate word
Сreate wordaepetelin
 
Deployment diagram
Deployment diagramDeployment diagram
Deployment diagramaepetelin
 

More from aepetelin (18)

защита информации 10
защита информации 10защита информации 10
защита информации 10
 
защита информации 9
защита информации 9защита информации 9
защита информации 9
 
информационная безопасность человека
информационная безопасность человекаинформационная безопасность человека
информационная безопасность человека
 
криптография
криптографиякриптография
криптография
 
защита информации 5
защита информации 5защита информации 5
защита информации 5
 
защита информации 4
защита информации 4защита информации 4
защита информации 4
 
защита информации 3
защита информации 3защита информации 3
защита информации 3
 
защита информации 2
защита информации 2защита информации 2
защита информации 2
 
защита информации 1
защита информации 1защита информации 1
защита информации 1
 
Installers
InstallersInstallers
Installers
 
Creating a word file by a template
Creating a word file by a templateCreating a word file by a template
Creating a word file by a template
 
06 still
06 still06 still
06 still
 
исиб
исибисиб
исиб
 
Creating a word file
Creating a word fileCreating a word file
Creating a word file
 
Инсталляторы
ИнсталляторыИнсталляторы
Инсталляторы
 
Create word template
Create word templateCreate word template
Create word template
 
Сreate word
Сreate wordСreate word
Сreate word
 
Deployment diagram
Deployment diagramDeployment diagram
Deployment diagram
 

Class diagram

  • 2. Диаграмма классов (class diagram) служит для представления статической структуры модели системы в терминологии классов объектно- ориентированного программирования. Класс (class) служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов.
  • 3.
  • 4.
  • 5. Имя класса должно быть уникальным в пределах пакета, который описывается некоторой совокупностью диаграмм классов. Для указания принадлежности конкретному пакету используется следующий синтаксис: <Имя_пакета>::<Имя_класса>, например, «Банк::Счет»
  • 6. Каждому атрибуту класса соответствует отдельная строка текста, которая состоит из: квантора видимости атрибута, имени атрибута, его кратности, типа значений атрибута и, возможно, его исходного значения: <квантор видимости><имя атрибута>[кратность] : <тип атрибута> = <исходное значение>{строка-свойство}
  • 7. Кванторы видимости: «+» - public,«#» - protected, «-» - private. Имя атрибута должно быть уникальной в пределах данного класса. Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного класса, например [0..1] - кратность атрибута О или 1, [0..*] - кратность >= 0 (аналог [*]), [1.:*] - кратность >= 1, [1..3,7..*] - 1, 2, 3, >= 7.
  • 8. Тип атрибута представляет собой выражение, семантика которого определяется языком спецификации соответствующей модели. Операция (operation) представляет собой некоторый сервис, предоставляющий каждый экземпляр класса по определенному требованию: <квантор видимости><имя операции>(список параметров): <выражение типа возвращаемого значения>{строка-свойство}
  • 9. Список параметров является перечнем разделенных запятой формальных параметров, каждый из которых может быть представлен в следующем виде: <вид параметра><имя параметра>: <выражение типа>=<значение параметра по умолчанию>. Вид параметра - одно из ключевых слов in, out или inout (по умолчанию in). Строка-свойство служит для указания значений свойств, которые могут быть применены к данному элементу.
  • 10. Отношения между классами Выделяют 4 вида отношений зависимости: Отношение зависимости (dependency relationship) Отношение ассоциации (association relationship) Отношение обобщения (generalization relationship) Отношение реализации (realization relationship)
  • 11. Отношение зависимости в общем случае указывает некоторое семантическое отношение между двумя элементами модели, которое не является отношением ассоциации, обобщения или реализации.
  • 12.
  • 13. Отношение ассоциации соответствует наличию некоторого отношения между классами.
  • 14.
  • 15.
  • 16. Отношение агрегации имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности.
  • 17.
  • 18. Отношение композиции является частным случаем отношения агрегации. Под композитным агрегированием понимается ситуация, когда целое владеет своими частями и их время жизни соответствует времени жизни целого, т. е. независимо от целого части существовать не могут
  • 19.
  • 20. Отношение обобщения описывает иерархическое строение классов и наследование их свойств и поведения. При этом предполагается, что класс- потомок обладает всеми свойствами и поведением класса-предка, а также имеет свои собственные свойства и поведение, которые отсутствуют у класса-предка.
  • 21.
  • 22.
  • 23. Интерфейсы Интерфейс отражает внешние проявления объекта, показывает, каким образом осуществляется взаимодействие с ним, скрывая остальные детали, не имеющие отношения к процессу взаимодействия. Класс со стереотипом <<interface>>
  • 24. Вместо значка на закладке папки ConduitSet можно использовать стереотип <<subsystem>> Класс использующий интерфейс
  • 25. Объекты Объект (object) является отдельным экземпляром класса, который создается на этапе выполнения программы.
  • 26. Шаблоны (параметризованные) классы Шаблон предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр.