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

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

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

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

Добавлен: 01.04.2023

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

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

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

Введение

В эпоху внедрения компьютеров ни для кого не секрет, что без компьютерной техники и специализированного программного обеспечения практически не обойтись. Использование специализированных программ дает возможность улучшить качество выполняемой работы, упростить человеческий труд, ускорить выполнение технологического процесса, облегчает синхронизацию и передачу информации и многое другое. В большинстве случаев используемые программные комплексы хранят производственную информацию, которая должна быть доступна некоторому количеству пользователей и, зачастую, пользователи работают с данными одновременно. Эти идеи послужили основой концепции, согласно которой данные должны быть организованны в базы данных, для управления ими, широко используются системы управления базами данных (СУБД). Проектирование экономических информационных систем (ЭИС) - логически сложная, трудоемкая и длительная работа, требующая высокой квалификации участвующих в ней специалистов. В начале 70-х гг. в США был отмечен кризис программирования (software crisis). Это проявлялось в том, что крупные проекты стали выполнятся не в срок или превышали смету расходов. Разработанный продукт не соответствовал функциональным возможностям, производительность его была не высока, качество получаемого программного обеспечения не устраивало потребителей. Аналитические исследования и обзоры, выполняемые в начале XXI века, головными зарубежными аналитиками, показывали не слишком обнадеживающие результаты. Так, например, в 1995г. компания StandishGroup проанализировала работу 364 американских корпораций и итоги выполнения более 23 тыс. проектов, связанных с разработкой ПО, и сделали следующие выводы: только 16% проектов завершились в срок, 52,7% завершились с опозданием, расходы превысили запланированный бюджет. В числе причин неудач представлены нечеткая и неполная формулировка требований к ПО, недостаточное вовлечение пользователей в работу над проектом, неудовлетворительное планирование и т.п. На этом фоне, выгодно отличается объектно-ориентированный подход к проектированию ПО. Он устраняет эти и другие недостатки, он обладает богатым набором изобразительных средств.

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

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


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

Концепцией объектно-ориентированного анализа и, проектирования ПО (ООАП), является объектная модель. Ее основные принципы (абстрагирование, инкапсуляция, модульность и иерархия) и понятия (объект, класс, атрибут, операция, интерфейс и др.), наиболее четко сформулированы Гради Бучем.

Большинство современных методов ООАП основаны на использовании языка UML. Унифицированный язык моделирования UML (Unified Modeling Language), представляет собой язык для определения, представления, проектирования и документирования программных систем, организационно экономических систем, технических систем и других систем различной природы. UML содержит стандартный набор диаграмм и нотаций самых разнообразных видов.

Главное в разработке UML было следующее:

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

Стандарт UML версии 1.1, принятый OMG в 1997 г., содержит следующий набор диаграмм:

1.Структурные (structural) модели:

  • диаграммы классов (class diagrams) – для моделирования статической

структуры классов системы и связей между ними;

  • диаграммы компонентов (component diagrams) – для моделирования иерархии компонентов (подсистем) системы;
  • диаграммы размещения (deployment diagrams) – для моделирования физической архитектуры системы.

2.Модели поведения (behavioral):

  • диаграммы вариантов использования (use case diagrams) – для моделирования функциональных требований к системе (в виде сценариев взаимодействия пользователей и системы);
  • диаграммы взаимодействия (interaction diagrams);
  • диаграммы последовательности (sequence diagrams) и кооперативные;
  • диаграммы (collaboration diagrams) - для моделирования процесса обмена сообщениями между объектами;
  • диаграммы состояний (statechart diagrams) – для моделирования поведения объектов системы при переходе в другое состояние;
  • диаграммы деятельности (activity diagrams) – для моделирования поведения системы в рамках различных вариантов использования, или потоков управления.

1.1.Основные принципы построения модели

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

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

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

Анализ вариации использования проводится проектантами и включает в себя:

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

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

К основным понятиям объектной модели относятся:

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

Объект определяется как ощутимая субстанция (tangible entity) — предмет или явление, имеющее конкретное определяемое поведение.

Объект может представлять собой абстракцию некой сущности предметной области или программной системы. Любой объект обладает состоянием (state), поведением (behavior) и уникальностью (unikum).

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

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


Поведение определяет действия объекта и его реакцию на запросы от других объектов.

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

Каждый объект обладает уникальной особенностью. Что отличает данный объект от другого.

Структура и поведение похожих объектов определяют общий класс для них.

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

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

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

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

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

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

  • компонентом исходного кода;
  • компонентом времени выполнения (run time);
  • исполняемым компонентом.

Компонент обеспечивает физическое совершение набора интерфейсов.

Ассоциация (association) — это семантическая связь между классами.

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

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


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

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

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

Язык UML находится в процессе унификации, проводимом OMG (Object Management Group) – организацией по унификации в области объектно-ориентированных методов и технологий, в настоящее время принят в качестве типичного языка моделирования и получил неограниченную поддержку в индустрии ПО.

Язык UML взят на вооружение практически всеми крупнейшими компаниями – производителями ПО (Microsoft, IBM, Hewlett-Packard, Oracle, Sybase и др.). Кроме того, практически все мировые производители CASE-средств, помимо Rational Software (Rational Rose), поддерживают UML в своих продуктах (Paradigm Plus 3.6, System Architec, Microsoft Visual Modeler for Visual Basic, Delphi, PowerBuilder и др.

Главными в разработке UML ставили цели:

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