Бинарное отношение связывает объекты двух классов.
Тройное отношение связывает объекты трех или более классов.
Мощность бинарной ассоциации обозначает количество экземпляров, участвующих в ассоциации. Существует три типа коэффициента мощности, а именно:
Один-к-одному. Один объект класса A связан с одним объектом класса B.
Один-ко-многим. Один объект класса A связан со многими объектами класса B.
Многие-ко-многим. Объект класса A может быть связан со многими объектами класса B, и, наоборот, объект класса B может быть связан со многими объектами класса A.
Агрегация или композиция – это взаимосвязь между классами, при которой класс может состоять из любой комбинации объектов других классов.
Она позволяет размещать объекты непосредственно внутри тела других классов.
Агрегация называется отношением “part–of” или “has–a”, с возможностью навигации от целого к частям.
Агрегатный объект – это объект, состоящий из одного или нескольких других объектов.
Метод объектно-ориентированного моделирования (OOM) визуализирует вещи в приложении с использованием моделей, организованных вокруг объектов.
И любой подход к разработке программного обеспечения проходит через следующие этапы:
Это анализ, дизайн и реализация.
При объектно-ориентированной разработке программного обеспечения разработчик программного обеспечения идентифицирует и организует приложение с точки зрения объектно-ориентированных концепций до их окончательного представления на любом конкретном языке программирования или программных инструментах.
И основными этапами разработки программного обеспечения с использованием объектно-ориентированной методологии являются объектно-ориентированный анализ, объектно-ориентированный дизайн и объектно-ориентированная реализация.
На этапе объектно-ориентированного анализа, формулируется проблема, определяются пользовательские требования, а затем модель строится на основе объектов реального мира.
Анализ дает модели то, как должна функционировать желаемая система и как она должна развиваться.
При этом модели не содержат каких-либо деталей реализации, чтобы эти модели могли бы быть поняты и изучены любым экспертом, не являющимся техническим специалистом.
Объектно-ориентированный дизайн включает в себя два основных этапа, а именно: дизайн системы и дизайн объектов.
На этапе системного дизайна разрабатывается полная архитектура желаемой системы.
Система определяется как набор взаимодействующих подсистем, которые, в свою очередь, состоят из иерархии взаимодействующих объектов, сгруппированных по классам.
Конструирование системы выполняется на основе как модели анализа, так и предлагаемой архитектуры системы.
Здесь акцент делается на объектах, входящих в систему, а не на процессы в системе.
На этапе дизайна объектов разрабатывается модель на основе как моделей, разработанных на этапе анализа, так и архитектуры, разработанной на этапе дизайна системы. При этом определяются все необходимые классы.
Устанавливаются ассоциации между классами и определяются иерархии классов.
На этапе объектно-ориентированной реализации и тестирования модель дизайна, разработанная при дизайне объектов, преобразуется в код на соответствующем языке программирования.
Создаются базы данных и определяются конкретные требования к оборудованию.
После того, как создается код, он проверяется с использованием специализированных методов для выявления и устранения ошибок в коде.
Концептуальная структура объектно-ориентированных систем основана на объектной модели.
И объектно-ориентированная система основывается на двух категориях свойств.
Это основные свойства, которые объектно-ориентированная система обязана иметь:
– Абстракция.
– Инкапсуляция.
– Модульность.
– Иерархия.
И дополнительные свойства, которые полезны, но не являются неотъемлемой частью объектной модели:
– Типизация.
– Параллельность.
– Сохраняемость.
Абстракция означает сосредоточиться на существенных особенностях элемента или объекта, игнорируя его посторонние или случайные свойства.
И основные свойства относятся к контексту, в котором используется объект.
Инкапсуляция – это процесс связывания как атрибутов, так и методов вместе внутри класса.
Благодаря инкапсуляции внутренние детали класса могут быть скрыты извне.
Класс имеет методы, которые предоставляют пользовательские интерфейсы, с помощью которых могут использоваться службы, предоставляемые классом.
Модульность – это процесс разложения задачи (программы) на набор модулей, чтобы уменьшить общую сложность проблемы.
И модульность связана с инкапсуляцией.
Модульность может быть визуализирована как способ отображения инкапсулированных абстракций в реальные физические модули, имеющие высокую степень сцепления внутри модулей, а их межмодульное взаимодействие или связь является слабой.
Иерархия – это ранжирование или упорядочение абстракции.
Через иерархию система может состоять из взаимосвязанных подсистем, которые могут иметь свои собственные подсистемы и т. д.
До тех пор, пока не будут достигнуты наименьшие компоненты уровня.