Диаграмма классов (class diagram) n Класс

Скачать презентацию Диаграмма классов (class diagram)  n  Класс Скачать презентацию Диаграмма классов (class diagram) n Класс

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

  • Количество слайдов: 38

>Диаграмма классов (class diagram) Диаграмма классов (class diagram)

>n  Класс q  Имя класса q  Атрибуты класса q  Операция n Класс q Имя класса q Атрибуты класса q Операция n Диаграмма классов представляет собой некоторый граф, вершинами которого являются элементы типа "классификатор", которые связаны различными типами структурных отношений. 2

>n  Класс (class) в языке UML служит для обозначения множества объектов, которые обладают n Класс (class) в языке UML служит для обозначения множества объектов, которые обладают одинаковой структурой, поведением и отношениями с объектами из других классов. 3

>Примеры графического изображения классов на диаграмме     4 Примеры графического изображения классов на диаграмме 4

>Имя класса n  Имя абстрактного класса - наклонный шрифт (курсив). n  перед Имя класса n Имя абстрактного класса - наклонный шрифт (курсив). n перед именем класса должно быть явно указано имя пакета, к которому его следует отнести <Имя_пакета>: : <Имя_класса>. 5

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

>Квантор видимости n  Символ Квантор видимости n Символ "+" - общедоступный (public). Атрибут с этой областью видимости доступен или виден из любого другого класса пакета, в котором определена диаграмма. n Символ "#" - защищенный (protected). Атрибут с этой областью видимости недоступен или невиден для всех классов, за исключением подклассов данного класса. n Символ "-" - закрытый (private). Атрибут с этой областью видимости недоступен или невиден для всех классов без исключения. 7

>Кратность атрибута  характеризует общее количество  конкретных атрибутов данного типа,  входящих в Кратность атрибута характеризует общее количество конкретных атрибутов данного типа, входящих в состав отдельного класса. [нижняя_граница 1. . верхняя_граница 1, нижняя_граница 2. . верхняя_грашца 2, . . . , нuжняя_гpaнuцak. . верхняя_границаk], 8

>Примеры задания кратности атрибутов n  [0. . 1] означает, что кратность атрибута может Примеры задания кратности атрибутов n [0. . 1] означает, что кратность атрибута может принимать значение О или 1. При этом 0 означает отсутствие значения для данного атрибута. n [0. . *] означает, что кратность атрибута может принимать любое положительное целое значение большее или равное 0. Эта кратность может быть записана короче в виде простого символа - [*]. n [1. . 5] означает, что кратность атрибута может принимать любое значение из чисел: 1, 2, 3, 4, 5. n [1. . 3, 5, 7] означает, что кратность атрибута может принимать любое значение из чисел: 1, 2, 3, 5, 7. n [1. . 3, 7. . *] означает, что кратность атрибута может принимать любое значение из чисел: 1, 2, 3, а также любое положительное целое значение большее или равное 7. 9

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

>Исходное значение служит для задания некоторого начального значения для соответствующего атрибута в момент создания Исходное значение служит для задания некоторого начального значения для соответствующего атрибута в момент создания отдельного экземпляра класса. n цвет: Соlоr = (255, 0, 0) n имя_сотрудника[1. . 2]: String = Иванович n видимость: Вооlеаn = истина n форма: Многоугольник = прямоугольник 11

>n  Подчеркивание строки атрибута означает, что соответствующий атрибут может принимать подмножество значений из n Подчеркивание строки атрибута означает, что соответствующий атрибут может принимать подмножество значений из некоторой области значений атрибута, определяемой его типом. форма: Прямоугольник n Строка-свойство служит для указания значений атрибута, которые не могут быть изменены в программе при работе с данным типом объектов. заработная_плата: Currency = = {$500} 12

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

>Список параметров:  <вид параметра><имя  параметра>: <выражение типа>=<значение  параметра по умолчанию>. вид Список параметров: <вид параметра><имя параметра>: <выражение типа>=<значение параметра по умолчанию>. вид параметра - одно из ключевых слов in, out или inout со значением in по умолчанию, в случае если вид параметра не указывается. 14

>Примеры записи операций n  +создать() n  +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color Примеры записи операций n +создать() n +нарисовать(форма: Многоугольник = прямоугольник, цвет_заливки: Color = (О, О, 255)) – n запросить_счет_клиента(номер_счета: 1 п 1 е§ег): Сиггепсу n выдать_сообщение(): {"Ошибка деления на ноль"} 15

>Отношения между классами n  Отношение зависимости (dependency relationship) n  Отношение ассоциации (association Отношения между классами n Отношение зависимости (dependency relationship) n Отношение ассоциации (association relationship) n Отношение обобщения (generalization relationship) n Отношение реализации (realization relationship) 16

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

>зависимость между классом-клиентом (Класс_С) и классами-источниками (Класс_А и Класс_Б)     18 зависимость между классом-клиентом (Класс_С) и классами-источниками (Класс_А и Класс_Б) 18

>ключевые слова (стереотипы) записываются в кавычках рядом со стрелкой, которая соответствует данной зависимости: ключевые слова (стереотипы) записываются в кавычках рядом со стрелкой, которая соответствует данной зависимости: n "access" - служит для обозначения доступности открытых атрибутов и операций класса- источника для классов-клиентов; n "bind" - класс-клиент может использовать некоторый шаблон для своей последующей параметризации; n "derive" - атрибуты класса-клиента могут быть вычислены по атрибутам класса-источника; 19

>ключевые слова (стереотипы) записываются в кавычках рядом со стрелкой, которая соответствует данной зависимости: ключевые слова (стереотипы) записываются в кавычках рядом со стрелкой, которая соответствует данной зависимости: n "import" - открытые атрибуты и операции класса- источника становятся частью класса-клиента, как если бы они были объявлены непосредственно в нем; n "refine" - указывает, что класс-клиент служит уточнением класса-источника в силу причин исторического характера, когда появляется дополнительная информация в ходе работы над проектом. 20

>Отношение ассоциации n  соответствует наличию некоторого отношения между классами. Данное отношение обозначается сплошной Отношение ассоциации n соответствует наличию некоторого отношения между классами. Данное отношение обозначается сплошной линией с дополнительными специальными символами, которые характеризуют отдельные свойства конкретной ассоциации. 21

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

>исключающая ассоциация (Xor-association)     23 исключающая ассоциация (Xor-association) 23

>Отношение агрегации n  имеет место между несколькими классами в том случае, если один Отношение агрегации n имеет место между несколькими классами в том случае, если один из классов представляет собой некоторую сущность, включающую в себя в качестве составных частей другие сущности 24

>Диаграмма классов для иллюстрации отношения агрегации на примере ПК     25 Диаграмма классов для иллюстрации отношения агрегации на примере ПК 25

>Отношение композиции служит для выделения специальной формы отношения Отношение композиции служит для выделения специальной формы отношения "часть-целое", при которой составляющие части в некотором смысле находятся внутри целого. n Специфика взаимосвязи между ними заключается в том, что части не могут выступать в отрыве от целого, т. е. с уничтожением целого уничтожаются и все его составные части. 26

>Диаграмма классов для иллюстрации отношения композиции на примере класса окна программы   Диаграмма классов для иллюстрации отношения композиции на примере класса окна программы 27

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

>Пример графического изображения отношения обобщения классов     29 Пример графического изображения отношения обобщения классов 29

>30 30

>В качестве ограничений могут быть использованы следующие ключевые слова языка UML: n  {complete} В качестве ограничений могут быть использованы следующие ключевые слова языка UML: n {complete} - означает, что в данном отношении обобщения специфицированы все классы-потомки, и других классов- потомков у данного класса-предка быть не может. n {disjoint} - означает, что классы-потомки не могут содержать объектов, одновременно являющихся экземплярами двух или более классов. n {incomplete} - означает случай, противоположный первому. А именно, предполагается, что на диаграмме указаны не все классы-потомки. n {overlapping} - означает, что отдельные экземпляры классов- потомков могут принадлежать одновременно нескольким классам. 31

>использование строки-ограничения      32 использование строки-ограничения 32

>Фрагмент диаграммы классов с отношением обобщения для представления иерархии классов Фрагмент диаграммы классов с отношением обобщения для представления иерархии классов "Автомобиль" 33

>Интерфейсы n  Пример графического изображения интерфейса на диаграмме классов    34 Интерфейсы n Пример графического изображения интерфейса на диаграмме классов 34

>Объект (object)  является отдельным экземпляром класса,  который создается на этапе выполнения программы. Объект (object) является отдельным экземпляром класса, который создается на этапе выполнения программы. 35

>Шаблоны или параметризованные классы Шаблон (template) или параметризованный класс (parametrized class) предназначен для обозначения Шаблоны или параметризованные классы Шаблон (template) или параметризованный класс (parametrized class) предназначен для обозначения такого класса, который имеет один (или более) нефиксированный формальный параметр. Он определяет целое семейство или множество классов, каждый из которых может быть получен связыванием этих параметров с действительными значениями. 36

>Графическое изображение шаблона на диаграмме классов       37 Графическое изображение шаблона на диаграмме классов 37

>Пример использования шаблона на диаграмме классов    38 Пример использования шаблона на диаграмме классов 38