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) и др.


 

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

20090. Требования к элементам приборов. Эксплуатационные, конструктивно-технологические, специальные. Чувствительность. Линейность 185.5 KB
  Статическая характеристика может быть выражена аналитически уравнением типа y=fx связывающим выходную величину y с входной величиной х в числовой форме в виде таблицы или графически. такая характеристика выгодна для показывающих и особенно для регистрирующих приборов т. Линейная характеристика преобразователей в вычислительных устройствах упрощает осуществление математических операций. Вместе с тем иногда нужны преобразователи с нелинейными характеристиками например с логарифмическими или квадратичными.
20091. Станки фрезерной группы. Их классификация. Краткая характеристика. Виды выполняемых работ. Приспособления и оснастка к ним 1.57 MB
  Приспособления и оснастка к ним. Приспособления для фрезерных станков. Эти приспия харся применением установов для быстрой настройки фрез и направляющих шпонок для правильного расположения приспия на столе станка. Шпонки крепятся на нижней части основания корпуса приспия их 2 разнесены на наибольшее расстояние.
20092. Инструментальные материалы. Требования, предъявляемые к ним. Классификация 38 KB
  Материалы для изготовления режущих инструментов. Инструментальные материалы подразделяются на следующие группы: Инструментальные стали; Твердые сплавы; Керамические материалы; Алмазы и синтетические сверхтвердые материалы. В результате термической обработки углеродистые стали приобретают твердость от 61 до 63 HRCэ и могут обрабатывать материалы твердостью до 30 HRCэ.
20093. Классификация режущего инструмента. Их технологические возможности 25.5 KB
  Габец Применяемые при обработке деталей машин и приборов режущие инструменты подразделяют как правило по конструкции и по виду обрабатываемых повтей. По конструкции инструменты подразделяются на следующие группы: 1 Резцы: резцы общего назначения и фасонные резцы. 2 Сверла –это однолезвийные и многолезвийные режущие инструменты применяемые для получения отверстий в сплошном материале и для рассверливания отверстий. 3 Зенкеры – 28лезвийные инструменты используемые для увеличения отверстий.
20094. ПРОЦЕСС ОБРАЗОВАНИЯ СТРУЖКИ И ЕЕ ТИПЫ. УСАДКА СТРУЖКИ.НАРОСТООБРАЗОВАНИЕ ПРИ РЕЗАНИИ. ВЛИЯНИЕ НАРОСТА НА ПРОЦЕСС РЕЗАНИЯ(«ТЕХНОЛОГИЧЕСКОЕ ОБОРУДОВАНИЕ И ОСНАСТКА») 86 KB
  УСАДКА СТРУЖКИ. Классификацию стружки предложил проф. При уменьшении среза повышении скорости резания и увеличении переднего угла отдельные элементы стружки станут менее отчетливыми и будут сходить без зазубки на ее внешней стороне.
20095. Обработка резанием. Кинематические и геометрические параметры и процессы резания. Главное движение и движение подачи. Элементы режима резания и геометрические параметры срезаемого слоя 101 KB
  Кинематические и геометрические параметры и процессы резания. Элементы режима резания и геометрические параметры срезаемого слоя. Для осуществления резания необходимо относительное движение между заготовкой и режущим инструментом. Совокупность движений сообщаемых механизмом станка в процессе резания инструменту и обрабатываемой детали представляет кинематическую схему резания.
20096. Сборочные приспособления . Разновидности , область применения, особенности конструкций, назначение 25.5 KB
  Рабочие повти их тщательно обрся имеют Тобразные пазы для закрепления собираемых деталей изготавливаются из чугуна. Служат для временного скркпления деталей и узлов в собираемых изделиях. Служат для поддержки и выверки громоздких и тяжёлых деталей. Блоки и подъёмники для деталей до 1т а больше – краны.
20097. Контрольные приспособления. Разновидности, область применения, особенности конструкции, назначения 32 KB
  При выборе отсчетных измерительных средств в зависимости от допусков и серийности производства необходимо учитывать их метрологические и экономические показатели погрешность средства цена деления шкалы предел измерения чувствительность порог чувствительности и т. При конструировании контрольного приспособления одной из основных задач является уменьшение или полное устранение общей суммарной погрешности измерения. Погрешностью измерения называется отклонение результата измерения от истинного значения измеряемой величины. Обязательными...
20098. Приспособления для фиксации крепления инструмента на станках. Особенности конструкций 55.5 KB
  Например для повышения произвти универсальных станков применяют многошпиндельные сверлильные и фрезерные головки многорезцовые поворотные резцедержатели к токарным станкам поворотное приспособление и т. Многошпиндельные головки. Головки: специальные универсальные. Специальными называют головки предназначенные для обработки деталей с определённым расположением отверстий.