- •7 Объектно-ориентированная технология проектирования
- •7.1 Объектно-ориентированный подход. Этапы и модели объектно-ориентированной технологии
- •7.2 Принципы объектного подхода
- •7.3 Основные элементы объектной модели
- •7.4 Унифицированный язык моделирования uml
- •Структура Унифицированного языка моделирования
- •7.4.1 Стандарт uml: статические и динамические диаграммы
- •7.4.1.1 Диаграмма вариантов использования
- •Интерфейсы диаграммы вариантов использования
- •Примечания диаграммы вариантов использования
- •7.4.1.2 Диаграмма классов
- •7.4.1.3 Диаграммы реализации
- •7.4.1.3 Диаграммы взаимодействий
- •7.4.1.4 Диаграмма состояний
- •7.4.1.5 Диаграмма деятельности
- •Этапы проектирования ис с применением uml
7.2 Принципы объектного подхода
Объектно-ориентированная технология основывается на так называемой объектной модели.
Объектная модель описывает структуру объектов, составляющих систему, их атрибуты, операции, взаимосвязи с другими объектами. В объектной модели должны быть отражены те понятия и объекты реального мира, которые важны для разрабатываемой системы. В объектной модели отражается прежде всего прагматика разрабатываемой системы, что выражается в использовании терминологии прикладной области, связанной с использованием разрабатываемой системы.
Объектная модель, которая является концептуальной базой объектно-ориентированной методологии, имеет четыре главных принципами построения объектной модели:
абстрагирование (abstraction);
инкапсуляция (encapsulation);
модульность (modularity);
иерархия (hierarchy)
Эти принципы являются главными, без любого из них модель не будет объектно-ориентирована. Кроме главных, имеются еще три дополнительных принципа:
типизация,
параллелизм;
сохранность
Эти принципы полезны в в объектной модели но не являются обязательными.
Абстрагирование является одним из основных методов, который используется для решения сложных задач.
Абстрагирование — это выделение наиболее важных, существенных характеристик некоторого объекта, которые отличают его от всех других видов объектов и, таким образом, четко определяют особенности данного объекта с точки зрения его дальнейшего рассмотрения. Абстрагирование позволяет отделить самые существенные особенности поведения от несущественных. Абстракция определяет существенные характеристики некоторого объекта, которые отличают его от других видов объектов и четко очерчивают концептуальную границу объекта с точки зрения наблюдателя.
Выделяют целый спектр абстракций: абстракция сущности, поведения, абстракция виртуальной машины, произвольная абстракция.
Выбор правильного набора абстракций для заданной предметной области является главной проблемой в объектном проектирования.
Инкапсуляция — это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение.
Инкапсуляция служит для того, чтобы изолировать интерфейс объекта, отражающий его внешнее поведение, от внутренней реализации объекта.
Абстрагирование и инкапсуляция (или иначе ограничение доступа) являются взаимодополняющими: абстрагирование направленно на наблюдаемое поведение объекта, а инкапсуляция (или иначе ограничение доступа) занимается внутренним устройством. Практически это означает наличие двух частей в классе: интерфейса и реализации. Интерфейс отображает внешнее поведения объекта, описывая абстракцию поведения всех объектов данного класса. Внутренняя реализация описывает представление этой абстракции и механизмы достижения желаемого поведения объекта.
Модульность — это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне сильно сцепленных, слабо связанных между собой подсистем (модулей). Модульность снижает сложность системы, позволяя выполнять независимую разработку отдельных модулей. Модульность и инкапсуляция тесно связаны между собой и создают барьеры между абстракциями.
Иерархия — это ранжированная или упорядоченная система абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным системам являются структура классов (иерархия по номенклатуре) и структура объектов (иерархия по составу).
Примерами иерархии классов являются простое и множественное наследование (один класс использует структурную или функциональную часть соответственно одного или нескольких других классов), а иерархии объектов- агрегация.
Дополнительные принципы:
Типизация – это способ защиты от использования объектов одного класса вместо другого класса, или управление таким использованием.
Контроль типов — это система правил, предотвращающих или сильно ограничивающих взаимную замену объектов разных классов.
Параллелизм — это свойство, отличающее активные объекты от пассивных.
Сохраняемость /устойчивость— это свойства объекта существовать во времени и/или пространстве, вне зависимости от процессов породивший данный объект.
