Разработка и исследование программно-информационной системы документирования баз данных MySQL
Автор: Сергеев Н.Е., Рыбанов А.А.
Журнал: Форум молодых ученых @forum-nauka
Статья в выпуске: 6 (10), 2017 года.
Бесплатный доступ
В данной статье рассматривается проблема документирования баз данных. Приводится сравнительный анализ уже существующих программных продуктов, описание бизнес процессов организации, занимающейся разработкой программного обеспечения. Описывается интерфейс программной системы.
Документирование баз данных mysql, метод саати, программный интерфейс
Короткий адрес: https://sciup.org/140278937
IDR: 140278937
Текст научной статьи Разработка и исследование программно-информационной системы документирования баз данных MySQL
С развитием информационного общества информационные технологии стремительно развиваются. Появились множество различных баз данных, которые отличаются друг от друга своим строением, объектами, таблицами и также платформами, на которых они построены.
Огромное количество предприятий, учебных заведений, банков используют в своей структуре базу данных, где хранят финансовую информацию, информацию о товаре, информацию о персонале и т.п. с которой они ежедневно работают. Большинство операций по работе с базами данных требуют вывод данных, как в информационном, так и в текстовом виде.
Во время создания документации баз данных, пользователь часто сталкивается с проблемами документирования.
При анализе проблем в области документирования данных, мной были выявлены следующие проблемы:
– Контроль версий - относительное число устаревших данных об объектах в базах данных к общему числу накопленных и обрабатываемых данных.
– Понятность - качество документации и широта демонстрационных возможностей.
– Полнота - относительное число объектов или документов, имеющихся в базе данных, к общему числу объектов по данной тематике или по отношению к числу объектов в аналогичных базах данных.
– Правильность документирования - относительное число описаний объектов, не содержащих.дефекты и ошибки, к общему числу документов об объектах в базах данных.
Одними из популярных утилит являются:
-
1) DBScribe
-
2) Database Documentation Reports
-
3) Dataedo
-
4) MySQL Documenter
-
5) dbForge Documenter
При документировании баз данных используют библиотеки генерации отчетов, популярными из которых являются:
-
1) PHPWord
-
2) YARG
-
3) PyLOO
-
4) PHPExcel
-
5) FPDF
Для сравнительного анализа программных продуктов выберем следующие критерии:
-
1) A 1 – Качество документирования
-
2) A2 – Полнота документирования;
-
3) A 3 – Декомпозиция баз данных при документировании;
-
4) A 4 – Время, затраченное пользователем на генерацию отчета;
-
5) A5 – Формат выходных данных.
Аналогично для библиотек генерации отчетов выберем следующие критерии:
-
1) B1 – Формат выходных данных
-
2) B 2 – Форматирование страниц документа ;
-
3) B 3 – Форматирование текста;
-
4) B 4 – Работа с таблицами;
-
5) B 5 – Работа с изображениями.
Принятие решения на основе алгоритма Саати выполняется в следующем порядке.
1. Строится матрица парных сравнений
Таблица 2 – матрица парных сравнений программных продуктов.
А1 |
А2 |
А3 |
А4 |
А5 |
Среднее геометрическое |
Веса критериев |
|
А1 |
1 |
1/7 |
3 |
1/5 |
1/3 |
0,49 |
0,06 |
А2 |
7 |
1 |
9 |
3 |
5 |
3,94 |
0,51 |
А3 |
1/3 |
1/9 |
1 |
1/7 |
1/5 |
0,25 |
0,03 |
А4 |
5 |
1/3 |
7 |
1 |
3 |
2,04 |
0,27 |
А5 |
3 |
1/5 |
5 |
1/3 |
1 |
1,00 |
0,13 |
Сумма |
7,72 |
1 |
Таблица 3 - матрица парных сравнений библиотек генерации отчетов.
B1 |
B2 |
B3 |
B4 |
B5 |
Среднее геометрическое |
Веса критериев |
|
B1 |
1 |
7 |
5 |
3 |
5 |
3,50 |
0,48 |
B2 |
1/7 |
1 |
1/3 |
1/5 |
1/3 |
0,32 |
0,23 |
B3 |
1/5 |
3 |
1 |
1/3 |
1 |
0,72 |
0,11 |
B4 |
1/3 |
5 |
3 |
1 |
3 |
1,72 |
0,07 |
B5 |
1/5 |
3 |
1 |
1/3 |
1 |
0,72 |
0,11 |
Сумма |
6,98 |
1 |
Диаграмма весовых коэффициентов для критериев A1 , A2 , A3 , A4 , A5
представлена на Рис. 1

-
■ Время, затраченное пользователем на генерацию отчета
-
■ Полнота
документирования
■ Формат выходных данных
-
■ Качество
документирования
-
■ Декомпозиция баз данных при документировании
Рис. 1. Весовые коэффициенты критериев качества программных продуктов.
Диаграмма весовых коэффициентов для критериев B1 , B2 , B3 , B4 , B5
представлена на Рис. 2

-
■ Форматирование текста
-
■ Работа с изображениями Формат выходных данных
-
■ Форматирование страниц документа Работа с таблицами
2. Находятся суммы столбцов матрицы парных сравнений: Отношение согласованности ОС=ИС/СлС = 0.18. не превышает 0.2, поэтому уточнение матрицы парных сравнений не требуется.
Рис. 2. Весовые коэффициенты критериев качества библиотек генерации отчетов.
Используя полученные коэффициенты определим интегральный показатель качества для программных продуктов:
– DBScribe
– Mysql Documentor
– Dataedo
– Database Documentation Reports
– dbForge Documenter
Аналогично определим показатель качества для библиотек генерации отчетов:
– YARG
– PHPWord
– FPDF
– PyLOO
– PHPExcel
Значения
весовых коэффициентов Ai соответствующие функциональным возможностям продуктов:
-
1) Время, затраченное пользователем на документацию отчета A1 = 0,06;
-
2) Полнота документирования A 2 = 0,51;
-
3) Формат выходных данных A3 = 0,03;
-
4) Качество документирования A 4 = 0,27;
-
5) Декомпозиция базы данных при документировании A 5 = 0,13 Аналогично, для библиотек генерации отчетов:
-
1) Форматирование текста B 1 = 0,48;
-
2) Работа с изображениями B 2 = 0,23;
-
3) Формат выходных данных B3 = 0,11;
-
4) Форматирование страниц документа B 4 = 0,07;
-
5) Работа с таблицами B 5 = 0,11
Определим количественные значения функциональных возможностей Xij.
Таблица 4. Интегральные показатели качества программных продуктов
i |
Критерии |
Весовые коэффиц иенты |
Прог |
раммные продукты ( j ) |
Базовые значения |
|||
1 |
2 |
3 |
4 |
5 |
||||
DBScribe |
Mysql Documentor |
Dataedo |
Database Documentation Reports |
dbForge Documenter |
||||
1 |
Время, затраченное пользователем на генерацию отчета |
0,06 |
4 |
3 |
4 |
2 |
2 |
3 |
2 |
Полнота документирова ния |
0,51 |
5 |
3 |
6 |
3 |
3 |
4 |
3 |
Формат выходных данных |
0,03 |
6 |
3 |
4 |
6 |
3 |
4,4 |
4 |
Качество документирова ния |
0,27 |
5 |
3 |
5 |
3 |
2 |
3,6 |
5 |
Декомпозиция базы данных при документирова нии |
0,13 |
4 |
2 |
5 |
3 |
4 |
3,6 |
Интегральный показатель качества Q |
4,84 |
2,87 |
5,41 |
3,03 |
2,80 |
3,79 |
Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (Рис. 3).

Рис. 3. Лепестковая диаграмма интегральных показателей качества программных продуктов
Лепестковая диаграмма значений критериев представлена на Рис. 4.
Г) В Seri be
db ForgeDocumentor
Database

Mysql
Documentor
---Время, затраченное пользователем на генерацию отчета
---Полнота документирования
- Формат выходных данных
Documental...
Dataedo
---Качество документирования
---Декомпозиция базы данных при документировании
Рис. 4. Лепестковая диаграмма критериев программных продуктов
Таблица 5. Интегральные показатели качества библиотек генерации отчетов
i |
Критерии |
Весовые коэффи циенты |
Библиотеки генерации отчетов ( j ) |
Базовые значения |
||||
1 |
2 |
3 |
4 |
5 |
||||
PHPWord |
YARG |
FPDF |
PyLOO |
PHPExcel |
||||
1 |
Форматирование текста |
0,48 |
5 |
5 |
5 |
4 |
3 |
4,4 |
2 |
Работа с изображениями |
0,23 |
6 |
3 |
5 |
3 |
3 |
4 |
3 |
Формат выходных данных |
0,11 |
6 |
4 |
4 |
3 |
4 |
4,2 |
4 |
Форматирование страниц документа |
0,07 |
5 |
5 |
5 |
3 |
3 |
4,2 |
5 |
Работа с таблицами |
0,11 |
4 |
4 |
5 |
3 |
5 |
4,2 |
Интегральный показатель качества Q |
5,23 |
4,31 |
4,89 |
3,48 |
3,33 |
4,25 |
Построим лепестковую диаграмму интегрального показателя качества каждого программного продукта (Рис. 5).

Рис. 5. Лепестковая диаграмма интегральных показателей качества библиотек генерации отчетов.
Лепестковая диаграмма значений критериев представлена на Рис 6.
YARG

—Форматирование текста
---Работа с изображениями
---Формат выходных данных
---Ф орматирование страниц документа
---Ра б от а с та б л и цам и
PHPExcel
PHPWord
Ру LOO
Рис. 6. Лепестковая диаграмма значений функциональных характеристик библиотек генерации отчетов
FPDF
Сравнительный анализ программных продуктов для документирования баз данных и библиотек генерации отчетов показал, что из рассмотренных программных продуктов, продукты, такие как Dataedo и DBScribe превышают базовое значение показателя качества, а также из рассмотренных библиотек генераций отчетов, библиотеки, такие как YARG, FPDF и PHPWord превышают базовое значение показателя качества.
Следовательно, для разработки программной системы будем использовать библиотеки PHPWord и FPDF.
Рассмотрим бизнес-процессы организации, занимающейся разработкой программного-обеспечения.
Основные бизнес-процессы включают в себя процессы создания модулей программного обеспечения, компиляцию и тестирование программного обеспечения, создание пользовательского сопровождения и создание документации по объектам баз данных. Программисты разрабатывают программное обеспечение, часть из которого является хранилищем данных (база данных). После чего тестировщики тестируют программное обеспечение, и в результате успешного тестирования, аналитики формируют пользовательское сопровождение и документацию по объектам баз данных.
Диаграмма бизнес-процесса
«Основных бизнес-процессов»
представлена на рисунке 7.
Программная

Рисунок 7 – IDEF0 диаграмма основных бизнес-процессов
Рассмотрим IDEF0 диаграммы конкретных бизнес-процессов:
Бизнес-процесс создания документации модулей программного обеспечения включает в себя конструирование программной системы, создание модулей ПО и их тестирование.
Создание документации модулей программного обеспечения представлено на рисунке 8.

Рисунок 8 – IDEF0 диаграмма бизнес-процесса «Создание модулей программного обеспечения»
Бизнес-процесс компиляции и тестирования программного обеспечения включает в себя процесс компиляции программной системы и ее тестирования.
Компиляция и тестирование программного обеспечения представлено на рисунке 9.

Рисунок 9 – IDEF0 диаграмма бизнес-процесса «Компиляция и тестирование программного обеспечения»
Бизнес-процесс создания пользовательского сопровождения включает в себя процесс работы с программным обеспечением и создание документации по работе с ним.
Создание руководства пользователя представлено на рисунке 10.
Программная

Рисунок 10 – IDEF0 диаграмма бизнес-процесса «Создание руководства пользователя»
Бизнес-процесс создания документации по объектам баз данных включает в себя процесс выбора базы данных, просмотра и анализа базы данных, формирование и заполнение текстового документа информацией о выбранной базе данных и ее объектам.
Создание документации по объектам баз данных представлено на рисунке 11.
Базы данных,

Рисунок 11 – IDEF0 диаграмма бизнес-процесса «Создание документации по объектам баз данных»
Разработанная система является кроссплатформенным приложением, размещающемся на удаленном сервере, доступ к которому осуществляется через интернет с использованием современных браузеров. Система реализована по шаблону MVVM, подразумевающий модель системы и графический интерфейс системы.

Рисунок 12 – Общая функциональная схема системы.
Интерфейс пользователя – модуль, позволяющий пользователю вводить данные подключения к серверу, выбирать необходимую базу данных для генерации отчетов, получать данные баз данных и сохранять файлы.
Работа с БД – модуль, реализующий основную логику работы системы: подключение к серверу, запрос данных, получение данных, выборка данных, а так же отправка данных на интерфейс пользователя.
MySQL Server – сервер баз данных, на котором создаются и используются базы данных, необходимые для последующих работ системы.
Библиотека PHPWord – модуль, подключающий библиотеку генерации отчетов, а так же позволяющий использовать настройки библиотеки, связанные с выбором кодировки и документов для создания отчета, а так же перенаправляющий данные и настройки в модуль генерации отчета Word и txt.
Библиотека FPDF– модуль, подключающий библиотеку генерации отчетов, а так же позволяющий использовать настройки библиотеки, связанные с выбором кодировки и документов для создания отчета, а так же перенаправляющий данные и настройки в модуль генерации отчета PDF.
Модуль генерации отчета Word и txt – модуль, позволяющий пользователю создать документ docx или txt форматов, добавить в него данные и отправить его в интерфейс пользователя для его сохранения.
Модуль генерации PDF – модуль, позволяющий пользователю создать документ PDF формата, добавить в него данные и отправить его в интерфейс пользователя для его сохранения.
Структурная схема системы

Рисунок 13 - Структурная схема системы
MVVM – корневой каталог системы содержит в себе следующие файлы и каталоги:
Каталог template содержит в себе файл стиля оформления системы и каталог привязанных к нему изображений.
Каталог components содержит в себе файлы библиотек генерации отчетов, а так же стили текста.
Описание интерфейса программной системы.
Интерфейс пользовательской системы представляет с собой интернет-страницу которая подразделяется на рабочие поля пользователя.
Поле «Подключения к серверу».
Пользователю системы необходимо ввести имя подключения в первое Input поле, а во второе пароль соединения и нажать на кнопку Подключиться к серверу.

Рисунок 14 – Поле «Подключения к серверу».
Поле «Список БД».
Если пользователь подключился к серверу, то ему выводится список подключенных к серверу баз данных.
После этого, пользователь может выбрать базу данных из списка и нажать кнопку «Подключиться».

Рисунок 15 – Выбранная БД в поле «Список БД».
Поле «Список таблиц».
Пользователю системы предоставляется информация о названиях таблиц, которые содержатся в выбранной базе данных, а также их системные свойства.

Рисунок 16 – Поле «Список таблиц».
Поле «Список ключей»
Пользователю системы предоставляется информация о ключах, которые содержатся во всех таблицах системы.

Рисунок 16 – Поле «Список ключей».
Поле «Структура»
Пользователю системы предоставляется информация о структуре выбранной базы данных Поле и Тип.
Структура Colums from table courses: Field: id Type: int(ll) Extra: auto increment Field: course_name Type; varchar(255) Field: login Type: varchar(20) Field: duration Type: int(5) Field: schedule Type: varchar(255) Field: price Type: float Field: status Type: tinyint(l) Field: logo_link Type: varchar(255) Field: description link Type: varchar(255) |
Рисунок 17 – Поле «Структура».
Поле «Данные»
Пользователю системы предоставляется информация о данных выбранной баз данных.

Рисунок 17– Поле «Данные».
Поле «Список хранимых процедур»
Пользователю системы предоставляется информация о хранимых процедурах и триггерах системы.

Рисунок 17– Поле «Список хранимых процедур».
Кнопки генерации отчета
Пользователю системы предоставляется набор кнопок, каждая из которых создает свой тип отчета.

Рисунок 18 – Кнопки генерации отчета.
Общий вид разработанной системы.

Рисунок 19 – Внешний вид системы.
Результатом работы системы являются сгенерированные отчеты в форматах docx, pdf, txt, которые содержат в себе информацию о базе данных и разделены на поля, такие как:
-
• Название БД
-
• Дата создания файла
-
• Информация о таблицах
-
• Информация о структуре
-
• Информация о данных
-
• Информация о ключах
-
• Информация о хранимых процедурах
Пример отчета в формате txt представлен на рисунке 20.
db name: bank
DATE: 2017-06-04 19:29:14
List of tables:
Name: address Type: innoDB collation: utf8_general_ci create time: 2017-06-02 19:35:41 update time:
Name: borrowers Type: innoDB Collation: utf 8_general_ci create time: 2017-06-02 19:31:52 update tin
Colums from table address:
Field: id Type: int(ll) Extra: auto_increment
Field: region туре: varchar(lOO)
Field: city туре: varchar(50)
Field: street Type: varchar(lOO)
Field: house туре: varchar(lO)
Field: door туре: varchar(lO)
Colums from table borrowers:
Field: id туре: int(ll) Extra: auto_increment
Field: last_name туре: varchar(SO)
Field: first_name туре: varchar(50)
Field: middle_name туре: varchar(SO)
Field: date Type: date
Field: address туре: int(ll)
Field: phone туре: varchar(15)
Field: passport Type: int(ll)
Date from table address: id:1 region:Nebraska city:Grand Island street:Romrog Way house:2521 door:1
id:2
region:Florida city:orlando street:South Street house:1036 door:24
Date from table borrowers: id:1
-
1 ast_name: Radi Ila first_name:Amanda middle_name:Mattie date:2000-02-03 address:1 phone:88005553535 passport:1234789654
id:2
1ast_name:Jennings first_name:El1 as middle_name:Mattie date:2000-03-04 address:2 phone:88005553535 passport:1234789654
Keys:
Keys from table address: id туре: pri
Keys from table borrowers: id Type: pri
Triggers:
Рисунок 20 – Пример отчета в формате txt
Разработанная информационная позволила повысить эффективность документирования баз данных MySQL.
Список литературы Разработка и исследование программно-информационной системы документирования баз данных MySQL
- Черняев А.О., Рыбанов А.А. Разработка и исследование алгоритмов автоматизированного проектирования логических схем реляционных баз данных // В мире научных открытий. 2010. № 4-11. С. 128-129.
- Сова Е.В., Рыбанов А.А. Сравнительный анализ библиотек генерации отчетов в веб-ориентированных информационных системах // Международный журнал прикладных и фундаментальных исследований. 2012. № 7. С. 167.
- Рыбанов А.А. Анализ базовых возможностей программных продуктов для исследования метрических характеристик баз данных // NovaInfo.Ru. 2015. Т. 2. № 33. С. 20-28.
- Рыбанов А.А., Усмонов М.С.О., Попов Ф.А., Ануфриева Н.Ю., Бубарева О.А. Информационные системы и технологии // Научный редактор: И. А. Рудакова; Редакционная коллегия: Рудакова И.А., Гребенщиков Г.Ф., Акутина С.П., Краснолуцкий В.П. / Центр научной мысли (г. Таганрог). Москва, 2013. Том Часть 4 Информационные системы и технологии.
- Рыбанов А.А., Сергеев Н.Е. - Анализ инструментальных средств документирования баз данных. // NovaInfo.Ru. 2016 г. № 57.
- DBScribe, URL: http://freesoft.ru/dbscribe_for_db2_11
- Mysql Documentor, URL: http://www.slideshare.net/softuniq/mysql-documentor
- Dataedo, URL: https://dataedo.com/
- DataBase Documentation Reports, URL: https://dbdocreports.codeplex.com/
- dbForge Documenter, URL: https://www.devart.com/dbforge/sql/documenter/download.html
- YARG, URL: https://www.cuba-platform.ru/YARG
- PHPWord, URL: https://phpword.codeplex.com
- FPDF, URL: http://www.fpdf.org/
- PyLOO, URL: http://www.pvsm.ru/python/106244
- PHPExcel, URL: http://phpexcel.codeplex.com/