2010.04.05 UML_Class_Diagram.ppt
- Количество слайдов: 24
UML Диаграмма классов
Что такое «класс» ? Классы — категория вещей, которые имеют общие атрибуты и операции. Атрибут — это свойство класса, которое может принимать множество значений. Операция — реализация функции, которую можно запросить у любого объекта класса.
Инкапсуляция Это защита отдельных элементов объекта, затрагивающих существенных характеристик его целого. не как
Модификаторы видимости Это способ ограничить доступ к атрибутам и операциям объекта со стороны других объектов. + public - открытый доступ - private - только из операций того же класса # protected - только из операций этого же класса и классов, создаваемых на его основе
Упражнение 1. Создать класс «Человек» с атрибутами Имя Возраст (можно добавить еще ) и операциями Ходить Думать (тут тоже простор для фантазии ) Присвоить свойствам различные модификаторы видимости.
Область действия instance (экземпляр) — у каждого экземпляра класса есть собственное значение данного свойства; classifier (классификатор) — все экземпляры совместно используют общее значение данного свойства (на диаграмме подчеркивается).
Упражнение 2. В созданном классе «Человек» изменить у какого-нибудь свойства область действия на classifier.
Отношения между классами Обобщения (генерализация, наследование) - связывают обобщенные классы со специализированными; Зависимости - описывают существующие между классами отношения использования; Ассоциации - отражают структурные отношения между объектами классов.
Обобщение Это отношение между общей сущностью (родитель, суперкласс) и ее конкретным воплощением (потомок, подкласс). Объекты класса-потомка могут использоваться всюду, где встречаются объекты класса-родителя, но не наоборот. Потомок наследует свойства родителя.
Упражнение 3. Создать классы «Врач» и «Пациент» , являющиеся потомками созданного класса «Человек» . Дополнить классы атрибутами и операциями (стаж работы, направление деятельности, хронические заболевания и другие)
Зависимость Отношение использования, согласно которому изменение в спецификации одного элемента может повлиять на использующий его элемент. Часто зависимости показывают, что один класс использует другой в качестве аргумента.
Упражнение 4. Создать классы «Предписания Врача» и «Болезнь» , связанные отношением зависимости
Ассоциация Отношение, показывающее, что объекты одного типа неким образом связаны с объектами другого типа.
Кратность Это возможное количество экземпляров класса. не содержащие ни одного экземпляра — служебный; содержащие ровно один экземпляр (Singleton); содержащие заданное число экземпляров; содержащие произвольное число экземпляров.
Ассоциация Имя показывает природу отношений между объектами. Роли, которые каждый класс играет в данном отношении.
Упражнение 5. Создать класс «Карточка пациента» . Выявить отношения ассоциации между классами «Врач» , «Пациент» , «Карточка пациента» . Проставить кратности и роли.
Ассоциация типа «часть-целое» Один из классов имеет более высокий ранг (целое) и состоит из нескольких меньших по рангу классов.
Ассоциация типа «часть-целое» Агрегация - части, отделенные от целого, могут продолжать свое существование независимо от него. Композиция - целое владеет своими частями и их время жизни соответствует времени жизни целого.
Упражнение 6. Создать класс «Результаты Анализов» . Найти класс, с которым данный класс можно связать отношением агрегации. Найти еще пару классов, которые могут быть связаны отношением агрегации.
Диаграмма классов
Диаграмма классов
N-арная ассоциация Ассоциация, объединяющая N классов.
Класс ассоциации В отношении между двумя классами сама ассоциация тоже может иметь свойства и, следовательно, тоже может быть представлена в виде класса.