Проектирование информационных систем. Раздел 5. Индустриальное проектирование информационных систем. Объектно-ориентированная Case-технология проектир
.pdfМинистерство культуры Российской Федерации ФГОУ ВПО «Кемеровский государственный университет культуры и искусств»
Институт информационных и библиотечных технологий Кафедра технологии автоматизированной обработки информации
ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ (РАЗДЕЛ 5. ИНДУСТРИАЛЬНОЕ ПРОЕКТИРОВАНИЕ ИНФОРМАЦИОННЫХ СИСТЕМ. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ CASE-ТЕХНОЛОГИЯ ПРОЕКТИРОВАНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ)
Учебное пособие по специальности 080801 «Прикладная информатика (в информационной сфере)»
Кемерово 2009
1
Утверждено на заседании кафедры технологии автоматизированной обработки информации 26.05.09 г., протокол № 14.
Рекомендовано к изданию УМС института информационных и библиотечных технологий 29.06.09 г., протокол № 10.
Рецензенты:
д-р тех. наук, профессор, заведующий кафедрой обогащения полезных ископаемых КузГТУ
В. И. Удовицкий,
канд. пед. наук, доцент кафедры ЮНЕСКО по новым информационным технологиям КемГУ
Л. Е. Шмакова
Малышева, Е. Н
Проектирование информационных систем (Раздел 5. Индустриальное проектирование информационных систем. Объектно-ориентированная Case-технология проектирования информационных систем) [Текст]: учеб. пособие / Е. Н. Малышева. – Кемерово: Кемеров. гос. ун-т культуры и ис-
кусств, 2009. – 70 с.
2
ВВЕДЕНИЕ
Технология разработки программных систем, в основу которых положена парадигма представления окружающего мира в виде объектов, являющихся экземплярами соответствующих классов, получила название «объектно-ориентированный анализ и проектирование».
Основная идея объектного подхода состоит в том, чтобы заключить данные и связанные с ними процедуры в некие структуры (объекты), объединенные механизмом наследования. Объектноориентированный подход к моделированию и проектированию программных систем наилучшим образом подходит для решения проблем, требующих детального представления объектов реального мира и динамических отношений между ними.
Методология объектно-ориентированного анализа и проектирования получила широкое распространение с появлением языка объектного моделирования нового поколения – унифицированного языка моделирования UML (Unified Modeling Language), предназначенного для визуального моделирования и проектирования информационных систем (ИС). Применение современных средств моделирования позволяет реализовать такие методы системного анализа, как создание иерархии понятий, обобщение понятий, наследование свойств, многообразие моделей описания предметной области, визуализацию представлений эксперта о процессах, протекающих в рассматриваемой предметной области.
При этом наличие в языке UML изобразительных средств для представления структуры и поведения модели позволяет достичь адекватного представления декларативных и процедурных знаний, а также установить между этими формами знаний семантическое соответствие. Язык UML реализован многими фирмами – производителями программного обеспечения в рамках Case-технологий.
В пособии рассматривается методология объектно-ориентированного анализа и моделирования информационных систем. Сформулированы принципы технологии объектного анализа и проектирования информационных систем с использованием языка UML как универсального средства моделирования проектных решений. Рассматриваются принципы разработки концептуальных моделей и моделей динамики поведения
3
систем, приводится методика разработки комплекса объектноориентированных моделей на UML. Изложение теоретического материала сопровождается примерами соответствующих диаграмм, способствующих приобретению знаний и умений в области технологий автоматизированного индустриального проектирования информационных систем.
Данное пособие разработано по курсу «Проектирование информационных систем» (раздел «Индустриальное проектирование информационных систем») для студентов, обучающихся по специальности 080801 «Прикладная информатика (в информационной сфере)», а также для студентов всех специальностей, связанных с обработкой информации.
Учебное пособие может служить основой при изучении раздела «Индустриальное проектирование информационных систем» курса «Проектирование информационных систем».
Слова благодарности автор адресует рецензентам – доктору технических наук, профессору, заведующему кафедрой обогащения полезных ископаемых Кузбасского государственного технического университета В. И. Удовицкому и кандидату педагогических наук, доценту кафедры ЮНЕСКО по новым информационным технологиям Кемеровского государственного университета Л. Е. Шмаковой.
4
Глава 1. ОСНОВЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПОДХОДА ПРИ ПРОЕКТИРОВАНИИ ИНФОРМАЦИОННЫХ СИСТЕМ
1.1.Принципы объектно-ориентированного анализа
ипроектирования
Рассмотрение любой сложной системы требует применения техники декомпозиции – разбиения на составляющие элементы. Известны две схемы декомпозиции: алгоритмическая и объектно-ориентированная.
В основе алгоритмической декомпозиции заложено разбиение по действиям – алгоритмам. Основным строительным блоком является процедура или функция, а внимание уделяется, прежде всего, вопросам передачи управления и декомпозиции алгоритмов. При изменении требований или увеличении размера приложения становится сложнее его сопровождать. Алгоритмический подход является традиционным при создании программного обеспечения.
Наиболее современным подходом к разработке сложных информационных систем являются объектно-ориентированные методологии разработки информационных систем, которые стали интенсивно развиваться с конца 80-х годов. Здесь в качестве основного строительного блока выступает объект или класс. Объект – это абстракция множества предметов реального мира, обладающих одинаковыми характеристиками и законами поведения. Класс – это множество предметов реального мира, связанных общностью структуры и поведения. Элемент класса – это конкретный элемент данного множества.
К важным понятиям объектно-ориентированного подхода относят инкапсуляцию, наследование и полиморфизм.
Объектно-ориентированный подход предполагает, что собственные ресурсы, которыми могут манипулировать только методы самого объекта, скрыты от внешних компонентов. Сокрытие данных и методов в качестве собственных ресурсов объекта получило название инкапсуляции.
Понятие полиморфизма может быть интерпретировано как способность объекта принадлежать более чем одному типу.
Объектно-ориентированный подход к анализу и проектированию сложных информационных систем активно использует аппарат наследования.
5
Наследование означает построение новых классов на основе существующих с возможностьюдобавленияилипереопределенияданныхиметодов.
Объектно-ориентированная модель предметной области представляет собой совокупность диаграмм, описывающих с использованием универсального языка объектного проектирования UML различные аспекты структуры и поведения информационной системы.
Диаграмма в UML – это графическое представление набора элементов, изображаемое чаще всего в виде связанного графа с вершинами (сущностями) и ребрами (отношениями). В некотором смысле диаграмма – это одна из проекций предметной области.
В основе объектно-ориентированного анализа и проектирования информационных систем лежат следующие ключевые принципы [5, с. 171]:
•принцип абстрагирования;
•принцип многомодельности;
•принцип иерархической организации.
Создавая понятие в рамках какой-либо задачи, необходимо отвлекаться (абстрагироваться) от несущественных характеристик конкретных объектов, определяя только их существенные характеристики.
Принцип абстрагирования предписывает включать в модель только те аспекты проектируемой системы, которые имеют непосредственное отношение к выполнению системой своих функций или своего целевого назначения. Таким образом, абстрагирование сводится к формированию абстракций. Каждая абстракция фиксирует основные характеристики объекта, которые отличают его от других видов объектов и обеспечивают ясные понятийные границы. Абстракция конкретизирует внимание на внешнем представлении объекта, позволяет отделить основное в поведении объекта от его реализации.
Принцип многомодельности сводится к утверждению, что никакая отдельно взятая модель не может с достаточной степенью адекватности описать различные аспекты сложной системы. Применительно к UML это означает, что достаточно полная модель сложной системы допускает некоторое число взаимосвязанных представлений, каждое из которых адекватно отражает некоторый аспект поведения или структуры системы.
Интегрированная модель сложной системы представляется в виде совокупности диаграмм, приведенной на рисунке 1.
6
Диаграмма |
|
|
Диаграмма |
|
|
Диаграмма |
|
прецедентов |
|
|
|
|
|||
|
|
классов |
|
|
состояний |
||
использования |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Диаграмма |
|
|
Интегрированная |
|
|
Диаграмма |
|
|
|
модель |
|
|
|||
размещения |
|
|
|
|
взаимодействия |
||
|
|
|
|
||||
|
|
сложной системы |
|
|
|||
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Диаграмма |
|
|
Диаграмма |
|
|
Диаграмма |
|
компонентов |
|
|
пакетов |
|
|
деятельности |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рисунок1 – ИнтегрированнаямодельсложнойсистемывнотацииUML
Принцип иерархической организации моделей сложных систем предписывает рассматривать процесс построения модели на разных уровнях абстрагирования или детализации в рамках фиксированных представлений. При этом диаграммы группируются с учетом их назначения: диаграммы концептуального и физического уровней, статического и динамического представлений моделируемой системы. Каждая группа диаграмм отражает точку зрения участников проекта или конечных пользователей и предназначена для визуализации отдельных аспектов моделирования.
Процесс построения отдельных типов диаграмм имеет свои особенности, которые тесно связаны с семантикой этих диаграмм.
Процесс объектно-ориентированного анализа и проектирования в контексте языка UML заключается в его последовательном разбиении на отдельные этапы, на каждом из которых осуществляется разработка соответствующих типов диаграмм модели системы. При этом на начальных этапах строятся логические представления статической структуры системы, затем – логические представления модели поведения и лишь после этого – физические представления модели системы.
Результат моделирования зависит от класса моделируемой системы и цели, которую преследуют разработчики. В любом случае, результатом моделирования будет являться серия взаимосвязанных диаграмм, относящихся к различным уровням представления системы,
7
снабженная подробной документацией и отчетами, создаваемыми инструментальными средствами поддержки. При создании автоматизированной информационной системы возможна генерация каркаса программного кода на объектно-ориентированном языке программирования.
Таким образом достигается понимание того, как элементы, созданные в рамках модели организационной системы, находят свое отражение в модели информационно-программного комплекса.
1.2. Сопоставление и взаимосвязь функциональноориентированного и объектно-ориентированного подходов
Принципиальное различие между функционально-ориентированным и объектно-ориентированным подходами заключается в способе декомпозиции системы. Объектно-ориентированный подход использует объектную декомпозицию, при этом статическая структура системы описывается в терминах объектов и связей между ними, а поведение системы – в терминах обмена сообщениями между объектами. Каждый объект системы обладает собственным поведением, моделирующим поведение объекта реального мира. При таком подходе модель проблемной области рассматривается как совокупность взаимодействующих во времени объектов. Тогда конкретный процесс обработки информации формируется в виде последовательности взаимодействий объектов. Одна операция обработки данных может рассматриваться как результат одного взаимодействия объектов.
В объектно-ориентированном подходе основная категория объектной модели–класс объединяет в себе на элементарном уровне как данные, так и операции, которые над ними выполняются (методы). Конечным результатом процесса объектно-ориентированного проектирования должно стать множество классов объектов с присоединенными методами обработки атрибутов.
Для функционально-ориентированного подхода характерна декомпозиция всей системы на некоторое множество иерархически подчиненных функций. Эти функции подобны прецедентам использования в объектно-ориентированной системе, которые соответствуют действиям, выполняемым системой в целом. Главный недостаток этого подхода заключается в следующем: процессы и данные сущест-
8
вуют отдельно друг от друга (как в модели деятельности организации, так и в модели программной системы), причем проектирование ведется от процессов к данным.
Также следует отметить, что если в функциональном подходе модели данных и операций разрабатываются относительно независимо друг от друга и только координируются между собой, то объектноориентированный подход предполагает совместное моделирование данных и процессов, при этом модели проблемной области в репозитории постепенно уточняются.
Таким образом, структурная декомпозиция информационной системы на основе объектно-ориентированного подхода отличается от функционально-ориентированного подхода лучшей способностью отражать динамическое поведение системы в зависимости от возникающих событий [7, с. 351].
Основой взаимосвязи между функционально-ориентированным и объектно-ориентированным подходами является общность ряда категорий и понятий (процесс и прецедент использования, сущность и класс и др.). Эта взаимосвязь может проявляться в различных формах.
Выделяют ряд следующих преимуществ объектно-
ориентированного подхода [10]:
1.Использование объектного подхода существенно повышает уровень унификации разработки и пригодность для повторного использования не только программ, но и проектов. Системы зачастую получаются более компактными, чем их структурные эквиваленты, что означает не только уменьшение объема программного кода, но и удешевление проекта за счет использования предыдущих разработок.
2.Объектная декомпозиция уменьшает риск создания сложных информационных систем, так как она предполагает эволюционный путь развития системы на базе относительно небольших подсистем. Процесс интеграции системы растягивается на все время разработки, а не превращается в единовременное событие.
3.Объектная модель позволяет в полной мере использовать выразительные возможности объектных и объектно-ориентированных языков программирования.
Кнедостаткам объектно-ориентированного подхода относятся не-
которое снижение производительности функционирования информаци-
9
онных систем и высокие начальные затраты. Также следует учитывать, что объектно-ориентированный подход не дает немедленной отдачи. Эффект от его применения начинает сказываться после накопления повторно используемых компонентов, отражающих типовые проектные решения в данной области. Таким образом, переход к использованию объектно-ориентированной технологии – это смена мировоззрения, а не просто изучение новых Case-средств и языков программирования.
Объектная декомпозиция существенно отличается от функциональной, поэтому переход на новую технологию связан с дополнительными финансовыми затратами.
В настоящее время функционально-ориентированный подход попрежнему сохраняет свою значимость и достаточно широко используется на практике. На примере языка UML хорошо видно, что его авторы заимствовали то рациональное, что можно было взять из функционального подхода: элементы функциональной декомпозиции в диаграммах прецедентов использования, диаграммах состояний, диаграммах деятельностей.
Функциональный анализ может представлять собой основу для объектно-ориентированного проектирования. К примеру, элементы структур данных из диаграммы потоков данных могут являться кандидатами в классы в диаграммах классов.
Другой формой проявления их взаимосвязи можно считать интеграцию объектной и реляционной технологий. В настоящее время реляционные СУБД являются основным средством реализации крупномасштабных баз данных и хранилищ данных. Реляционная технология используется достаточно долго, освоена большим количеством пользователей и разработчиков. Реляционная модель проста и имеет строгое математическое основание, существует большое разнообразие промышленных средств проектирования, реализации и эксплуатации реляционных БД. Вследствие этого реляционные БД в основном используются для хранения и поиска объектов в так называемых объектно-реляционных системах.
Одним из примеров практической реализации взаимосвязи между функционально-ориентированным и объектно-ориентированным подходами является программный интерфейс между функциональноориентированным Case-средством Silverrun и объектно-ориентированным
Case-средством IBM Rational Rose.
10
