Понятие объектно-ориентированный подход, особенности и назначение 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Понятие объектно-ориентированный подход, особенности и назначение



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

Проблемы, стимулировавшие развитие ООП:

– необходимость повышения производительности разработки за счет многократного (повторного) использования ПО;

– необходимость упрощения сопровождения и модификации разработанных систем (локализация вносимых изменений);

– облегчение проектирования систем (за счет сокращения семантического разрыва между структурой решаемых задач и структурой ПО).

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

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

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

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

Преимущества объектно-ориентированного подхода:

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

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

3. Объектная модель вполне естественна, поскольку в первую очередь ориентирована на человеческое восприятие мира, а не на компьютерную реализацию;

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

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

 

8.Основные механизмы объектной модели: абстрагирование, инкапсуляция, наследование, полиморфизм, модульность, иерархия:

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

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

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

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

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

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

 

9. Назначение средств CASE-технологий. Характеристика и классификация CASE-средств. Тенденция развития средств CASE-технологий. Область применения:

Методология – последовательность выполнения работ, правил выбора методов и решений на разных этапах разработки. определяет руководящие указания для оценки и выбора проекта разрабатываемой ИС, шаги работы и их последовательность, а также правила распределения и назначения методов.

Метод - это систематические процедуры (или техника генерации) построения моделей проектируемой системы (например, построение моделей (структур) данных, потоков и т.д.)

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

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

Классификация CASE-средств. Современные CASE-системы классифицируются по следую­щим признакам:

1)Классификация по ориентации на процессы ЖЦ ПО:

- средства анализа и проектирования (BPWin, Silverrun, Oracle Designer, Rational Rose, Paradigm Plus, Power Designer, System Architect);

- средства проектирования баз данных (средства про­ектирования БД имеются в составе таких CASE-средств, как Silverrun, Oracle Designer, Paradigm Plus, Power Designer. Наи­более известным средством, ориентированным только на проек­тирование БД, является ERWin);

- средства управления требованиями (RequisitePro, DOORS - Dynamic Object-Oriented Requirements System - динамическая объектно-ориентированная система уп­равления требованиями);

- средства управления конфигурацией ПО (PVCS, ClearCase и др.);

- средства документирования. (SoDA - Software Document Automation - автоматизированное документирование ПО);

- средства тестирования. (Rational Suite TestStudio);

- средства управления проектом (Open Plan Professional, Microsoft Project 98 и др.);

- средства реверсного инжиниринга, предназначенные для переноса существующей системы ПО в новую среду. Средства анализа схем БД и формирования ERD входят в состав таких CASE-средств, как Silverrun, Oracle Designer, Power Designer, ERwin. Анализаторы программных кодов имеются в составе Rational Rose и Paradigm Plus.

2)Классификация по поддерживаемым методологиям проектирования: функ­ционально (структурно)-ориентированные, объектно-ориентиро­ванные и комплексно-ориентированные (набор методологий про­ектирования);

3) Классификация по поддерживаемым графическим нотациям построения ди­аграмм: с фиксированной нотацией, с отдельными нотациями и наиболее распространенными нотациями;

4) Классификация по степени интегрированности: tools (отдельные локальные средства), toolkit (набор неинтегрированных средств, охватыва­ющих большинство этапов разработки ИС) и workbench (пол­ностью интегрированные средства, связанные общей базой про­ектных данных - репозиторием);

5) Классификация по типу и архитектуре вычислительной техники: ориенти­рованные на ПЭВМ, ориентированные на локальную вычисли­тельную сеть (ЛВС), ориентированные на глобальную вычисли­тельную сеть (ГВС) и смешанного типа;

6) Классификация по режиму коллективной разработки проекта: не поддер­живающие коллективную разработку, ориентированные на ре­жим реального времени разработки проекта, ориентированные на режим объединения подпроектов;

7) Классификация по типу операционной системы: работающие под уп­равлением WINDOWS 3.11 и выше; работающие под управле­нием UNIX и работающие под управлением различных ОС (WINDOWS, UNDO, OS/2 и др.).

8) Классификация по типам отражает функциональную ориентацию CASE-средств в технологическом процессе.

- Анализ и проектирование. Средства этой группы используются для создания спецификаций системы и ее проектирования: они поддерживают широко известные методологии проектирования.

- Проектирование баз данных и файлов. Средства обеспечивают логическое моделирование данных, генерацию схем БД и описание форматов файлов

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

- Сопровождение и реинженерия. К таким средствам относятся докумен-таторы, анализаторы программ, (средства реструктурирования и обратной инже­нерии

- Окружение. Средства поддерживающие платформы для интеграции, создания и придания товарного вида CASE-средствам

- Управление проектом. Средства поддерживающие планирование, кон­троль. руководство, взаимодействие, то есть функции. необходимые в процессе разработки и сопровождения проектов

9)К лассификация по категориям определяет уровень интегрированности по выполняемым функциям и включает:

- Вспомогательные программы (Tools), решающие небольшую автоном­ную задачу, принадлежащую проблеме более широкого масштаба.

- Пакеты разработки (Toolkit), представляющие собой совокупность ин­тегрированных средств, обеспечивающих помощь для одного из классов про­граммных задач.

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

10) Классификация по уровням связана с областью действия CASE в пределах жизненного цикла ПО.

- Верхние (Upper) CASE часто называют компьютерным планированием. Использование верхних CASE позволяет построить модель ПрО. отражающую всю существующую специфику. Она направлена на понимание общего и частно­го механизмов функционирования, имеющихся возможностей, ресурсов, целей проекта в соответствии с назначением фирмы. Эти средства позволяют проводить анализ различных сценариев, накапливая информацию для принятия опти­мальных решении.

- Средние (Middle) CASE считаются средствами поддержки этапов анали­за требований и проектирования спецификаций и структуры АС. Основная вы­года от использования среднего CASE состоит в значительном облегчении про­ектирования систем; проектирование превращается в итеративный процесс, включающий действия: пользователь обсуждает с аналитиком требования к ин­формации: аналитик документирует эти требования, используя диаграммы и словари входных данных: пользователь проверяет эти диаграммы н словари, при необходимости модифицируя их; аналитик отвечает на эти модификации изме­няя соответствующие спецификации. Кроме того, средние CASE обеспечивают возможности быстрого докумен­тирования требований и прототипирования.

- Нижние (Lower) CASE поддерживают системы разработки ПО АС (при этом может использоваться до 30% спецификаций, созданных средствами сред­него CASE). Они содержат системные словари и графические средства, исклю­чающие необходимость разработки физических спецификаций - имеются систем­ные спецификации, которые непосредственно переводятся в программные коды разрабатываемой системы (при этом автоматически генерируется до 80% кодов). Главными преимуществами нижних CASE является: значительное уменьшение времени на разработку, облегчение модификаций, поддержка возможностей прототипирования (совместно со средними CASE).



Поделиться:


Последнее изменение этой страницы: 2016-04-23; просмотров: 855; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 35.173.254.36 (0.029 с.)