Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Основные элементы объектной модели).pdf
Добавлен: 01.04.2023
Просмотров: 108
Скачиваний: 1
СОДЕРЖАНИЕ
1.Объектно-ориентированные методы анализа и проектирования
1.1.Основные принципы построения модели
1.2.Оновные элементы объектной модели
2.Методология объектно-проектирования на языке UML
2.1.Унифицированный язык моделирования UML
2.2.Диаграмма вариантов использования USE CASE DIAGRAM
2.3.Диаграмма классов USE CASE DIAGRAMS
2.4.Диаграмма взаимосвязи INTERACTION DIAGRAMS
3. Средства реализации объектно-ориентированного моделирования ИС
3.2. SPORX SYSTEMS ENTERPRASE ARCHITECT
Введение
В эпоху внедрения компьютеров ни для кого не секрет, что без компьютерной техники и специализированного программного обеспечения практически не обойтись. Использование специализированных программ дает возможность улучшить качество выполняемой работы, упростить человеческий труд, ускорить выполнение технологического процесса, облегчает синхронизацию и передачу информации и многое другое. В большинстве случаев используемые программные комплексы хранят производственную информацию, которая должна быть доступна некоторому количеству пользователей и, зачастую, пользователи работают с данными одновременно. Эти идеи послужили основой концепции, согласно которой данные должны быть организованны в базы данных, для управления ими, широко используются системы управления базами данных (СУБД). Проектирование экономических информационных систем (ЭИС) - логически сложная, трудоемкая и длительная работа, требующая высокой квалификации участвующих в ней специалистов. В начале 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 ставили цели:
- предоставить пользователям готовый к использованию выразительный язык визуального моделирования, позволяющий разрабатывать осмысленные модели и обмениваться ими;
- рассчитать механизмы расширяемости и специализации для расширения базовых концепций;
- создать независимость от конкретных языков программирования и процессов разработки;
- создать базу для понимания этого языка моделирования;
- стимулировать рост рынка объектно-ориентированных инструментальных средств;
- объединить лучший практический опыт.