SlideShare une entreprise Scribd logo
1  sur  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) является отдельным 
экземпляром класса, который создается 
на этапе выполнения программы.
Шаблоны (параметризованные) классы 
Шаблон предназначен для обозначения 
такого класса, который имеет один (или 
более) нефиксированный формальный 
параметр.

Contenu connexe

Tendances

Моделирование как метод познания
Моделирование как метод познанияМоделирование как метод познания
Моделирование как метод познания
student_SSGA
 
раздел 4 проектирование и использование баз данных
раздел 4  проектирование и использование баз данныхраздел 4  проектирование и использование баз данных
раздел 4 проектирование и использование баз данных
tatianabtt
 
Unified modeling language basic-part 2
Unified modeling language basic-part 2Unified modeling language basic-part 2
Unified modeling language basic-part 2
ISsoft
 
Presentation pseudo element
Presentation pseudo elementPresentation pseudo element
Presentation pseudo element
Tania Korab
 
принципы объектного подхода
принципы объектного подходапринципы объектного подхода
принципы объектного подхода
Andrey Radionov
 
0042
00420042
0042
JIuc
 

Tendances (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. Конструкторы класса и инициализация
 

Similaire à Class diagram

классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)классы. отношения между классами. объекты. отношения между объектами (15)
классы. отношения между классами. объекты. отношения между объектами (15)
romachka_pole
 
Шаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UMLШаблоны разработки ПО. Часть 2. ООП и UML
Шаблоны разработки ПО. Часть 2. ООП и UML
Sergey Nemchinsky
 
Лекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследованиеЛекция 6_принципы ООП : инкапсуляция, наследование
Лекция 6_принципы ООП : инкапсуляция, наследование
metaform
 
C++ весна 2014 лекция 5
C++ весна 2014 лекция 5C++ весна 2014 лекция 5
C++ весна 2014 лекция 5
Technopark
 
C++ осень 2013 лекция 3
C++ осень 2013 лекция 3C++ осень 2013 лекция 3
C++ осень 2013 лекция 3
Technopark
 
Тема 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
 

Similaire à 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. Григорий Кравцов: Модель вычислений на классификациях
 

Plus de aepetelin

Plus de 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. Шаблоны (параметризованные) классы Шаблон предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр.