Объектно-ориентированное проектирование программных продуктов

Деловые компьютерные программы, используемые в бизнесе и научных исследованиях, строятся на основе моделей реального мира. В таких моделях реальным процессам и системам ставится в соответствие совокупность величин, называемых переменными состояния. Изменение состояния исследуемого процесса или системы отображается изменением переменных состояния модели. В общем случае математическая модель описывается набором переменных состояния и отношениями (связями) между этими переменными. Переменные состояния могут быть как числовыми, так и не числовыми, в том числе словами и предложениями естественного языка. Одним из подходов, обеспечивающих структурирование математической модели и упрощение ее программирования, является объектный подход, в котором реальный процесс или система представляются совокупностью объектов, взаимодействующих друг с другом.

Понятию “объект” сопоставляют ряд дополняющих друг друга определений. Ниже приведены некоторые из них.

Объект — это осязаемая реальность, характеризующаяся четко определяемым поведением.

Объект — особый опознаваемый предмет, блок или сущность (реальная или абстрактная), имеющая важное функциональное назначение в данной предметной области.

Объект может быть охарактеризован структурой, состоянием объекта, его поведением и индивидуальностью.

Состояние объекта определяется перечнем всех возможных (обычно статических) свойств и текущими значениями (обычно динамическими) каждого из этих свойств. Свойства объекта характеризуются значениями его параметров.

Поведение объекта описывает, как объект воздействует на другие объекты или как он подвергается воздействию со стороны других объектов с точки зрения изменения его собственного состояния и состояния других объектов. Говорят также, что поведение объекта определяется его действиями.

Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называют операцией. В объектно-ориентированных языках программирования операции называют методами. Можно выделить пять типов операций:

— конструктор, создание и инициализация объекта;

— деструктор, разрушающий объект;

— модификатор, изменяющий состояние объекта;

— селектор для доступа к переменным объекта без их изменения;

— итератор для доступа к содержанию объекта по частям в определенной последовательности.

Известна и другая классификация методов объекта, когда выделяют функции управления, реализации, доступа и вспомогательные функции.

Под индивидуальностью объекта понимают свойство объекта, позволяющее отличать этот объект от всех других объектов.

Объекты могут находиться в определенных отношениях друг к другу. Эти отношения могут быть иерархическими. Основные иерархические отношения — это отношения использования и включения.

Отношение использования реализуется посылкой сообщений от объекта A к объекту B. При этом объект A может выступать в роли:

— активного или воздействующего объекта, когда он воздействует на другие объекты, но сам воздействию не подвергается;

— пассивного или исполняющего, когда объект подвергается воздействию, но сам на другие объекты не воздействует;

— посредника, если объект и воздействует и сам подвергается воздействию.

Отношение включения имеет место, когда составной объект содержит другие объекты.

Структура и поведение сходных объектов определяют класс объектов.

Между классами также могут быть установлены отношения:

— отношение разновидности (кошка — вид определенного биологического семейства или кошка — домашнее животное);

— включения или составной части (лапа — часть кошки);

— ассоциативности, когда между классами есть чисто смысловая связь (кошки и собаки — домашние животные).

Объектно-ориентированный подход к проектированию программных изделий предполагает:

— проведение объектно-ориентированного анализа предметной области;

— объектно-ориентированное проектирование;

— разработку программного изделия с использованием объектно-ориентированного языка программирования.

Вопросы для самопроверки

1. Опишите назначение системного проектирования.

2. Охарактеризуйте принцип практической полезности системного проектирования.

3. Охарактеризуйте принцип единства составных частей системного проектирования.

4. Охарактеризуйте принцип изменяемости во времени системного проектирования.

5. Перечислите достоинства и недостатками нисходящего и восходящего проектирования.

6. Объясните сущность понятия «объект».

7. Что такое метод?

8. Назовите типы методов (операций) объектно-ориентированного проектирования.

9. В каких отношениях могут находиться объекты?

10. Что определяет класс объектов?

11. В каких отношениях могут находиться классы объектов?

12. В чем заключается объектно-ориентированный подход к проектированию программных изделий?

Объектно ориентированное программирование в 2019


Похожие статьи.

Понравилась статья? Поделиться с друзьями: