41412

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

Лекция

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

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

Русский

2013-10-23

80 KB

38 чел.

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

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

Лекция 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) и др.


 

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

21951. Виды и стадии инженерно-геологических изысканий 184.22 KB
  Виды и стадии инженерногеологических изысканий 1. Инженерногеологическая рекогносцировка. Инженерногеологическая съемка. Инженерногеологическая разведка.
21952. ОСОБЕННОСТИ ИНЖЕНЕРНО-ГЕОЛОГИЧЕСКИХ ИССЛЕДОВАНИЙ ДЛЯ РАЗЛИЧНЫХ ВИДОВ СТРОИТЕЛЬСТВА 260.31 KB
  ОСОБЕННОСТИ ИНЖЕНЕРНОГЕОЛОГИЧЕСКИХ ИССЛЕДОВАНИЙ ДЛЯ РАЗЛИЧНЫХ ВИДОВ СТРОИТЕЛЬСТВА. ИНЖЕНЕРНОГЕОЛОГИЧЕСКИЕ ИССЛЕДОВАНИЯ ДЛЯ ПРОМЫШЛЕННОГО И ГРАЖДАНСКОГО СТРОИТЕЛЬСТВА I. Инженерногеологические исследования при выборе строительной площадки выполняемые с целью сравнительной оценки возможных вариантов ее размещения первая стадия изысканий включают в себя проведение следующих работ. Инженерногеологическая рекогносцировка.
21953. ТЕХНИЧЕСКАЯ МЕЛИОРАЦИЯ ПОРОД. Отчетные инженерно-геологические материалы 229.19 KB
  Отчетные инженерногеологические материалы. ПРЕДМЕТ И ЗАДАЧИ ТЕХНИЧЕСКОЙ МЕЛИОРАЦИИ ПОРОД Главная задача грунтоведения и инженерной геологии заключается в оценке геологической обстановки сопровождающейся прогнозом инженерногеологических процессов и явлений применительно к требованиям различных видов производственной деятельности человека. В случае отрицательного прогноза в комплекс инженерногеологических работ входит выбор наиболее рациональных способов борьбы с неблагоприятными процессами и явлениями. Различают мероприятия двух типов: 1...
21954. Инженерно-геологические исследования в горном деле 2.71 MB
  Предмет и задачи инженерногеологических исследований в проблеме рационального использования полезных ископаемых. Системный подход к инженерногеологическому исследованию при разведке месторождений полезных ископаемых. Инженерногеологические условия месторождений полезных ископаемых. Предмет и задачи инженерногеологических исследований в проблеме рационального использования полезных ископаемых.
21955. Введение в инженерную геологию 2.3 MB
  Основные направления инженерной геологии и ее современная структура. Возникновение инженерной геологии и развитие ее на первых этапах были связаны со строительством. Поэтому можно говорить о предыстории инженерной геологии которая по существу складывается из двух этапов.
21956. Основные факторы, определяющие инженерно-геологические условия территории региона 1.87 MB
  Результаты воздействия этих факторов в геологическом прошлом отражены в геологическом строении и характере пород и в различных последствиях влияния геологических процессов карст тектоническая нарушенность пород и др. зависят от характера пород образовавшихся в существующее геологическое время. Геология При изучении инженерногеологических условий анализируется геологическое строение и состав пород в соответствии с их генезисом и геохронологическими схемами. Горные породы Земную кору слагают горные породы различные по происхождению и...
21957. Изучение инженерно-геологических условий (региональные, локальные, отдельных объектов и сооружений) 165 KB
  Особенности инженерногеологических свойств грунтов Данные о инженерногеологических и физикомеханических свойствах пород используются при детальном инженерногеологическом картировании инженерногеологических изысканиях для различных видов наземного и подземного строительства и др. Физикомеханическими свойствами горных пород следует называть такие которые определяют их физическое состояние отношение к воде и закономерности изменения прочности и деформируемости. Физикомеханические свойства рыхлых песчаноглинистых отложений существенно...
21958. Методы инженерно-геологических исследований 1.03 MB
  Методы инженерногеологических исследований. Общая систематизация методов инженерногеологических исследований. Новые методы и способы проведения инженерногеологических исследований в РБ. Общая систематизация методов инженерногеологических исследований.
21959. Процесс разработки интерфейса 217 KB
  При этом важно понимать что здесь описываются только методы создания новой системы. Система автоматизации например может быть эффективно использована только в том случае когда пользователь этой системы понимает суть автоматизируемых процессов. Это значит что концепции и суть сложной системы могут быть безболезненно вынесены из интерфейса в документацию освобождая ресурсы дизайнера. Побочным свойством новой системы компьютера Макинтош было то что его интерфейс был понятен и удобен в работе.