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

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

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

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

Добавлен: 30.06.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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

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

Глава 1. Объектно-ориентированные методы анализа и проектирования информационных систем

1.1 Понятие объектно-ориентированного подхода

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


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

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

1.2 Основные элементы объектной модели

Центральным и основным понятием объектной модели являются объекты.

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

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

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

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


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

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

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

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

1.3 Достоинства и недостатки объектно-ориентированного подхода к проектированию

Как и любое явление в природе, объектно-ориентированный подход к проектированию информационных систем имеет как свои достоинства, так и не лишен некоторых недостатков.

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

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

Не смотря на большое количество достоинств, объкетно-ориентированный подход не лишен и ряда недостатков, среди которых стоит выделить:

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

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

Глава 2. Методология объектного проектирования на языке UML

2.1 Унифицированный язык моделирования UML

Для создания объектной модели какой-либо информационной системы чаще всего используется язык UML (Unified Modeling Language).

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


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

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

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

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

2.2 Диаграмма вариантов использования (use case diagram)

Построение объектно-ориентированной модели на языке UML чаще всего начинают с составления диаграммы прецедентов (или вариантов использования).

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

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

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