Структурные диаграммы показывают статическую структуру системы и ее частей на разных уровнях абстракции и реализации и то, как они связаны друг с другом. Элементы на структурной диаграмме представляют значимые концепции системы и могут включать абстрактные концепции, концепции реального мира и реализации. Существует семь следующих типов структурных диаграмм:
- Диаграмма классов
- Диаграмма компонентов
- Схема развертывания
- Диаграмма объекта
- Схема пакета
- Схема составной структуры
- Диаграмма профиля
Что такое диаграмма классов?
Диаграмма классов на унифицированном языке моделирования (UML) — это диаграмма статической структуры, которая описывает структуру системы, показывая ее классы, их атрибуты, операции (или методы) и отношения между объектами. Диаграмма классов — это план системы или подсистемы. Диаграммы классов можно использовать для моделирования объектов, составляющих систему, для демонстрации отношений между объектами и для описания ролей этих объектов и предоставляемых ими услуг.
Происхождение UML
Цель UML — предоставить стандартную нотацию, которую можно использовать всеми объектно-ориентированными методами, а также выбрать и интегрировать лучшие элементы предшествующих нотаций. UML был разработан для широкого круга приложений. Следовательно, он предоставляет конструкции для широкого спектра систем и действий (например, распределенные системы, анализ, проектирование и развертывание систем).
UML — это нотация, возникшая в результате объединения OMT с
- Техника объектного моделирования OMT [ James Rumbaugh 1991] – лучше всего подходит для анализа и информационных систем с интенсивным использованием данных.
- Booch [ Gradi Booch 1994] — отлично подходил для дизайна и реализации. Грэди Буч много работал с языком Ада и был главным игроком в разработке объектно-ориентированных методов для этого языка. Хотя метод Буча был сильным, нотация была принята хуже (в его моделях преобладало множество форм облаков — не очень аккуратно).
- OOSE (Object-Oriented Software Engineering [ Ivar Jacobson 1992]) — включает модель, известную как варианты использования. Сценарии использования — это мощная техника для понимания поведения всей системы (область, в которой объектно-ориентированный подход традиционно был слабым).
В 1994 году Джим Рамбо, создатель OMT, ошеломил мир программного обеспечения, когда он покинул General Electric и присоединился к Грэди Бучу в Rational Corp. Целью партнерства было объединить их идеи в единый унифицированный метод (рабочее название метод действительно был «унифицированным методом»).
Назначение диаграммы классов
Диаграммы классов полезны на многих этапах проектирования системы. На этапе анализа диаграммы классов могут помочь вам понять требования предметной области и определить ее компоненты. В проектах объектно-ориентированного программного обеспечения диаграмма классов, созданная на ранних стадиях проекта, содержит классы, которые часто преобразуются в реальные классы и объекты программного обеспечения при написании кода.
Позднее вы можете преобразовать ранний анализ и концептуальные модели в диаграммы классов, чтобы показать определенные части системы, пользовательские интерфейсы, логические реализации и т. д.
Диаграммы классов широко используются при моделировании объектно-ориентированных систем, поскольку они являются единственными диаграммами UML, которые могут быть отображены непосредственно на объектно-ориентированные языки. На этапе реализации цикла разработки программного обеспечения вы можете использовать диаграммы классов для преобразования моделей в код и кода в модели.
Пример класса
У собаки есть состояния – цвет, имя, порода, а также поведение – виляние, лай, еда. Объект является экземпляром класса.
Обозначение класса UML
Класс представляет концепцию, которая инкапсулирует состояние ( атрибуты ) и поведение ( операции ). Каждый атрибут имеет тип. Каждая операция имеет подпись . Имя класса является единственной обязательной информацией .
Имя класса:
- Имя класса появляется в первом разделе.
Атрибуты класса:
- Атрибуты показаны во втором разделе.
- Тип атрибута отображается после двоеточия.
- Атрибуты сопоставляются с переменными-членами (элементами данных) в коде.
Классовые операции (методы):
- Операции показаны в третьем разделе. Это услуги, предоставляемые классом.
- Тип возвращаемого значения метода отображается после двоеточия в конце подписи метода.
- Возвращаемый тип параметров метода отображается после двоеточия после имени параметра. Операции сопоставляются с методами класса в коде
Классовые отношения
Класс может быть вовлечен в одно или несколько отношений с другими классами. Связь может быть одного из следующих типов: (См. рисунок справа для графического представления отношений).
Тип отношений | Графическое представление |
---|---|
Наследование (или обобщение):
|
|
Простая ассоциация :
|
|
Агрегация :Особый тип ассоциации. Он представляет собой «часть» отношений.
|
|
Состав :Особый тип агрегации, при котором части разрушаются при разрушении целого.
|
|
Зависимость :
|
Имена отношений
- Имена отношений пишутся посередине ассоциативной строки.
- Названия хороших отношений имеют смысл, если прочитать их вслух:
- «Каждая электронная таблица содержит некоторое количество ячеек»,
- «выражение оценивается как значение»
- Они часто имеют небольшую стрелку, указывающую направление, в котором следует читать отношения, например, выражения оцениваются как значения, но значения не оцениваются как выражения.
Отношения — Роли
- Роль – это направленная цель ассоциации.
- Роли написаны на концах ассоциативной линии и описывают цель, которую играет этот класс в отношениях.
- Например, ячейка связана с выражением. Характер связи таков, что выражением является формула клетки.
Видимость атрибутов класса и операций
В объектно-ориентированном дизайне есть нотация видимости атрибутов и операций. UML определяет четыре типа видимости: public , protected , private и package .
Символы +, -, # и ~ перед именем атрибута и операции в классе обозначают видимость атрибута и операции.
- + обозначает общедоступные атрибуты или операции
- – обозначает частные атрибуты или операции
- # обозначает защищенные атрибуты или операции
- ~ обозначает атрибуты пакета или операции
Пример видимости класса
В приведенном выше примере:
- attribute1 и op1 MyClassName являются общедоступными
- attribute3 и op3 защищены.
- attribute2 и op2 являются частными.
Доступ для каждого из этих типов видимости показан ниже для членов разных классов.
Право доступа | общественный (+) | частный (-) | защищенный (#) | Пакет (~) |
---|---|---|---|---|
Члены одного класса | да | да | да | да |
Члены производных классов | да | нет | да | да |
Члены любого другого класса | да | нет | нет | в том же пакете |
Множественность
Сколько объектов каждого класса принимают участие в отношениях и множественности можно выразить как:
- Ровно один — 1
- Ноль или единица – 0..1
- Многие – 0..* или *
- Один или несколько – 1..*
- Точное число — например, 3..4 или 6
- Или сложное отношение — например, 0..1, 3..4, 6.* будет означать любое количество объектов, кроме 2 или 5.
Пример множественности
- Требование: Студент может посещать несколько курсов, и многие студенты могут быть зачислены на один курс.
- В приведенном ниже примере диаграмма классов (слева) описывает формулировку вышеуказанного требования для статической модели, а диаграмма объектов (справа) показывает моментальный снимок (экземпляр диаграммы классов) зачисления на курс для курсы по программной инженерии и управлению базами данных соответственно)
Пример агрегации — компьютер и комплектующие
- Агрегация — это частный случай ассоциации, обозначающий иерархию «состоит из».
- Агрегат — это родительский класс, компоненты — это дочерние классы.
Пример наследования — таксономия ячеек
- Наследование — еще один частный случай ассоциации, обозначающей «своего рода» иерархию.
- Наследование упрощает модель анализа, вводя таксономию
- Дочерние классы наследуют атрибуты и операции родительского класса.
Диаграмма классов — пример инструмента диаграммы
Диаграмма классов может также иметь примечания, прикрепленные к классам или отношениям. Примечания отображаются серым цветом.
В приведенном выше примере:
Мы можем интерпретировать значение приведенной выше диаграммы классов, прочитав пункты следующим образом.
- Форма — это абстрактный класс. Он показан курсивом.
- Форма — это суперкласс. Круг, прямоугольник и многоугольник являются производными от формы. Другими словами, Круг — это Форма. Это отношение обобщения/наследования.
- Существует связь между DialogBox и DataController.
- Форма является частью окна. Это агрегационные отношения. Shape может существовать без Window.
- Точка является частью Круга. Это композиционные отношения. Точка не может существовать без Окружности.
- Окно зависит от события. Однако Event не зависит от Window.
- Атрибутами Circle являются радиус и центр. Это класс сущности.
- Имена методов Circle: area(),circ(), setCenter() и setRadius().
- Радиус параметра в Circle является параметром in типа float.
- Метод area() класса Circle возвращает значение типа double.
- Атрибуты и имена методов Rectangle скрыты. У некоторых других классов на диаграмме также скрыты атрибуты и имена методов.
Пример диаграммы классов: система заказов
Пример диаграммы классов: графический интерфейс
Диаграмма классов может также иметь примечания, прикрепленные к классам или отношениям.
Работа со сложной системой — диаграмма нескольких или одного класса?
Неизбежно, если вы моделируете большую систему или большую бизнес-сферу, вам придется учитывать множество сущностей. Должны ли мы использовать несколько или одну диаграмму классов для моделирования проблемы? Ответ:
- Вместо моделирования каждой сущности и ее взаимосвязей на одной диаграмме классов лучше использовать несколько диаграмм классов.
- Разделение системы на несколько диаграмм классов облегчает понимание системы, особенно если каждая диаграмма является графическим представлением определенной части системы.
Перспективы диаграммы классов в жизненном цикле разработки программного обеспечения
Мы можем использовать диаграммы классов на разных этапах жизненного цикла разработки программного обеспечения и, как правило, моделируя диаграммы классов в трех различных перспективах (уровнях детализации) постепенно по мере продвижения вперед:
Концептуальная перспектива : диаграммы интерпретируются как описание вещей в реальном мире. Таким образом, если вы принимаете концептуальную перспективу, вы рисуете диаграмму, которая представляет концепции в изучаемой области. Эти концепции будут естественным образом относиться к классам, которые их реализуют. Концептуальная перспектива считается независимой от языка .
Перспектива спецификации : диаграммы интерпретируются как описание программных абстракций или компонентов со спецификациями и интерфейсами, но без привязки к конкретной реализации. Таким образом, если вы смотрите на спецификацию, мы смотрим на интерфейсы программного обеспечения , а не на реализацию.
Перспектива реализации : диаграммы интерпретируются как описание программных реализаций на определенной технологии и языке . Таким образом, если вы смотрите на реализацию, мы смотрим на программную реализацию .
Ищете бесплатный инструмент для построения диаграмм классов?
Visual Paradigm Online (VP Online) Free Edition — это бесплатное онлайн-программное обеспечение для рисования, которое поддерживает диаграммы классов, другие диаграммы UML, инструменты ERD и инструменты организационных диаграмм. Он имеет простой, но мощный редактор, который позволяет быстро и легко создавать диаграммы классов. В этом бесплатном редакторе UML нет рекламы, нет сроков доступа и нет ограничений, например, на количество диаграмм, количество фигур и т. д. Вы являетесь владельцем диаграмм, которые создаете для личных и некоммерческих целей.
Ищете более формальное моделирование UML на рабочем столе?
Visual Paradigm Community Edition был запущен в 2004 году для предоставления бесплатного программного обеспечения UML исключительно для некоммерческих целей, поддержки пользователей, которые делали свои первые шаги в моделировании UML и которым требуется бесплатное и кросс-платформенное программное обеспечение для моделирования UML для личного использования, например как применение UML в студенческих проектах.
Бесплатный инструмент моделирования UML для всех видов некоммерческих целей. Поддержка 13 диаграмм UML 2.x
Нас приняли более 1 миллиона установок по всему миру, и эта цифра продолжает расти. Многие люди используют платные версии Visual Paradigm для ежедневного рисования профессиональных диаграмм UML и ERD для проектирования и анализа систем и баз данных.
Причина 2
Доверие ИТ-специалистов и крупных организаций
Многие крупные организации, ИТ-компании, консультанты, университеты, неправительственные организации и правительственные учреждения по всему миру приняли Visual Paradigm (платные версии). На рисунке ниже показаны некоторые из наших платных клиентов.
Причина 3
Высокое качество – награда
Нам доверяют не только самые известные предприятия мира, но и вся отрасль. Visual Paradigm — многократный обладатель международных наград.
Причина 4
Самая широко используемая платформа для моделирования в академических кругах.
Наиболее широко используемый инструмент UML для академических кругов, принятый тысячами университетов и колледжей.
Причина 5
Огромная коллекция БЕСПЛАТНЫХ учебных ресурсов (при поддержке VP Community Circle)
Сотни примеров UML и ERD, готовых для импорта в Visual Paradigm для мгновенного эксперимента или для начала работы с собственной моделью UML. Все бесплатно.
Причина 6
Путь обновления до коммерческих выпусков для широкого спектра приложений и возможностей
Простое обновление для огромного набора дополнительных функций (например, BPMN и поддержки совместной работы) и для коммерческого использования, начиная с 6 долларов США в месяц .
Причина 7
Форум активных пользователей для получения помощи и обмена идеями и опытом
Поддерживайте, делитесь и обменивайтесь своими идеями с другими людьми на форуме активных пользователей Visual Paradigm .
Причина 8
Кроссплатформенное, удобное, быстрое и отзывчивое приложение
Visual Paradigm может работать на разных платформах, таких как Windows, Linux и Mac. Его интуитивно понятный интерфейс и мощные функции моделирования делают моделирование быстрым и легким!
использованная литература
- Что такое УМЛ?
- Почему UML-моделирование?
- Обзор 14 типов диаграмм UML
- Что такое диаграмма классов?
- Что такое диаграмма компонентов?
- Что такое диаграмма развертывания?
- Что такое диаграмма объекта?
- Что такое пакетная диаграмма?
- Что такое составная структурная диаграмма?
- Что такое профильная диаграмма?
- Что такое диаграмма вариантов использования?
- Что такое Диаграмма активности?
- Что такое диаграмма состояний?
- Что такое диаграмма последовательности?
- Что такое коммуникационная диаграмма?
- Что такое обзорная диаграмма взаимодействия?
- Что такое временная диаграмма
процедура специальной оценки условий труда https://sout095.ru
Главные новости мира https://ua-vestnik.com и страны: политика, экономика, спорт, культура, технологии. Оперативная информация, аналитика и эксклюзивные материалы для тех, кто следит за событиями в реальном времени.