Материалы XIII Международной научно-технической конференции
Информатика, управляющие системы, математическое и компьютерное моделирование
47
УДК 004.415

Разработка архитектурной модели системы управления информационными ресурсами организаций

Н.К. Андриевская*1, А.И. Секирин*2, О.В. Ченгарь*3
*1 ст. преп., Донецкий национальный технический университет,
nataandr@yandex.ru, OrcID: 0000-0002-9118-5957, SPIN-код: 4781-6958,
*2 к.т.н., доцент, Донецкий национальный технический университет,
alx09@list.ru, OrcID: 0000-0001-9489-8226, SPIN-код: 1158-6791,
*3 к.т.н., доцент, ФГАОУ ВО "Севастопольский государственный университет"
ovchengar@sevsu.ru, OrcID: 0000-0003-0176-8890, SPIN-код: 8436-5598
Аннотация

Андриевская Н.К., Секирин А.И., Ченгарь О.В. Разработка архитектурной модели системы управления информационными ресурсами организаций. Статья рассматривает вопросы архитектурного анализа и создания структурных архитектурных моделей при проектировании информационных систем (ИС). С помощью аппарата формализации была описана архитектура инструментального комплекса на базе известной архитектурной модели “4+1”. В ходе проектирования системы управления информационными ресурсами (СУИР) научно-образовательных организаций были реализованы следующие диаграммы архитектурной модели с использованием нотации UML: функциональная модель ИС (use case diagram), структурная модель системы (package diagram), обобщенная компонентная модель системы (component diagram), модель размещения компонентов системы (deployment diagram), а также формализована обобщенная структурно-функциональная модель системы и ее программных модулей (structural diagram).

Ключевые слова: архитектурная модель, архитектурный анализ, проектирование систем, представления, UML-диаграммы.

Введение

В настоящее время научными и научно-образовательными организациями уже накоплен большой объем информационных ресурсов по различным курсам, по результатам научной и методической работы, а также кафедральной документации в электронном виде. Однако эти данные слабо структурированы, плохо систематизированы, рассредоточены по различным ресурсам, библиотекам и архивам, что существенно ограничивает к ним доступ. Таким образом, возникает необходимость создания современного интеллектуального инструмента, поддерживающего повседневную профессиональную деятельность сотрудника организации [1].

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

Важным шагом является установление общего понимания целей, требований, проблем проектирования, поведения существующей системы, архитектурных элементов и контекста, таких как предположения, ограничения и компромиссы. Команды архитекторов и разработчиков преимущественно используют неструктурированные подходы, в частности, дискуссии для достижения консенсуса в ходе архитектурного анализа. Затем в процессе разработки архитектурных моделей происходит итерационное обновление базовых моделей в связи с возникновением новых требований и идей (см. рис. 1).

Итерационный процесс архитектурного анализа
Рисунок 1 – Итерационный процесс архитектурного анализа

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

Создание формальных моделей - сложный и трудоемкий процесс, тем более архитектурных моделей. Одним из известных и широко распространенных является подход к описанию архитектуры с использованием видов (представлений). Филипп Крухтен описал модель представления архитектуры программного обеспечения "4+1” для описания архитектуры сложных программных систем в 1995 году [2]. Дальнейшее развитие эта модель получила в разработках модели Rational Unified Process, а также в стандарте IEEE 1471-2000/ISO 42010. В оригинальной модели "4+1" используются пять видов: использования (Use Case View), логических представлений (Logical view), компонентов (Development view), развертывания/размещения (Physical view), динамическое представление (Process view). Каждый вид модели "4+1" описывает процесс с определенной точки зрения. Модель изменяемая, т.е. можно ограничивать количество предлагаемых видов, или расширять, добавляя другие виды для описания системы с другой точки зрения.

Разработаем структурную архитектурную модель для системы управления информационными ресурсами организаций (СУИР), опираясь на аппарат формализации и архитектурную модель "4+1".

Разработка структурной архитектурной модели ИС

Взяв за основу известную архитектурную модель "4+1", модифицируем ее, уделив в первую очередь внимание структурным и статическим аспектам построения ИС. Описание полученной архитектурной модели сведем в таблицу 1.

Таблица 1 – Виды и диаграммы архитектурной модели
Виды архитектурной моделиДиаграммы модели
1Component view‒ это вид, описывающий структуру системы на уровне компонентов, в качестве которых могут выступать пакеты, файлы, библиотечные и пакетные файлы, а также разработанные программные модули и функциональные модули.Диаграмма компонентов (component diagram)
Обобщенная структурно-функциональная модель системы (Structural model)
2Use Case View использования ‒ описывает поведенческие механизмы системы в терминах вариантов использования с точки зрения внешних по отношению к системе действующих лиц и функциональность системы в целом.Диаграмма вариантов использования (use case diagram)
3Deployment view – вид с точки зрения развертывания, показывает связь технических вычислительных средств и размещенных на них программных компонентов.Диаграмма развертывания (deployment diagram)
4Model Management view – дополнительное представление управления моделью, отражает внутреннюю организацию модели, описывая ее разбиение на пакеты и указывая отношения между ними.Диаграмма пакетов (package diagram)

Диаграммы модели представляют собой средство для визуализации. Таким образом, архитектурная модель СУИР состоит из ряда формальных моделей, представленных в виде графических диаграмм нотации UML, а также дополнительной Structural diagram, в комплексе описывающих структуру и функциональность разрабатываемой ИС (см. рис. 2).

Набор видов и диаграмм архитектурной модели
Рисунок 2 – Набор видов и диаграмм архитектурной модели

Одной из первых задач, которую надо решить при архитектурном проектировании ― определение существенно значимых требований. Роль архитектора систем заключается в том, чтобы создать целевую архитектуру, подходящую для удовлетворения основных потребностей пользователя. Поэтому необходимо изучить сценарии и определить факторы, которые оказывают существенное влияние на будущий архитектурный проект. Для описания функциональности ИС, взаимодействия пользователя с внешними информационными системами на практике обычно используются USE-CASE диаграммы в нотации UML — это термин, посвященный системному проектированию [3]. Диаграмма вариантов использования представляет собой граф специального вида, который является формализованной нотацией для представления конкретных вариантов использования, актеров, возможно некоторых интерфейсов, и отношений между этими элементами [4]. Вариант использования представляет собой некоторый сценарий или отдельную функцию, а актер описывает или пользователя, взаимодействующего с вариантом использования или некоторую внешнюю систему.

В работе [1] были разработаны и приведены обобщенная функциональная модель и абстрактная архитектура программного комплекса системы управления профессиональными знаниями сотрудников вуза (см. рис. 3), которая включает в себя 15 основных модулей. Описание программных модулей сведем в табл. 2.

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

Диаграмма вариантов использования (use-case diagram)
Рисунок 3 – Диаграмма вариантов использования (use-case diagram)
Таблица 2 – Список программных модулей системы
Package NameDescribe
1.P1 M1Модуль поиска информации в сети Интернет
2.P1 M2Модуль поиска информации по хранилищу данных
3.P1 M3Модуль экспертного ввода данных
4.P1 M4Модуль импорта данных
5.P2 M5Модуль интеграции данных и модели
6.P2 M6Интеллектуальный модуль тематической классификации
7.P2 M7Модуль автоматического разбора текста
8.P2 M8Модуль проверки на уникальность
9.P3 M9Редактор онтологий
10.P3 M10Редактор классификаторов
11.P3 M11Редактор метаданных
12.P4 M12Модуль интеллектуального анализа данных и вывода знаний
13.P4 M13Модуль семантической сети
14.P4 M14Модуль продукции новых и комбинированных знаний
15.P5 M15Интерфейс пользователя

Модульная структурная модель системы (package diagram)

Диаграмма пакетов используется, чтобы изобразить зависимости между пакетами, которые составляют модель [5]. Основная цель — показать взаимосвязь между различными крупными компонентами, которые образуют сложную систему. Пакет (package) объединяет некоторые элементы диаграммы UML в единую структурную единицу. В нашем случае пакеты представляют собой отдельные независимые подсистемы, реализующие основные функции системы управления ИР.

В работах [6,7] были изучены аспекты применения онтологий при проектировании ИС научно-образовательных организаций и обоснована целесообразность онтологического подхода к разработке системы обработки данных научных и научно-образовательных организаций.

Процессы управления знаниями базируются на следующих основных принципах: приобретения, представления, хранения, извлечения знаний. Структура системы базируется на метамодели, приведенной в работе [1], и представляет собой типичную структуру системы управления знаниями (СУЗ), построенную на онтологическом подходе. Основными компонентами предлагаемой технологии создания системы являются: блоки приобретения данных, конвейер для обработки и классификации данных, а также блок выдачи и продукции знаний. Поскольку ядром, базовым компонентом метамодели системы является его онтология, то центральным блоком системы является онтологический редактор, который предназначен для реализации основных операций по работе с онтологиями, в том числе и процедур автоматического и полуавтоматического пополнения знаний.

Основные структурные модули (пакеты), входящие в состав проектируемой СУИР, следующие: acquiring knowledge; knowledge discovery and classification of knowledge; knowledge extraction; ontology editor; interface. Модульная структурная модель системы (package diagram) представлена на рис. 4, а назначение и описание основных пакетов сведено в табл. 3.

Модульная структурная модель системы (package diagram)
Рисунок 4 – Модульная структурная модель системы (package diagram)
Таблица 3 – Описание основных пакетов системы
Name PackageDescribe
1P1 acquiring knowledgeПодсистема поиска и выявления знаний предназначена для поиска данных из различных источников, как структурированных данных, так и неструктурированных данных, например, документы и файлы различных форматов, веб-ресурсы, дата сеты, семантически размеченные файлы, БД и др.
2P2 knowledge discovery and classification of knowledgeПодсистема приобретения знаний предназначена для получения знаний, извлечения неформализованных знаний из разнородных источников информации с помощью методов статистической обработки, семантического анализа, технологий Text Mining и Data Mining, а также экспертных моделей.
3P3 knowledge extractionПодсистема интеграции, хранения и извлечения данных предназначена для организации эффективной работы с хранилищем данных. Основные функции: занесение собранных структурированных материалов, онтологий и извлеченных знаний из данных в общее интегрированное хранилище, интеллектуальный поиск данных по хранилищу, возвращающий сведения об информационном объекте, т.е. некоторые знания.
4P4 ontology editorРедактор онтологий – ориентирован на поддержку основных операций для работы с онтологией: создание, модификация и удаление отдельных элементов онтологии, решение вопросов импорта и экспорта в различные форматы, а также вопросов синхронизации онтологической модели и структуры хранилища данных.
5P5 InterfaceСвязующий структурный блок, реализующий интерфейс системы и обеспечивающий взаимное функционирование всех остальных подсистем.

Обобщенная компонентная модель системы (component diagram)

Диаграмма компонентов (Component diagram) — статическая структурная диаграмма, показывает разбиение программной системы на структурные компоненты и связи (зависимости) между компонентами [8]. Сomponent diagram предназначена для моделирования иерархии компонентов (а также модулей, пакетов и подсистем), что позволяет определить структуру разрабатываемой системы (см. рис. 5).

Компонентная модель системы (component diagram)
Рисунок 5 – Компонентная модель системы (component diagram)

В качестве физических компонентов могут выступать файлы, библиотеки, модули, исполняемые файлы, пакеты и др. В нашем случае component diagram описывает основные пакеты, описание которых приведено в табл. 3 и программные модули, описание которых сведено в табл.2.

Обобщенная структурно-функциональная модель системы Structural model

Формализуем обобщенную компонентную модель системы, наполнив ее функциональным содержимым и назовем обобщенной структурно-функциональной моделью системы (structural model). Эта модель представляет собой комбинацию из некоторого конечного множества пакетов Pi, каждый из которых включает в себя некоторый набор программных модулей Mj. В свою очередь каждый j-й модуль реализует некоторое количество функций F(Pi).

Таким образом, F(MODEL) - обобщённая функция системы, определяется следующим образом:

MODEL= ΣPi, где i=1...n; Pi - некоторый программный пакет; (1)
P=ΣMj , где j=1...m; Mj- некоторый программный модуль; (2)
F(P)= UF(Mk), где k=1...l; F(Mk) - функции k-го программного модуля; (3)
F(MODEL)= UF(Pi), где i=1...n; F(Pi)-функции i-го программного пакета; (4)

Сведем описание всех функций ИС в таблицу 4.

Таблица 4 – Основные функции системы
NameName
F1поиск по ключевым словамF33подсчитывается кол-во вхождений каждого токена
F2поиск с использованием WordNetF34формирование топ-списка концептов
F3поиск с использованием MediaWikiF35атрибутный метод
F4поиск с использованием онтологииF36структурный метод
F5расчет семантической близости концептовF37формирование результата
F6формирование списка поисковой выдачиF38импорт онтологий RDF
F7поиск в ElibraryF39импорт онтологий OWL
F8поиск GoogleAcademyF40ввод онтологий вручную
F9поиск на сайте «Информатика и кибернетика»F41конвертация модели
F10поиск на сайте конференции «ИУСКМ»F42верификация(синхронизация) модели
F11ввод поискового запросаF43визуализация модели
F12формирование информацииF44сохранение модель
F13формирование отчетовF45ввод метаданных
F14ручной ввод новых данныхF46корректировка метаданных
F15импорт данныхF47удаление метаданных
F16редактирование данныхF48ввод классификаторов
F17удаление данныхF49корректировка классификаторов
F18сохранение данныхF50удаление классификаторов
F19извлечение текстовой информации из docx-файлаF51предобработка данных
F20извлечение текстовой информации из pdf-файлаF52классификация методом логистической регрессии с использованием векторов слов
F21извлечение текстовой информации из rtf-файлаF53логистической регрессии с использованием метода TF-IDF
F22извлечение текстовой информации из doc-файлаF54классификация методом наивного Байесовского подхода
F23сохранение данных в хранилищеF55классификация методом случайного леса
F24интеллектуальный модуль оценки качества моделиF56кросс-валидация
F25интеграция данныхF57обход дерева
F26парсинг текстаF58отображение текущих данных онтологии
F27удаление информации, не подлежащей разбору (пунктуационные знаки)F59модуль продукции знаний
F28токенизация (разбитие текста на леммы - слова)F60модуль получения интегрированных знаний
F29расчет векторов (метод «мешок слов»)F61обработка меню системы
F30вывод результатовF62работа с личным кабинетом пользователя
F31сохранение результатовF63аутентификация
F32парсинг текста с помощью регулярных выраженийF64регистрация

Опишем функциональную модель каждого программного модуля (см. табл. 5).

Таблица 5 – Описание функций программных модулей
name model
1M1- множество функций модуля поиска информации в сети Интернет
F(M1) = {F1, F2, F3, F4, F5, F6, F7, F8, F9, F10}
2M2- множество функций модуля поиска информации по хранилищу данных
F(M2) = {F1, F4, F5, F11, F12, F13}
3M3- множество функций модуля экспертного ввода данных
F(M3) = {F14, F15, F16, F17, F18}
4M4- множество функций модуля импорта данных из семантически размеченных и шаблонизированных документов
F(M4) = {F5, F6, F19, F20, F21, F22, F23}
5M5- множество функций модуля интеграции данных и модели
F(M5) = {F5, F24, F25}
6M6- множество функций модуля тематической классификации
F(M6) = {F26, F27, F28, F29, F30, F31}
7M7- множество функций модуля автоматического разбора текста
F(M7) = {F27, F28, F30, F31, F32, F33, F34}
8M8- множество функций модуля проверки на уникальность
F(M8) = {F27, F28, F32, F35, F36, F37}
9M9- множество функций модуля редактор онтологий
F(M9) = {F38, F39, F40, F41, F42, F43, F44}
10M10- множество функций модуля редактор метаданных
F(M10) = {F45, F46, F47}
11M11- множество функций модуля редактор классификаторов
F(M11) = {F48, F49, F50}
12M12- множество функций модуля интеллектуального анализа данных и вывода знаний
F(M12) = {F51, F52, F53, F54, F55}
13M13- множество функций модуля семантической сети
F(M13) = {F43, F56, F57}
14M14- множество функций модуля продукции новых и комбинированных знаний
F(M14) = {F58, F59}
15M15- множество функций модуля интерфейса пользователя
F(M15) = {F60, F61, F62, F63}

Исходя из выше приведенных выражений 1-4 получаем:

MODEL= {P1, P2, P3, P4, P5}

P1= {M1, M2, M3, M4};

P2= {M5, M6, M7, M8};

P3= {M9, M10, M11};

P4= {M12, M13, M14};

P5={M15}

F(P1) =F(M1) U F(M2) U F(M3) U F(M4);

F(P2) =F(M5) U F(M6) U F(M7) U F(M8);

F(P3) =F(M9) U F(M10) U F(M11);

F(P4) =F(M12) U F(M13) U F(M14);

F(P5) =F(M15);

F(MODEL)= F(P1) UF(P2) UF(P3) UF(P4) UF(P5)

Модель размещения компонентов системы (deployment diagram)

Диаграммы deployment diagrams (размещения/развертывания) используются для моделирования физической архитектуры системы [8]. Диаграмма отображает аппаратные узлы и программные модули, и связи между ними. Узел (node) представляет собой некоторый физически существующий элемент системы, обладающий некоторым вычислительным ресурсом. Графически на диаграмме развертывания узел изображается в форме трехмерного куба. Узел имеет собственное имя, которое указывается внутри этого графического символа.

На данной диаграмме хорошо просматривается трехуровневая клиент-серверная архитектура приложения. Особенностью является физическое отделение данных от программ (сервер приложения), обрабатывающих эти данные. Такое разделение программных компонент позволяет оптимизировать нагрузки как на сетевое, так и на вычислительное оборудование комплекса. Компоненты трехуровневой архитектуры, с точки зрения программного обеспечения, реализуют сервера БД, Web-сервера и браузеры в качестве Web-клиентов.

Опишем взаимодействие компонентов трехуровневой архитектуры клиент-серверного приложения. Сервер БД представлен Cache-сервером Ontology Server, роль сервера приложений играет «Web Server», роль клиента «ClientWS#1» выполняет компьютер с клиентским ПО (см. рис 6).

Модель размещения компонентов системы (deployment diagram)
Рисунок 6 – Модель размещения компонентов системы (deployment diagram)

Никаких ограничений на количество клиентских станций не накладывается. На клиентском ПК установлен любой браузер, например Operа, и локально установленный компонент Rich Java Script Ui, задействованный в обмене данных с сервером данных.

Сервер приложений представляет веб сервер Apache с установленным серверным ПО. Разработка серверного ПО проводилась с использованием языка PHP7.0 и различных фреймворков и библиотек, например phpmorphy, phpquery-single, adam-lutka/php-wndb, php-text-analysis, pdfparser, wikibase-api, ext-json, ext-curl, ext-zip, PHPCache и др.

На рис. 5 показана архитектура узла «Web Server» при развертывании в условиях конкретной организации. На сервере уже функционирует веб-сервер Windows Server IIS, который используется для решения других задач и нет возможности использовать еще один узел. Для работы нашего программного комплекса пришлось установить веб сервер Apache для работы с PHP и различными фреймворками на том же физическом узле и настроить на различные порты для обеспечения совместного функционирования.

Узел «OntologyServer» представляет собой сервер данных CACHE InterSystems IRIS, который представляет собой современную платформу для работы с многомерными данными, ориентированную для работы в среде Веб-пространства и использующей в работе встроенный HTTP Server.

Взаимодействие между узлами «ClientWS#1» и «Web Server», а также узлами «Web Server» и «OntologyServer» осуществляется стандартным образом с помощью HTTP – запросов поверх сетевого протокола TCP/IP. Передача данных происходит в JSON формате через взаимодействие компонета Server RESTFull Brocker, входящего в состав CACHE InterSystems IRIS и компонента Rich Java Script Ui, установленном на клиенте.

Выводы

В статье приводится подход на базе известной архитектурной модели “4+1” к разработке модели системы, которую можно рассматривать как совокупность архитектурно - конструкторских решений, формирующих результирующее программное решение. Была описана структурная архитектурная модель, представляющая собой набор следующих диаграмм: функциональную модель (use-case diagram), структурную модель системы (package diagram), обобщенную компонентную модель системы (component diagram), модель размещения компонентов системы (deployment diagram) с помощью нотации UML. Приведено формализованное описание структурно-функциональных моделей отдельных программных блоков и всей системы в целом (structural diagram). Описанная структурная архитектурная модель может использоваться при проектировании различных систем управления информационными и библиотечными ресурсами, а также применяться в различных системах управления знаниями.

Литература

1. Н.К. Андриевская. Основные принципы и подходы при разработке системы управления профессиональными знаниями сотрудников вуза / Андриевская Н.К. // Информатика и кибернетика. 2019. № 4 (18). – С. 49-56.
2. P. B. Kruchten, "The 4+1 View Model of architecture," in IEEE Software, vol. 12, no. 6, pp. 42-50, Nov. 1995, doi: 10.1109/52.469759.
3. Светличная В.А. Разработка функциональной структуры логистической системы формирования заказов для интернета-магазина / В.А. Светличная, Н.К. Андриевская, К.Ю. Чаленко // Информатика и кибернетика. - Д.: ДонНТУ, 2017. - № 3(9). - С. 111-118.
4. Жан-Луи Марешо (Jean-Louis Maréchaux). Определение архитектуры приложений с помощью Rational Software Architect. [Электронный ресурс] / – Режим доступа: https://www.ibm.com/developerworks/ru/library/r-define-application-architecture-rational-software-architect1/index.html (дата обращения: 16.10.2020).
5. Простое руководство по UML-диаграммам и моделированию баз данных. [Электронный ресурс] / – Режим доступа: https://www.microsoft.com/ru-ru/microsoft-365/business-insights-ideas/resources/guide-to-uml-diagramming-and-database-modeling (дата обращения: 16.10.2020).
6. Н.К. Андриевская. Онтологический подход в системах обработки данных научных и научно-образовательных организаций /Андриевская Н.К. // Проблемы искусственного интеллекта. 2020. № 1 (16). – С. 23-36.
7. Н.К. Андриевская. Разработка прикладной онтологии в системах обработки данных научных и научно-образовательных организаций / Андриевская Н.К. // Вестник Донецкого национального университета. Серия Г: Технические науки. 2020. №3. – С.43-51.
8. Самоучитель UML 2 / Александр Леоненков / СПб.: БХВ-Петербург, 2007. — 576 с.

Материалы XIII Международной научно-технической конференции
"Информатика, управляющие системы, математическое и компьютерное моделирование"