Учебное пособие по диаграмме классов UML: абстрактный класс с примерами
Что такое класс в диаграмме UML?
A Класс в UML Диаграмма — это план, используемый для создания объекта или набора объектов. Класс определяет, что может делать объект. Это шаблон для создания различных объектов и реализации их поведения в системе. Класс в UML представлен прямоугольником, который включает строки с именами классов, атрибутами и операциями.
Что такое диаграмма классов?
A Диаграмма классов в Программной инженерии — это статическая структура, которая дает обзор программной системы путем отображения классов, атрибутов, операций и их связей между собой. Эта диаграмма включает имя класса, атрибуты и операции в отдельных отсеках. Диаграмма классов помогает создавать код для разработки программного обеспечения.
Диаграмма классов определяет типы объектов в системе и различные типы отношений, существующих между ними. Это дает представление о приложении на высоком уровне. Этот метод моделирования может работать практически со всеми объектно-ориентированными методами. Класс может ссылаться на другой класс. Класс может иметь свои объекты или наследовать от других классов.
Преимущества диаграммы классов
- Диаграмма классов. Иллюстрирует модели данных даже для очень сложных информационных систем.
- Он предоставляет обзор структуры приложения перед изучением фактического кода. Это может легко сократить время обслуживания.
- Это помогает лучше понять общую схему приложения.
- Позволяет рисовать подробные диаграммы, в которых выделен код, необходимый для программирования.
- Полезно для разработчиков и других заинтересованных сторон.
Основные элементы диаграммы классов UML
Основными элементами диаграммы классов UML являются:
- Имя класса
- Атрибуты
- Операционный отдел
Имя класса
Имя класса необходимо только в графическом представлении класса. Он появляется в самом верхнем отделении. Класс — это проект объекта, который может иметь одинаковые отношения, атрибуты, операции и семантику. Класс отображается в виде прямоугольника, включая его имя, атрибуты и операции в отдельных отсеках.
При представлении класса необходимо соблюдать следующие правила:
- Имя класса всегда должно начинаться с заглавной буквы.
- Имя класса всегда должно находиться в центре первого отсека.
- Имя класса всегда должно быть записано в булавка формат.
- Имя абстрактного класса UML следует писать курсивом.
Атрибуты
Атрибут — это именованное свойство класса, описывающее моделируемый объект. На диаграмме классов этот компонент расположен чуть ниже отсека имени.
Производный атрибут вычисляется на основе других атрибутов. Например, возраст учащегося можно легко вычислить по дате его/ее рождения.
Характеристики атрибутов
- Атрибуты обычно записываются вместе с коэффициентом видимости.
- Публичная, частная, защищенная и пакетная — это четыре видимости, которые обозначаются знаками +, -, # или ~ соответственно.
- Видимость описывает доступность атрибута класса.
- Атрибуты должны иметь осмысленное имя, описывающее их использование в классе.
Отношения
В основном существуют три вида отношения в UML:
- Зависимости
- Обобщения
- ассоциации
Зависимость
Зависимость означает связь между двумя или более классами, в которой изменение одного может вызвать изменения в другом. Однако это всегда будет создавать более слабые отношения. Зависимость указывает на то, что один класс зависит от другого.
В следующих примерах диаграмм классов UML Student зависит от College.
Обобщение:
Обобщение помогает соединить подкласс с его суперклассом. Подкласс наследуется от своего суперкласса. Отношения обобщения не могут использоваться для моделирования реализации интерфейса. Диаграмма классов позволяет наследовать несколько суперклассов.
В этом примере класс Student является обобщением класса Person.
Ассоциация:
Этот вид отношений представляет собой статические отношения между классами A и B. Например; сотрудник работает в организации.
Вот некоторые правила ассоциации:
- Ассоциация в основном состоит из глагола или глагольной группы, или существительного или именной группы.
- Его имя должно указывать на роль, которую играет класс, прикрепленный в конце пути ассоциации.
- Обязательно для рефлексивных ассоциаций
В этом примере показаны отношения между студентом и колледжем, который является учебой.
множественность
Множественность — это фактор, связанный с атрибутом. Он указывает, сколько экземпляров атрибутов создается при инициализации класса. Если кратность не указана, по умолчанию она считается кратностью по умолчанию.
Допустим, в одном колледже учатся 100 студентов. В колледже может обучаться несколько студентов.
агрегирование
Агрегация — это особый тип ассоциации, моделирующий отношения «целое-часть» между агрегатом и его частями.
Например, класс колледжа состоит из одного или нескольких студентов. При агрегировании содержащиеся классы никогда не зависят полностью от жизненного цикла контейнера. Здесь класс колледжа останется, даже если студент недоступен.
Состав:
Композиция — это особый тип агрегации, который обозначает сильную принадлежность между двумя классами, когда один класс является частью другого класса.
Например, если колледж состоит из классов студентов. Колледж может содержать много студентов, при этом каждый студент принадлежит только одному колледжу. То есть, если колледж не функционирует, всех студентов тоже отчислят.
Агрегация против композиции
агрегирование | Состав |
---|---|
Агрегация указывает на связь, при которой дочерний класс может существовать отдельно от родительского класса. Пример: Автомобиль (Родительский) и Автомобиль (Дочерний). Итак, если вы удалите автомобиль, дочерний автомобиль все равно будет существовать. | Отношения отображения композиции, в которых дочерний элемент никогда не будет существовать независимо от родителя. Пример: Дом (родительский) и Комната (дочерний). Комнаты никогда не разделятся на Дом. |
Абстрактные классы
Это класс с прототипом операции, но не с реализацией. Также возможно иметь абстрактный класс, внутри которого не объявлено никаких операций. Аннотация полезна для определения функциональных возможностей классов. Рассмотрим пример абстрактного класса. Предположим, у нас есть абстрактный класс, называемый движением, внутри которого объявлен метод или операция. Метод, объявленный внутри абстрактного класса, называется двигаться ().
Этот метод абстрактного класса может использоваться любым объектом, например автомобилем, животным, роботом и т. д., для изменения текущего положения. Эффективно использовать этот метод абстрактного класса с объектом, поскольку для данной функции не предусмотрена реализация. Мы можем использовать его любым способом для нескольких объектов.
В UML абстрактный класс имеет то же обозначение, что и класс. Единственное отличие класса от абстрактного класса состоит в том, что имя класса пишется строго курсивом.
Абстрактный класс не может быть инициализирован или создан.
В выше обозначение абстрактного класса, существует единственный абстрактный метод, который может использоваться несколькими объектами классов.
Пример диаграммы классов UML
Создание диаграммы классов — простой процесс. Оно не требует многих технических подробностей. Вот пример:
Система банкоматов очень проста: для получения наличных клиентам необходимо нажать несколько кнопок. Однако существует несколько уровней безопасности, которые должна пройти любая система банкоматов. Это помогает предотвратить мошенничество и предоставить банковским клиентам наличные или необходимую информацию.
Ниже приведен пример диаграммы классов UML:
Также проверьте: - UML-диаграммы: история, типы, характеристики, версии, инструменты
Диаграмма классов в жизненном цикле разработки программного обеспечения
Диаграммы классов можно использовать на различных этапах разработки программного обеспечения. Это помогает моделировать диаграммы классов в трех разных ракурсах.
1. Концептуальная перспектива: Концептуальные диаграммы описывают вещи в реальном мире. Вам следует нарисовать диаграмму, отражающую концепции изучаемой области. Эти понятия связаны с классом и всегда не зависят от языка.
2. Перспектива спецификации: Перспектива спецификации описывает абстракции или компоненты программного обеспечения со спецификациями и интерфейсами. Однако это не дает никаких обязательств по конкретной реализации.
3. Перспектива реализации: Этот тип диаграмм классов используется для реализаций на определенном языке или приложении. Перспектива реализации, использование для реализации программного обеспечения.
лучшие практики проектирования диаграммы классов
Диаграммы классов — это наиболее важные диаграммы UML, используемые при разработке программных приложений. Существует множество свойств, которые следует учитывать при построении диаграммы классов. Они представляют различные аспекты программного приложения.
Вот некоторые моменты, которые следует учитывать при построении диаграммы классов:
- Имя, данное диаграмме классов, должно быть осмысленным. Более того, он должен описывать реальный аспект системы.
- Связь между каждым элементом должна быть определена заранее.
- Необходимо определить ответственность за каждый класс.
- Для каждого класса должно быть указано минимальное количество свойств. Поэтому нежелательные свойства могут легко усложнить диаграмму.
- Примечания пользователя следует включать всякий раз, когда вам нужно определить какой-либо аспект диаграммы. Конец рисунка должен быть понятен команде разработчиков программного обеспечения.
- Наконец, перед созданием окончательного варианта схему необходимо нарисовать на обычной бумаге. Более того, его следует перерабатывать, пока он не будет готов к окончательному представлению.
Заключение
- UML — это стандартный язык для определения, проектирования и визуализации артефактов программных систем.
- Класс — это проект объекта
- Диаграмма классов описывает типы объектов в системе и различные виды отношений, которые существуют между ними.
- Это позволяет анализировать и проектировать статическое представление программного приложения.
- Диаграммы классов — это наиболее важные диаграммы UML, используемые при разработке программных приложений.
- Основные элементы диаграммы классов UML: 1) Класс 2) Атрибуты 3) Отношения
- Диаграмма классов предоставляет обзор структуры приложения перед изучением фактического кода. Это, безусловно, сокращает время обслуживания.
- Диаграмма классов полезна для отображения объектно-ориентированных языков программирования, таких как Java, C++, Рубин, Python, и т.д.
Также проверьте: - Учебное пособие по диаграммам UML для начинающих: изучайте UML онлайн БЕСПЛАТНО