Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Обзор и анализ основных принципов и особенностей объектно-ориентированного подхода).pdf

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

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

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

Добавлен: 13.03.2024

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

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

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

Содержание:

Введение

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

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

1. Сущность объектно-ориентированного подхода

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


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

Термин «объектно-ориентированный» появился в связи с объектно-ориентированным программированием вообще и языком Smalltalk в частности, хотя концепции сокрытия информации и наследования были известны и раньше. Идея сокрытия информации и ее применения для проектирования программ впервые встречается в работе Парнаса, предложившего сокрытие информации для создания замкнутых модулей, которые можно было бы изменять, не затрагивая (или почти не затрагивая) другие модули. Концепции классов и наследования были введены в языке Simula 67, но получили широкое распространение только с появлением языка Smalltalk. В этом разделе я опишу объектно-ориентированные концепции на уровне задачи (анализ) и решения (проект).

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

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

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

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


Атрибут - это значение, хранящееся в объекте класса. У каждого объекта могут быть разные значения одного и того же атрибута.

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

Сокрытие информации - это базовая концепция объектно-ориентированного проектирования.[2] Она используется при проектировании объектов и, в частности, при решении вопроса о том, какая информация должна быть доступной, а какая - скрытой. Те аспекты объекта, которые не должны быть видны другим объектам, прячутся. Следовательно, если в процессе развития внутреннее устройство объекта изменится, это отразится только на данном объекте. Для описания сокрытия объектом информации применяется термин инкапсуляция

Наследование - это механизм разделения и повторного использования одного и того же кода в разных классах. Класс-потомок наследует свойства (инкапсулированные данные и операции) от родительского класса. Но он может модифицировать структуру (то есть инкапсулированные данные) и поведение (операции) своего родителя. Родительский класс называется суперклассом или базовым классом, класс-потомок - подклассом или производным классом. Адаптация родительского класса для нужд потомка называется специализацией. Классы-потомки можно специализировать и дальше, создавая иерархии классов, или иерархии обобщения/специализации

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

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


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

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

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

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

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

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

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

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

  • Т.к. объектная декомпозиция сильно отличается от функциональной, поэтому переход на новый подход тесно связан как с дополнительными финансовыми затратами, так и с преодолением психологических трудностей
  • Сложность реализации. Проекты, построенные с помощью объектно-ориентированного языке, приводят к построению более сложной и требовательной к ресурсам программы, в следствии чего требуют больших временных затрат. Поэтому классические методы для некоторых задач могут оказаться более эффективными
  • Усложнение методологии. Применение данного подхода требует использования дополнительных наглядных способов представления информации об текущей области. Язык UML включает в себя более 100 условных обозначений. Поэтому использование данного инструмента требует наличие дополнительного уровня квалификации у сотрудников.
  • На настоящий момент все еще продолжается формирование объектно-ориентированного языка моделирования UML, и по сравнению со средствами, поддерживающими структурный подход количество САSЕ-средств, поддерживающих объектно-ориентированный подход, невелико. Кроме того, диаграммы, отражающие специфику объектного подхода (диаграммы классов и т.п.), гораздо менее наглядны и плохо понимаемы непрофессионалами.

Структура и основные понятия унифицированного языка моделирования (UML)

Унифицированный язык моделирования (UML) стал в настоящий момент является стандартом де-факто при документировании (описания) результатов проектирования и разработки объектно-ориентированных систем.[3] Начало разработки UML было положено в 1994 г. Гради Бучем и Джеймсом Рамбо, работавшим в компании Rational Software. Осенью 1995 г. к ним присоединился Ивар Якобсон и в октябре того же года была выпущена предварительная версия 0.8 унифицированного метода (англ. Unified Method). С этого времени было выпущено несколько версий спецификации UML, две из которых носят статус международного стандарта. Со временем нотация UML расширялась, и теперь в ней поддерживается много различных диаграмм. Далее я рассмотрю возможности нотации UML.