Файл: ПРИМЕНЕНИЕ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ПРИ ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННОЙ СИСТЕМЫ (Сущность и основные понятия).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 14.03.2024

Просмотров: 44

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Объектно-ориентированная технология проектирования ИС включает в себя следующие компоненты:

  • технологию конструирования концептуальной объектно-ориентированной модели предметной области;
  • инструментальные средства спецификации проектных решений;
  • библиотеки типовых компонентов модели предметной области;
  • типовые проектные решения для ряда функциональных областей.

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

Концептуальная объектно-ориентированная модель предметной области является основой проекта и реализации системы и обеспечивает:

  • необходимый уровень формализации описания проектных решений;
  • высокий уровень абстрагирования, типизации и параметризации проектных решений;
  • компактность описания;
  • удобство сопровождения готовой системы.

Отличительными чертами предлагаемой методологии являются следующие:

  • наличие единого методологически обоснованного ядра, обеспечивающего открытость технологии для модификации, расширения и создания новых моделей представления проектных решений;
  • наличие единого формального аппарата анализа проектных решений для используемых моделей представления;

Отличительными чертами предлагаемой технологии являются:

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

При всем разнообразии моделей предметных областей концептуального уровня отсутствуют такие модели, которые бы позволяли в полной мере использовать знания по классификации элементов предметной области для описания свойств ее элементов, и в то же время, сохраняли преимущества традиционных функционального и информационного подходов, основанных на модели данных. «Чистый» объектный подход уже на ранних стадиях требует представлять данные о классификации в виде диаграмм классов. Это слишком жесткое требование. Выделение иерархии классов требует проведения объемного и тонкого анализа различных аспектов взаимосвязей объектов предметной области. В рамках самого объектного подхода подобных методик нет. С другой стороны, попытки совместить чистый объектный подход с традиционными подходами оказываются неудачными, так как последние рассматриваются не как обоснование решений объектного подхода, а как средство моделирования последнего.


2.2 Основные понятия объектно-ориентированного подхода

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

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

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

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

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

Среди основных базовых составляющих объектно-ориентированного подхода можно выделить основные:

    • унифицированный процесс;
    • унифицированный язык моделирования;
    • шаблоны проектирования.

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


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

На стадиях анализа и проектирования будущей информационной системы зачастую применяются так называемые шаблоны (паттерны) проектирования. В данном случае под шаблоном понимается именованная пара «проблема/решение», которая содержит готовое обобщенное решение некоторой типичной проблемы. В большинстве случаев шаблон кроме текстового описания может также включать одну или несколько диаграмм UML (например, диаграммы классов, последовательности и/или коммуникации), которые графически иллюстрируют состав и структуру классов, и, кроме того, особенности их взаимодействия при решении некоторой проблемы. Шаблоны должны быть разработаны опытными профессионалами и являться проверенными, эффективными, оптимальными решениями. Помимо всего прочего, использование шаблонов может многократно уменьшить затраты и повысить качество разработки программного и информационного обеспечения.

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

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

Модель содержит далеко не все признаки и свойства представляемого ею предмета (понятия), а только те, которые являются существенными для разрабатываемой информационной системы. Таким образом модель выходит «беднее», и, следовательно, проще, чем тот предмет (явление), который она представляет. Но основное преимущество содержится даже не в этом, а в том, что модель является только формальной конструкцией: формальный характер моделей предоставляет возможность определения формальных зависимостей между ними и формальных операций над ними. Это упрощает не только разработку и анализ моделей, но и их реализацию посредством технических и аппаратных средств. В частности, формальный характер моделей предоставляет возможность получения формальной модели разрабатываемой информационной системы как композиции формальных моделей ее составляющих частей.


Таким образом, объектно-ориентированный подход обеспечивает адекватные подходы к решению следующих проблем:

  • снижение сложности программного обеспечения;
  • увеличение надежности программного обеспечения;
  • обеспечение возможности модификации отдельных составляющих ПО без изменения остальных его компонентов;
  • обеспечение возможности повторного использования отдельных компонентов программного обеспечения.

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

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

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

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

В отличие от структурного подхода, объектно-ориентированный имеет ряд преимуществ:

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

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

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

2.4 Примеры программных продуктов, применяемых для реализации объектно-ориентированного подхода

Современными языками объектно-ориентированного программирования являются С++ и Java. С середины 90-х годов многие объектно–ориентированные языки реализуются как системы визуального проектирования, в которых интерфейсная часть программного продукта создается в диалоговом режиме, практически без написания программных операторов. К объектно – ориентированным системам визуального проектирования относятся Visual Basic, Delphi, C++ Builder, Visual C++. Язык VBA (Visual Basic for Applications) – язык приложений Microsoft Office (Excel, Word, Access, Power Point и др).

Подробнее рассмотрим каждую из сред.

C++ — компилируемый, статически типизированный язык программирования общего назначения.

Поддерживает такие парадигмы программирования, как процедурное программирование, объектно-ориентированное программирование, обобщённое программирование. Язык имеет богатую стандартную библиотеку, которая включает в себя распространённые контейнеры и алгоритмы, ввод-вывод, регулярные выражения, поддержку многопоточности и другие возможности. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования.