ПЭИС : 18.Объектно-ориентированное проектирование. Диаграммы декомпозиции

Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обме¬на сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Модель предметной области рассматривается как совокупность взаимодействующих объектов во времени. Конкретные процессы обработки данных формулируются в виде последовательности взаимодействия объектов. Конкретным результатом ООП является множество классов объектов и методов обработки.

Наиболее значительный вклад в объектный подход был внесен объект¬ными и объектно-ориентированными языками программирования: Simula, Smalltalk, C++, Object Pascal. На объектный подход оказали влияние также развивавшиеся достаточно независимо методы модели¬рования БД, в особенности подход «сущность-связь».

Концептуальной основой объектно-ориентированного подхода яв¬ляется объектная модель. Основными ее элементами являются: абстрагирование, инкапсуляция, модульность, иерархия. Кроме основных имеются еще три дополнительных элемента, не являющихся строго обязательными: типизация, параллелизм, устойчивость.

Абстрагирование — это выделение существенных характеристик не¬которого объекта, которые отличают его от всех других видов объектов.

Инкапсуляция — это процесс отделения друг от друга отдельных элементов объекта, определяющих его устройство и поведение.

Модульность — это свойство системы, связанное с возможностью ее декомпозиции на ряд внутренне связных, но слабо связанных между собой модулей.

Иерархия — это ранжированная или упорядоченная система аб¬стракций, расположение их по уровням.

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

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

Устойчивость — свойство объекта существовать во времени и/или в пространстве.

Следующую группу важных понятий состав¬ляют наследование и полиморфизм.
Полиморфизм — способность класса принадлежать более чем одному типу.
Наследование — построение новых классов на основе существующих с возможностью добавления или переоп¬ределения данных и методов.

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

Основными понятиями объектно-ориентированного подхода являются объект и класс. Объекты, обладающие тремя свойствами (состояние, поведение, иден¬тичность), образуют системы с естественным поведением. Объекты в ИС моделируют реальные «сущности» с помощью поведенческих свойств или операций. Объект определяется как осязаемая реальность — предмет или явление, имеющие четко определяемое поведе¬ние. Объект обладает состоянием, поведением и индивидуаль¬ностью (идентичностью). Структура и поведение схожих объектов определяют общий для них класс. Определенное воздействие одного объекта на другой с целью вызвать соответствующую реакцию называется операцией (методом).

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

Язык моделирования — это нотация, которая используется методом для описания проектов. Нотация представляет собой совокупность графи¬ческих объектов, которые используются в моделях. Это язык для определения, представления, проектирования и документирования программных систем, организационно-экономических, технических и др. UML содержит стандартный набор диаграмм и нотаций самых разнооб¬разных видов.

Система объектно-ориентированных моделей в соответствии с нотациями UML включает в себя следующие диаграммы:

  • диаграмму прецедентов использования, которая отображает функциональность ЭИС в виде совокупности выполняющихся последовательностей транзакций, которые должны выполняться целиком, когда выполнение обособленного подмножества действий не имеет значения без выполнения всей последовательности;
  • диаграмму классов объектов, которая отображает структуру совокупности взаимосвязанных классов объектов аналогично ER-диаграмме функционально-ориентированного подхода, а также рассматривает внутреннюю структуру проблемной области, иерархию классов объектов, статические связи объектов;
  • диаграммы состояний, каждая из которых отображает динамику состояний объектов одного класса и связанных с ними событий и определяет:
    • какие типичные состояния проходит объект;
    • какие события ведут к изменению состояния объекта;
    • какие действия объект выполняет, когда он получает сообщение об изменении состояния;
    • какие объекты создаются и уничтожаются (входные и выходные точки диаграммы);
  • диаграммы взаимодействия объектов, каждая из которых отображает динамическое взаимодействие объектов в рамках одного прецедента использования. Для каждого прецедента использования может быть построена модель динамического взаимодействия объектов, которая представляется в одной из форм:
    • в форме диаграммы последовательностей, показывающей последовательность взаимодействия на графе;
    • в форме кооперативной диаграммы, показывающей взаимодействие объектов в табличной форме;
  • диаграммы деятельностей, которые отображают потоки работ во взаимосвязанных прецедентах использования (могут декомпозироваться на более детальные диаграммы);
  • диаграммы пакетов, которые отображают распределение объектов по функциональным или обеспечивающим подсистемам (могут декомпозироваться на более детальные диаграммы);
  • диаграмму компонентов, которая отображает физические модули программного кода;
  • диаграмму размещения, которая отображает распределение объектов по узлам вычислительной сети.

 

© gos2012asu

Бесплатный хостинг uCoz