Файл: Применение объектно-ориентированного подхода при проектировании информационной системы(Основы объектно-ориентированного подхода).pdf
Добавлен: 24.04.2023
Просмотров: 225
Скачиваний: 2
Рисунок 15. Визуальное представление композиции в UML
Пример диаграммы классов приведен на рисунке 16 [9].
Рисунок 16. Диаграмма классов «Запрос к серверу»
Диаграммы состояний показывают различные состояния объекта в течение его жизни и причины, которые заставляют объект изменять свое состояние.
Диаграммы состояний рассматривают Объекты как конечные автоматы или конечные автоматы, которые могут находиться в одном из множества конечных состояний и которые могут изменять свое состояние посредством одного из конечного набора причин. Например, объект типа Сервер может находиться в одном из следующих состояний [10]:
- готов;
- ожидает;
- работает;
- выключен.
События, которые могут вызвать изменение состояния объекта:
- объект создан;
- объект получает сообщение об ожидании;
- клиент запрашивает соединение по сети;
- клиент прекращает запрос;
- запрос выполнен и прекращен;
- объект получает сообщение об остановке и т.д.
Состояния являются строительными блоками диаграмм состояний. Состояние принадлежит ровно одному классу и представляет собой сводку значений, которые могут принимать атрибуты класса. UML-состояние описывает внутреннее состояние объекта одного конкретного класса.
Не каждое изменение в одном из атрибутов объекта должно быть представлено состоянием, а только те изменения, которые могут существенно повлиять на работу объекта [9,11].
Существует два специальных типа состояний: начальное и конечное. Они особенные в том, что нет события, которое может привести к тому, что Объект вернется в свое состояние «Начало», так же, как нет события, которое могло бы вывести Объект из его состояния «Конец» после его достижения.
Пример диаграммы состояний приведен на рисунке 17 [10].
Рисунок 17. Диаграмма состояний «Работа сервера»
Диаграммы отношений сущностей (ER Diagrams) показывают концептуальный дизайн приложений баз данных. Они изображают различные сущности (концепции) в информационной системе и существующие отношения и ограничения между ними. Расширение диаграмм отношений сущностей, называемое «Расширенные диаграммы отношений сущностей» или «Расширенные диаграммы отношений сущностей» (EER), используется для включения объектно-ориентированных методов проектирования в диаграммы ER [9,10].
Сущность – это любая концепция в реальном мире с независимым существованием. Это может быть физический объект (например, компьютер, робот) или концептуальный объект (например, университетский курс). У каждой сущности есть набор атрибутов, которые описывают свойства сущности. Стандартных обозначений для изображения диаграмм ER не существует.
На диаграмме ER сущности представлены прямоугольниками с именем сущности вверху, а также могут отображать атрибуты сущности в другом «отделении» внутри прямоугольника (рисунок 18) [10].
Рисунок 18. Визуальное представление объекта в ER-диаграмме
На ER-диаграммах атрибуты сущностей обозначены именами в другом отделе сущности, к которой они принадлежат. Ограничения в ER-диаграммах определяют ограничения для данных в информационной схеме. Выделяют следующие типы ограничений:
Первичный ключ – набор атрибутов, объявленных как первичный ключ, являются уникальными для объекта. Сущность может содержать только один первичный ключ, и ни один из его составляющих атрибутов не может быть равен NULL [10,11].
Уникальный ключ – набор атрибутов, объявленных как уникальные, являются уникальными для объекта. Сущность может иметь много уникальных ограничений. Составляющие атрибуты могут быть NULL. Уникальные ключи и первичные ключи однозначно определяют строку в таблице (объект).
Внешний ключ – это ссылочное ограничение между двумя таблицами. Внешний ключ идентифицирует столбец или набор столбцов в одной таблице, которая ссылается на столбец или набор столбцов в другой таблице. Столбцы в указанной таблице должны образовывать первичный ключ или уникальный ключ.
Проверочное ограничение – это условие, которое определяет допустимые данные при добавлении или обновлении записи в таблице реляционной базы данных. Проверочное ограничение применяется к каждой строке в таблице. Ограничение должно быть предикатом. Оно может ссылаться на один или несколько столбцов таблицы. Пример: Цена > = 0 [9,11].
Пример ER-диаграммы приведен на рисунке 19.
Рисунок 19. ER-диаграмма «Кредит в банке»
2.2 Примеры программного обеспечения для проектирования информационных систем
Lucidchart – это проприетарная веб-платформа, которая позволяет пользователям совместно работать над составлением, редактированием и распространением диаграмм [12].
Lucidchart работает в браузерах, которые поддерживают HTML5. Это означает, что она не требует обновлений стороннего программного обеспечения, такого как Adobe Flash.
Присутствует функция импорта файлов Visio, что, безусловно, является плюсом. Помимо UML, Lucidchart также поставляется с шаблонами чертежей для ER, моделирования процессов, сетевых диаграмм и многого другого.
Авторы утверждают, что имеют более 8 миллионов пользователей и недавно они собрали более $36 миллионов финансирования, поэтому от Lucidchart можно ожидать много новых и интересных функций.
GenMyModel был основан как инструмент моделирования только на UML, но с тех пор он расширился и теперь охватывает бизнес-моделирование с поддержкой Archimate и BPMN [13].
GenMyModel предлагает централизованное хранилище моделей для групп (с управлением правами доступа), что позволяет легко и одновременно моделировать.
Это больше инструмент для моделирования, чем для рисования (с его плюсами и минусами, в зависимости от того, как вы планируете использовать свои модели). Таким образом, ключевым отличием GenMyModel является его поддержка экспорта моделей в формате XMI («стандартный» формат для обмена моделями) и его возможности генерации кода. Интерфейс GenMyModel приведен на рисунке 20 [13].
Команда разработчиков программного продукта Gliffy утверждает, что в нем уделено особое внимание аспектам совместной работы и контроля версий, поэтому Gliffy является «наиболее широко используемым онлайн-приложением для создания диаграмм». Gliffy поддерживает все диаграммы UML вместе с множеством других видов диаграмм, включая сильную поддержку моделей процессов BPMN. Главная страница сайта приведена на рисунке 21 [14].
Рисунок 20. Интерфейс GenMyModel
Продукт поставляется с плагинами для Confluence и Jira, что обеспечивает интеграцию с данными инструментами. Это важно, если они используются и в будущем модели будут интегрированы в оставшуюся часть процесса обсуждения/разработки.
Рисунок 21. Главная страница сайта Gliffy
Продукт draw.io пользователи выбирают за его простоту. После перехода на сайт draw.io в браузере, сразу откроется пустой холст, и можно начинать рисовать. Он поставляется с формами для базового моделирования UML, ER и BPMN. Тем не менее, это яркий пример инструмента, который не совсем понимает семантику того, что рисует пользователь, так что можно в основном делать все и создавать самые различные диаграммы [15].
Draw.io хорошо интегрируется с Google Drive, Dropbox, OneDrive и другими сервисами для автоматического сохранения моделей в выбранном расположении. Draw.io – программное обеспечение с открытым исходным кодом, построенное с использованием библиотеки mxGraph.
Интерфейс программного продукта показан на рисунке 22 [15].
Рисунок 22. Интерфейс draw.io
Creately обеспечивает совместную работу в режиме реального времени. Продукт предлагает более 50 типов диаграмм и тысячи примеров для начала работы [16].
Работать можно в автономном режиме, а впоследствии синхронизировать свою работу. Единственное «но», это то, что на сегодняшний день для работы требуется установить Flash. Это является минусом, поскольку, так как Adobe планирует отказаться от Flash в будущем. Это оттолкнет потенциальных пользователей, т.к. инструмент не имеет будущего. Главная страница сайта продукта приведена на рисунке 23 [16].
Рисунок 23. Главная страница сайта Creately
Cacoo сосредоточен на всех видах облачных диаграмм. Действительно на «чертеже» (а не на моделировании). Тем не менее, он имеет некоторые интересные функции, такие как возможность хранения нескольких версий диаграммы для отслеживания изменений и возможность оставлять комментарии, чтобы оставить отзыв непосредственно на диаграммах.
Cacoo поддерживает диаграммы вариантов использования, последовательности, класса, активности и конечного автомата. Главная страница сайта показана на рисунке 24 [17].
UMLetino простой и бесплатный онлайн UML-инструмент для быстрого создания UML-диаграмм. Он работает в браузере и не требует установки. UMLetino основан на UMLet (доступен как самостоятельный инструмент или плагин Eclipse). Диаграммы могут быть экспортированы как XML или файлы изображений [18].
Рисунок 24. Главная страница сайта Cacoo
Несмотря на ограничения (среда моделирования явно не соответствует уровню по сравнению с графическим качеством и мощным интерфейсом некоторых других инструментов), если необходим бесплатный и простой в использовании онлайн-инструмент UML, это определенно вариант для рассмотрения. Интерфейс продукта приведен на рисунке 25 [18].
Рисунок 25. Интерфейс UMLetino
ЗАКЛЮЧЕНИЕ
Объектно-ориентированный подход к проектированию объединяет данные и поведение компонентов информационных систем посредством свойств и методов в классы, структурируя реализуемый код.
Объектно-ориентированное проектирование представляет собой итеративный процесс, используемый для создания системы взаимодействующих объектов, что помогает разработчикам программного обеспечения повысить качество и улучшить характеристики разрабатываемого продукта. Однако, сложность данных процессов при проектировании больших информационных систем высока и увеличения эффективности выполняемых работ в процессе описания системы, прибегают к различным средствам моделирования. В частности, наиболее часто используется унифицированный язык моделирования (UML). UML, описывая диаграммами в процессе моделирования структуру системы, динамику и состояния её поведения, позволяет в значительной степени упростить процесс проектирования.