41412

Объектно-ориентированный анализ и проектирование

Лекция

Информатика, кибернетика и программирование

Введение в объектно-ориентированный анализ и проектирование. Объектно-ориентированный анализ и проектирование Основная идея объектно-ориентированного анализа и проектирования objectoriented nlysis nd design состоит в рассмотрении предметной области и логического решения задачи с точки зрения объектов понятий или сущностей как показано на рис. В процессе объектно-ориентированного анализа основное внимание уделяется определению и описанию объектов или понятий в терминах предметной области.

Русский

2013-10-23

80 KB

37 чел.

ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ

Объектно-ориентированный анализ и проектирование

Лекция N 1 7/09/01

1. Введение в объектно-ориентированный анализ и проектирование

1.1. Что такое анализ и проектирование

Для создания программного приложения необходимо описать проблему и требования к системе. Этап анализа (analysis) состоит в исследовании проблемы, а не в поисках путей ее решения. Например, при разработке новой информационной системы для компьютерной библиотеки необходимо описать экономические процессы, связанные с ее использованием.

При разработке приложения необходимо также обеспечить высокий уровень и подробное описание логики решения, удовлетворяющего требованиям к системе и налагаемым ограничениям. В процессе проектирования (design) основное внимание уделяется логическому решению, обеспечивающему выполнение основных требовании. Например, как на самом деле будет функционировать информационная библиотечная система?

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

1.2. Смыл, вкладываемый термины "анализ" и "проектирование"

На самом деле граница между  анализом и проектированием очень размыта. Эти понятия определены на общей непрерывной области (рис. 1), и различные специалисты-практики в области "анализа и проектирования" могут по-разному их классифицировать. Однако в жестком разграничении этих терминов нет особой необходимости.

Рис. 1. Виды деятельности анализа и проектирования существуют в едином непрерывном пространстве

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

Тем не менее на практике необходимо воспринимать некоторые существенные отличия между исследованием (анализом) и решением (проектированием), поскольку для успешного решения задачи требуется понять ее сущность. Кроме того, правильное понимание этих процессов позволяет правильно распределить усилия разработчиков. Например, в процессе анализа участники группы разработчиков должны сосредоточиться на понимании проблемы, а вопросы, связанные с программным решением и производительностью системы, на время отложить.

1.3. Объектно-ориентированный анализ и проектирование

Основная идея объектно-ориентированного анализа и проектирования (object-oriented analysis and design) состоит в рассмотрении предметной области и логического решения задачи с точки зрения объектов (понятий или сущностей), как показано на рис. 2.

В процессе объектно-ориентированного анализа основное внимание уделяется определению и описанию объектов (или понятий) в терминах предметной области. Например, в случае библиотечной информационной системы среди понятий должны присутствовать Book (книга), Library (библиотека) и Patron (клиент).

Рис. 2. Виды деятельности в процессе проектирования

В процессе объектно-ориентированного проектирования определяются логические программные объекты, которые будут реализованы средствами объектно-ориентированного языка программирования. Эти программные объекты включают в себя атрибуты и методы. Например, в библиотечной системе программный объект Book может содержать атрибут title (название) и метод print (печатать) (рис. 3).

Рис. 2. Представление объектов с тачки зрения

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

И наконец в процессе конструирования (construction) или объектно-ориентированною программирования (object-oriented programming) обеспечивается Реализация разработанных компонентов, таких как класс Book на языке C++, Java, Smalltalk или Visual Basic.

1.4. Сравнение объектного и функционально-ориентированный подходы к анализу и проектированию

Программные проекты зачастую достаточно сложны, и их декомпозиция (по принципу "разделяй и властвуй") — это основная стратегия борьбы со сложностью. Она состоит в разбиении проблемы на мелкие управляемые элементы. До появления объектно-ориентированного подхода к анализу и проектированию наиболее популярной методологией декомпозиции являлись структурный анализ и проектирование (structured analysis and design). Этот подход заключается в декомпозиции задачи на функции или процессы, приводящей к созданию иерархии процессов и подпроцессов.

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

Рис. 4. Сравнительный анализ объектно-ориентированной и функционально-ориентированной декомпозиций

Структурная декомпозиция ЭИС на основе объектно-ориентированного подхода отличается от функционально-ориентированного подхода лучшей способностью отражать динамическое поведение системы в зависимости от возникающих событий. В этом плане модель проблемной области рассматривается как совокупность взаимодействующих во времени объектов. Тогда конкретный процесс обработки информации формируется в виде последовательности взаимодействий объектов. Одна операция обработки данных может рассматриваться как результат одного взаимодействия объектов.

1.5. Основные концепции, лежащие в основе ООАП

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

•  абстрагирование (abstraction);

•  инкапсуляция (encapsulation);

модульность (modularity);

•  иерархия (hierarchy).

Кроме основных имеются еще три дополнительных элемента, не являющихся в отличие от основных строго обязательными:

•  типизация (typing);

•  параллелизм (concurrency)',

• устойчивость (persistence).

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

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

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

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

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

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

Устойчивость - свойство объекта существовать во времени (вне зависимости от процесса, породившего данный объект) и/или в пространстве (при перемещении объекта из адресного пространства, в котором он был создан).

Основные понятия объектно-ориентированного подхода — объект и класс.

Объект определяется как осязаемая реальность (tangible entity) — предмет или явление, имеющие четко определяемое поведение. Объект обладает состоянием, поведением и индивидуальностью; структура и поведение схожих объектов определяют общий для них класс. Термины "экземпляр класса" и "объект" являются эквивалентными. Состояние объекта характеризуется перечнем всех возможных (статических) свойств данного объекта и текущими значениями (динамическими) каждого из этих свойств. Поведение характеризует воздействие объекта на другие объекты и наоборот относительно изменения состояния этих объектов и передачи сообщений. Иначе говоря, поведение объекта полностью определяется его действиями. Индивидуальность - это свойства объекта, отличающие его от всех других объектов.

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

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

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

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

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

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

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

В настоящее время для объектно-ориентированного моделирования проблемной области широко используется унифицированный язык моделирования UML (Unified Modeling Language), который разработан группой ведущих компьютерных фирм мира OMG (Object Management Group) [89] и фактически является стандартом по объектно-ориентированным технологиям. Язык UML реализован многими фирмами - производителями программного обеспечения в рамках CASE-технологий, например Rational Rose (Rational), Natural Engineering Workbench (Software AG), ARIS Toolset (IDS prof. Scheer) и др.


 

А также другие работы, которые могут Вас заинтересовать

79344. Площадь прямоугольника 30.1 KB
  Цели урока: формирование совокупности компетенций, необходимых для вычисления площади прямоугольника развивать мыслительные операции; воспитывать прилежание, аккуратность, стремление к выполнению всех заданий; уважение друг к другу...
79345. Гуморальная регуляция физиологических функций. Физиология желез внутренней секреции 192.5 KB
  Изучить закономерности гуморальной регуляции механизмы действия гормонов структурно-функциональную организацию эндокринной системы виды и функции гормонов желез внутренней секреции: щитовидной паращитовидных поджелудочной половых вилочковой надпочечников и эпифиза.
79346. ПЕРВЫЙ ЗВОНОК 60 KB
  В первый день сентября всем радость даря Каждый раз повторяется это Каждый собрался солнышком согрет Только первого класса что-то нет Вед: Нет первый класс здесь и с нетерпением ждет когда его позовут на линейку ведь первоклассники сегодня самые главные действующие лица праздника.
79350. Відкритття Америки. Христофор Колумб 46.5 KB
  Every year the 12th of October Americans celebrate Columbus Day. And today at our lesson we shall speak about this famous sailor. We shall read the texts answer the questions and work with the map, and by the end of our lesson you will have known more about the great discoverer.
79351. Безпечна поведінка – запорука міцного здоров’я 8.65 MB
  Стан напруги який виникає в людини під впливом сильних чинників Що таке наркотики Яка інша назва наркотику ЛСД Назвіть пожежонебезпечні матеріали Номер служби газу Які місця в автомобілі є найбільш безпечними для пасажирів Обмеження або позбавлення прав громадян...
79352. Подорож до країни Математики 438 KB
  Спочатку ми вирушимо до круглого озера, біля якого в будиночку живе дідусь Ох. Потім нам потрібно зустрітися в лісовій школі з тітонькою Совою та її учнями. Далі ми відпочинемо на лісовій галявині, поласуємо медом на пасіці, що знаходиться біля квітучої лісової галявини...