Основы объектно-ориентированного представления программных систем
- Сущность объектно-ориентированной декомпозиции
Объектно-ориентированная декомпозиция обеспечивает разбиение по автономным лицам — объектам реального (или виртуального) мира. Эти лица (объекты) — более «крупные» элементы, каждый из них несет в себе и описания действий, и описания данных.
- Принципы объектно-ориентированного представления ПС
Объектно-ориентированное представление ПСосновывается на принципах абстрагирования, инкапсуляции, модульности и иерархической организации. Каждый из этих принципов не нов, но их совместное применение рассчитано на проведение объектно-ориентированной декомпозиции. Это определяет модификацию их содержания и механизмов взаимодействия друг с другом.
- абстракция (она упрощает представление физического объекта);
- инкапсуляция (закрывает детали внутреннего представления абстракций);
- модульность (Общая цель декомпозиции на модули: уменьшение сроков разработки и стоимости ПС за счет выделения модулей, которые проектируются и изменяются независимо.).
Свойства модулей
Информационная закрытость утверждает (автор – Д. Парнас, 1972): содержание модулей должно быть скрыто друг от друга.
Модуль должен определяться и проектироваться так, чтобы его содержимое (процедуры и данные) было недоступно тем модулям, которые не нуждаются в такой информации (клиентам).
Информационная закрытость означает следующее:
|
|
все модули независимы, обмениваются только информацией, необходимой для работы;
доступ к операциям и структурам данных модуля ограничен.
Связность модуля – это мера зависимости его частей.
Связность – внутренняя характеристика модуля.
Чем выше связность модуля, тем лучше результат проектирования
Сцепление – это мера взаимозависимости модулей по данным.
Сцепление – это внешняя характеристика модуля, которую желательно уменьшать.
- иерархическая организация — формирование из абстракций иерархической структуры. Определением иерархии в проекте упрощаются понимание проблем заказчика и их реализация - сложная система становится обозримой человеком.
Иерархическая структура программной системы – это основной результат предварительного проектирования. Она определяет состав модулей ПС и управляющие отношения между модулями.
В этой структуре модуль более высокого уровня (начальник) управляет модулем нижнего уровня (подчиненным).Основные характеристики иерархической структуры
-
Понятие объекта, его индивидуальность, состояние и поведение
Объект — это конкретное представление абстракции. Объект обладает индивидуальностью, состоянием и поведением. Структура и поведение подобных объектов определены в их общем классе.
|
|
Индивидуальность — это характеристика объекта, которая отличает его от всех других объектов.
Состояние объекта характеризуется перечнем всех свойств объекта и текущими значениями каждого из этих свойств
Поведение характеризует то, как объект воздействует на другие объекты (или подвергается воздействию) в терминах изменений его состояния и передачи сообщений. Поведение объекта является функцией как его состояния, так и выполняемых им операций (Купить, Продать,Взвесить, Переместить)
- Связи между объектами
Связь — это физическое или понятийное соединение между объектами. Объект сотрудничает с другими объектами через соединяющие их связи. Связь обозначает соединение, с помощью которого:
- объект-клиент вызывает операции объекта-поставщика;
- один объект перемещает данные к другому объекту.
Можно сказать, что связи являются рельсами между станциями-объектами, по которым ездят «трамвайчики сообщений».
Как участник связи объект может играть одну из трех ролей:
- актер — объект, который может воздействовать на другие объекты, но никогда не подвержен воздействию других объектов;
|
|
- сервер — объект, который никогда не воздействует на другие объекты, он только используется другими объектами;
- агент — объект, который может как воздействовать на другие объекты, так и использоваться ими. Агент создается для выполнения работы от имени актера или другого агента.
- агрегация между объектами
Агрегация обозначает отношения объектов в иерархии «целое/часть». Агрегация обеспечивает возможность перемещения от целого (агрегата) к его частям (свойствам). Агрегация может обозначать, а может и не обозначать физическое включение части в целое.
- Понятие класса, его внутреннее и внешнее представление
Класс — описание множества объектов, которые разделяют одинаковые свойства, операции, отношения и семантику (смысл). Любой объект — просто экземпляр класса. Различают внутреннее представление класса (реализацию) и внешнее представление класса (интерфейс).
Реализация класса описывает секреты поведения класса. Она включает реализации всех операций, определенных в интерфейсе класса.
Интерфейс объявляет возможности (услуги) класса, но скрывает его структуру и поведение. Иными словами, интерфейс демонстрирует внешнему миру абстракцию класса, его внешний облик.
- Отношения между классами
Всего существует четыре основных вида отношений между классами:
Дата добавления: 2018-02-15; просмотров: 1011; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!