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


 

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

24639. Аналіз платоспроможності і ліквідності підприємства 37 KB
  Аналіз платоспроможності і ліквідності підприємства. В умовах ринкових відносин платоспроиожність підприємства вважається найважливійшою умовою їх господарської діяльності. Платоспроможність підприємства характеризується можливостями його здійснювати чергові платежі та грошові зобовязання за рахунок наявних грошей і тих грошових засобів і активів які легко мобілізуються. Відповідно на три групи поділяються і платіжні зобовязання підприємства:1.
24640. Аналіз оборотності оборотних коштів підприємства 27.5 KB
  Аналіз оборотності оборотних коштів підприємства. Величина обігових коштів їхні структура і достатність характеризують кількісний бік обігових коштів проте є і якісний пов'язаний зі швидкістю їх обороту оборотністю. Між сумою обігових коштів та показниками оборотності існують тісні зворотні взаємозвязки. Прискорення оборотності цих коштів сприяє вирішенню фінансових проблем найбільш зручним способом за рахунок використання існуючих внутрішніх резервів підприємства.
24641. Оцінка витрат на оплату праці 29 KB
  Оцінка витрат на оплату праці. У більшості галузей промисловості витрати на оплату праці мають значно меншу частку в собівартості продукції ніж матеріальні витрати. Проте загальновідомо що одним з найважливіших джерел зниження собівартості продукції є більш швидке зростання продуктивності праці порівняно із середньою оплатою праці. Тому аналізові витрат на оплату праці слід завжди приділяти першочергову увагу.
24642. Організація, зміст і методика проведення перспективного аналізу 28.5 KB
  Організація зміст і методика проведення перспективного аналізу Перспективний аналіз здійснюється у перспективній або довгостроковій системі управління. За допомогою перспективного аналізу визначаються можливі у перспективі економічні та соціальні результати розвитку науки і техніки розробляються науково обгрунтовані програми соціального економічного і технічного розвитку галузей народного господарства оптимальні управлінські рішення які забезпечують досягнення стратегічних цілей. Аналіз фактичних результатів діяльності за довготерміновий...
24643. Організація і методика поточного аналізу господарської діяльності 28.5 KB
  Організація і методика поточного аналізу господарської діяльності. Метою цього аналізу є виявлення та усунення негативних причин характерних для даної системи використання поточних резервів які сприяють досягненню поставленої мети. Поточний аналіз найбільш повний вид економічного аналізу що вбирає в себе результати оперативного аналізу і слугує базою для перспективного аналізу.
24644. Аналіз кредитоспроможності позичальника 59.5 KB
  Аналіз кредитоспроможності позичальника. До укладання кредитної угоди фахівець банку повинен ретельно проаналізувати кредитоспроможність потенційного позичальника тобто його здатність своєчасно повернути позичку вивчити фактори які можуть спровокувати її неповернення. Тому оцінка якості потенційного позичальника є одним із важливих етапів процесу кредитування. Одним з елементів оцінки кредитоспроможності є зясування персональних якостей потенційного позичальника.
24645. Обєкти та завдання економічного аналізу. Принципи його проведення 26.5 KB
  Обєкти та завдання економічного аналізу. Метою економічного аналізу є вивчення результатів діяльності підприємств визначення впливу факторів на показники і їх роботу для виявлення недоліків і резервів а також розробка заходів спрямованих на відновлення і збільшення обсягів виробництва та реалізації підвищення ефективності діяльності. Предметом економічного аналізу є фінансово господарська діяльність підприємства. Обєкти економічного аналізу це окремі явища і процеси проблеми питання наприклад виробнича діяльність наявність і...
24646. Інформаційне забезпечення економічного аналізу 26.5 KB
  Інформація це порядкованя повідомлення про кількісний та якісний стан явищ і процесів сукупність знань і даних про них. Інформація може бутит виражена за допомогою цифр букв символів.В економіці інформація відображає процеси та явища господарської діяльності закономірності функціонування ринку та його складові.планово нормативна інформація бізнес плани норми витрат прейскуранти цін і тарифів технологічна документація 2.
24647. Організація та етапи проведення аналітичної роботи на підприємстві 26 KB
  Організація та етапи проведення аналітичної роботи на підприємстві. Аналітична робота починається з планування розрізняють загальний план аналітичної роботи та конкретну програму аналітичних робіт. Виділяють три етапи аналітичної роботи: 1.попередній попереднє ознайомлення зі станом справ визначають ступінь виконання плану за основними показниками робиться попередня оцінка роботи підприємства а також готують макети таблиць збирається і перевіряється головна інформація визначаються виконавці 2.