Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Понятие объектно-ориентированный подход, особенности и назначениеСодержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Сущность объектно-ориентированного подхода. На сегодняшний день в программной инженерии существуют два основных подхода к разработке ПО ЭИС, принципиальное различие между которыми обусловлено разными способами декомпозиции систем. Первый подход называют функционально-модульным, или структурным. В его основу положен принцип функциональной, или алгоритмической декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и передачи информации между отдельными функциональными элементами, а поведение системы описывается в терминах последовательности выполнения процедур, реализующих алгоритмы функций. Второй, объектно-ориентированный подход (ООП) использует объектную декомпозицию. При этом структура системы описывается в терминах объектов и связей между ними, а поведение системы описывается в терминах обмена сообщениями между объектами. Каждый объект системы обладает своим собственным поведением, моделирующим поведение объекта реального мира. Проблемы, стимулировавшие развитие ООП: – необходимость повышения производительности разработки за счет многократного (повторного) использования ПО; – необходимость упрощения сопровождения и модификации разработанных систем (локализация вносимых изменений); – облегчение проектирования систем (за счет сокращения семантического разрыва между структурой решаемых задач и структурой ПО). Концептуальной основой объектно-ориентированного подхода является объектная модель. Ее основными понятиями являются: объекты и атрибуты, целое и часть, классы и экземпляры. Объектная модель является наиболее естественным способом представления реального мира. Объект определяется как осязаемая реальность (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; просмотров: 974; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.210.196 (0.009 с.) |