Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (Объектно-ориентированный подход: суть метода, преимущества и недостатки).pdf
Добавлен: 28.03.2023
Просмотров: 297
Скачиваний: 4
Язык UML имеет сложную иерархическую структуру, которая показана на рис.1. [1]
Рис. 1 – Структура языка UML
Структура языка показывает, что первый иерархический уровень языка UML составляют сущности, отношения между сущностями и наглядные диаграммы.
В языке UML имеется четыре вида сущностей:
- структурная сущность;
- поведенческая сущность;
- группирующая сущность;
- аннотационная сущность. [3]
Данные виды сущности составляют второй уровень структурного дерева языка UML.
Понятие «структурная сущность» объединяет семь видов пиктограмм: классы, активные классы, интерфейсы, прецеденты, кооперации, компоненты и узлы. Пиктограммы – это логические кирпичики, которые являются составляющими UML-диаграмм. [7]
Поведенческие сущности делятся на два вида диаграмм: взаимодействия, автоматы.
Группирующие и аннотационные сущности имеют по одному виду пиктограмм, которые называются пакетами и примечаниями соответственно. [3]
Вторую ветвь структурного дерева языка UML составляют отношения. Однонаправленные отношения представляются на UML-диаграммах стрелками различных видов, двунаправленное отношение представляется линией.
Третью ветвь структурного дерева языка UML составляют диаграммы.
UML-диаграмма – это графическое представление набора элементов, которое изображается чаще всего в виде связанного графа с вершинами (сущности) и ребрами (отношения). [4]
Диаграммы рисуются для визуализации системы с разных точек зрения.
Язык UML содержит стандартный набор диаграмм и нотаций различных видов. В UML используются следующие виды диаграмм:
- Структурные диаграммы: диаграммы классов, диаграммы компонентов; диаграммы композитной (составной) структуры, диаграммы развёртывания, диаграммы объектов, диаграммы пакетов.
- Диаграммы поведения: диаграммы деятельности, диаграммы состояний, диаграммы вариантов использования, диаграммы взаимодействия. [4]
Структура диаграмм UML представлена на рис.2. [1]
Рис. 2 – Структура диаграмм UML
Диаграмма классов – это статическая структурная диаграмма, которая описывает структуру системы: классы, атрибуты классов, методы и зависимости между классами. [4]
Диаграммы классов предназначены для моделирования статической структуры классов системы, а также связей между ними. При моделировании систем данный тип диаграмм используется чаще всего.
Диаграмма компонентов – это статическая структурная диаграмма, показывающая разбиение системы на структурные компоненты, а также связи между компонентами. В качестве физических компонент могут выступать библиотеки, файлы, исполняемые файлы, модули, пакеты и т.д. [3]
Диаграмма составной структуры – это статическая структурная диаграмма, демонстрирующая внутреннюю структуру классов, а также, если это возможно, взаимодействие частей внутренней структуры класса. Диаграммы композитной структуры можно использовать совместно с диаграммами классов.
Диаграмма объектов позволяет продемонстрировать полный или частичный снимок моделируемой системы в некоторый определенный момент времени. [4]
Диаграмма пакетов – это структурная диаграмма, содержащая пакеты и отношения между ними. Диаграммы пакетов служат для организации элементов в группы по какому-либо признаку, для того чтобы упростить структуры и организации работы с моделью системы.
Диаграмма деятельности – это диаграмма, на которой показано разложение некоторой деятельности на составные части. [7]
Диаграммы деятельности используются для моделирования технологических и бизнес-процессов, последовательных и параллельных вычислений. Пример диаграммы деятельности представлен на рис.3.
Рис. 3 – Пример диаграммы деятельности
Диаграмма автомата – это диаграмма, представляющая конечный автомат с простыми состояниями, переходами и композитными состояниями. [3]
Диаграмма прецедентов или диаграмма вариантов использования – это диаграмма, отражающая отношения, которые существуют между факторами и прецедентами. [1]
Основная задача данной диаграммы заключается в представлении единого средства, дающего возможность заказчику, конечному пользователю и разработчику совместно обсудить функциональность и поведение проектируемой системы. Пример диаграммы прецедентов приведен на рис.4. [7]
Рис. 4 – Пример диаграммы прецедентов
Диаграмма последовательности – это диаграмма, изображающая упорядоченное во времени взаимодействие объектов. На такой диаграмме изображаются объекты, участвующие во взаимодействии, и последовательность сообщений, которыми они обмениваются. [7]
Основное назначение UML – это предоставление формального, удобного и универсального средства, которое позволяет до некоторой степени снизить риск расхождений в толковании спецификаций. [1]
Выделяют три основных варианта использования языка UML: рисование, моделирование, разработка (рис.5).
Рис. 5 – Варианты использования языка UML
Рисование предполагает изображение UML-диаграмм с целью обдумывания, обмена идеями между людьми, документирования и т.д.
Моделирование предполагает создание и изменение модели системы в терминах элементов моделирования, предусматриваемых метамоделью UML.
Разработка предполагает детальное моделирование, реализацию и тестирование приложения в терминах UML. [3]
Современные средства для работы с UML поддерживают указанные варианты использования, но не в равной степени. В частности, все средства умеют визуализировать диаграммы UML, некоторые средства позволяют строить модели, но только немногие средства могут генерировать исполняемый код. [3]
К преимуществам UML можно отнести следующее:
- объектная ориентированность UML делает методы описания результатов анализа и проектирования систем семантически близкими к методам программирования на современных ООЯП;
- возможность описания системы практически со всех допустимых точек зрения с учетом разных аспектов поведения системы;
- простота чтения диаграмм UML;
- расширяет и позволяет вводить собственные текстовые и графические стереотипы, способствующие его применению не только в сфере программной инженерии;
- широкое распространение и динамичное развитие. [4]
К недостаткам UML можно отнести следующее:
- избыточность языка (UML включает много избыточных или практически неиспользуемых диаграмм и конструкций).
- неточная семантика (неточность описания UML приводит к несовместимости инструментов из-за уникального трактования спецификаций);
- проблемы при изучении и внедрении;
- «только код отражает код» (UML ценится при подходах, которые компилируют модели для генерирования исходного или выполнимого кода, однако любой сгенерированный код будет ограничен тем, что может разглядеть или предположить интерпретирующий UML инструмент);
- кумулятивная нагрузка/Рассогласование нагрузки;
- UML – это язык моделирования общего назначения, пытающийся достигнуть совместимости со всеми возможными языками разработки. [7]
Выводы:
Язык UML представляет собой общецелевой язык визуального моделирования, разработанный для спецификации, визуализации, документирования и проектирования компонентов ПО, бизнес-процессов и т.д.
Язык UML основан на некотором числе базовых понятий, которые могут быть изучены и применены большинством разработчиков и программистов, которые знакомы с методами ООАиП.
Конструктивное использование языка UML основывается на понимании общих принципов моделирования сложных ИС, а также особенностей процесса ООАиП в частности. Выбор выразительных средств построения моделей сложных ИС предопределяет те задачи, которые можно решить с использованием данных моделей.
Глава 3. Обзор программных средств, реализующих объектно-ориентированный подход
Язык UML поддерживается практически всеми мировыми производителями CASE-средств. Хорошее объектно-ориентированное CASE-средство должно содержать четыре основных блока: блок анализа, блок проектирования, блок разработки, блок инфраструктуры. Одним из лучших CASE-средств на сегодняшний день является семейство программ Rational Rose, разработанное фирмой Rational Software Corporation. [16]
Рассмотрим некоторые CASE-средства, имеющие поддержку UML.
1. Microsoft Visio
Microsoft Visio – это средство для построения диаграмм, разработанное компанией Microsoft. MS Visio позволяет преобразовывать технические концепции и бизнес-процессы в определенную визуальную форму, однако данный пакет предназначен только для рисования диаграмм. [12]
Изобразительные же возможности Visio действительно весьма широки:
- Используя предопределенные фигуры Visio Professional, drag-and-drop и мастера, можно быстро и просто создавать понятные и информативные диаграммы.
- Возможности Visio можно легко расширять, используя новые шаблоны бизнес-диаграмм.
- В Visio можно прототипировать интерфейс приложений с помощью встроенных шаблонов пользовательского интерфейса Microsoft Windows XP, что позволяет создавать модель пользовательского интерфейса в стандартном Windows XP-стиле.
- С помощью шаблонов UML можно создавать UML-диаграммы статической структуры ПО.
- и т.д. [5]
Однако MS Visio не является полноценным средством моделирования, а является программой для создания иллюстраций, умеющей также рисовать диаграммы UML. [5]
Интерфейс MS Visio очень похож на интерфейс других программ семейства MS Office (рис.6). [15]
Рис. 6 – Интерфейс MS Visio
К особенностям MS Visio можно отнести следующее:
- возможность документирования и анализа бизнес-процессов;
- возможность отслеживания комментариев членов команды;
- поддержка Tablet PC;
- наличие инструментов для мозгового штурма;
- возможность создания календарей;
- простое создание и использование технических видов диаграмм;
- быстрое создание и редактирование диаграмм;
- поддержка множества локальных языков;
- интеграция с другими приложениями MS Office. [12]
2. IBM Rational Rose
CASE-средство IBM Rational Rose представляет собой современный интегрированный инструмент для анализа, проектирования архитектуры, моделирования и разработки ИС. В Rational Rose язык UML стал базовой технологией визуализации и разработки систем, чем и обуславливается популярность и стратегическая перспективность данного продукта. [1]
Rational Rose имеет несколько различных вариантов комплектации, которые отличаются между собой предоставляемыми возможностями. Базовым вариантом в настоящие дни является платформа Rational Rose Enterprise Edition, обладающая наиболее полными функциональными возможностями.
Являясь простым и при этом мощным CASE-средством для визуальной разработки ИС любого класса, программа Rational Rose позволяет создавать, изменять, а также проверять на корректность разрабатываемые модели. [14]
Интерфейс программы Rational Rose представлен на рис.7. [16]
Рис. 7 – Интерфейс Rational Rose
Одним из преимуществ данного продукта является возможность использования UML-диаграмм. В Rational Rose представлены следующие типы диаграмм:
- диаграммы прецедентов (рис.8);
- диаграммы топологии;
- диаграммы классов (рис.9);
- диаграммы компонент;
- диаграммы активности;
- диаграммы состояний;
- диаграммы взаимодействия. [1]
Рис. 8 – Диаграмма прецедентов
Рис. 9 – Диаграмма классов
Программа Rational Rose предоставляет огромные возможности для проектирования информационных систем с использованием лучших архитектурных принципов. [14] Rational Rose предоставляет различные возможности следующим категориям разработчиков ИС:
- бизнес-аналитики: возможность детального описания и анализа бизнес-процессов предметной области;
- системные аналитики: возможность разработки необходимого функционала ИС, максимально удовлетворяющего запросы заказчика, используя описания бизнес-аналитиков;
- архитекторы: возможность создания мощной и гибкой архитектуры ИС;
- аналитики по разработке баз данных (БД): возможность визуального проектирования и генерирования БД любого размера. [1]