Цель работы.
Научиться анализировать архитектуру существующей информационной системы и представлять ее в виде модели структуры.
1. Выбор информационной системы.
Для выполнения работы была выбрана информационная система MS Access. Данная программа обладает полной технической документацией, достаточно сложна и многофункциональна для нетривиального анализа, состоит из разноуровневых подсистем, каждая из которых выполняет ряд конкретных задач и характеризуется собственным набором опций. Выбранная система имеет большое число аналогов, наиболее полярными среди которых в настоящее время являются LibreOffice Base, Apache OpenOffice Base, Kexi, MariaDB.
2. Описание системы.
Microsoft Office Access или просто Microsoft Access — реляционная система управления базами данных (СУБД) корпорации Microsoft. Входит в состав пакета Microsoft Office. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Использование Access позволяет:
добавлять новую информацию в базу данных;
изменять информацию, уже находящуюся в базе;
удалять информацию;
упорядочивать и просматривать данные различными способами;
обмениваться данными с другими людьми с помощью отчетов, сообщений электронной почты, внутренней сети или Интернета.
Объекты Аccess:
таблицы, составляющие основу базы данных и предназначенные для хранения информации об объектах предметной области;
запросы, являющиеся средством выборки необходимых данных из одной или нескольких таблиц БД;
формы, представляющие собой электронный вариант физических форм документов;
отчеты, применяемые для формирования выходных документов, предназначенных для вывода на экран, принтер или в файл;
макросы, содержащие описания действий, которые должны быть выполнены в ответ на некоторое событие.
модули, хранящие программы на языке Visual Basic, которые разрабатываются пользователем для реализации нестандартных процедур обработки данных в задачах пользователя.
Для создания объектов базы данных используются специализированные диалоговые графические средства, называемые Конструктор (Design), а также программы-мастера Access (Wizard). Наряду с диалоговыми средствами создания объектов БД, Access располагает средствами программирования: SQL (Structured Query Language) – структурированный язык запросов, язык макрокоманд, VBA (Visual Basic for Applications) - объектно-ориентированный язык программирования.
3. Построение модели структуры системы на уровне программно-технической архитектуры.
Графическое представление модели структуры как ориентированного графа, вершинами которого являются элементы системы, а дугами – связи между элементами, представлена на рисунке 1.
|
Рисунок 1 – Программно-техническая архитектура MS Access |
Дополним графическое представление модели системы описанием элементов в виде таблицы.
Таблица 1 – Описание элементов системы Access |
||||
№ |
Название элемента |
Назначение |
Тип инф. процесса |
Принадлежность подсистеме |
1 |
Таблицы |
Хранение переданной информации в структурированном виде, предоставление доступа к просмотру данных из различных расположений БД |
Хранение |
Подсистема хранения и структуризации данных |
2 |
Отчеты |
Форматирование, сведение и показ актуальных данных |
Обработка |
Подсистема хранения и структуризации данных |
3 |
Запросы |
Поиск требуемой информации в таблицах, фильтрация и сортировка данных по указанному критерию |
Обработка |
Подсистема взаимодействия с пользователем |
4 |
Запросы на выборки |
Извлечение запрашиваемых данных |
Обработка |
Подсистема взаимодействия с пользователем |
5 |
Запросы на выполнение действий: - запросы на изменение - итоговые запросы |
Обновление и удаление существующей в БД информации, добавление новых данных; объединение записей с одинаковыми значениями в одну группу и вычисление итоговых данных для созданной группы на основе агрегирующих функций |
Обработка |
Подсистема взаимодействия с пользователем |
6 |
Формы |
Пользовательский интерфейс для просмотра, ввода и редактирования информации |
Ввод/вывод |
Подсистема взаимодействия с пользователем |
7 |
Макросы |
Оптимизация работы с БД путём добавления макрокоманд из готового набора |
Обработка |
Подсистема расширения функциональности |
8 |
Модули |
Повышение функциональности БД путём добавления описаний, инструкций и процедур, написанных на специальном языке программирования VBA |
Обработка |
Подсистема расширения функциональности |
9 |
Модули класс |
Создание инструкций, работающих только с конкретными объектами БД |
Обработка |
Подсистема расширения функциональности |
10 |
Стандартные модули |
Создание инструкций, содержащих общие процедуры для взаимодействия с БД в целом |
Обработка |
Подсистема расширения функциональности |
Составим описание связей элементов структурной модели системы MS Access.
Таблица 2 – Описание связей элементов системы |
||
№ на схеме |
Название связи |
Характеристика передаваемых данных |
1 |
Передача данных |
Информация, требующая хранения в виде базы данных |
2 |
Сведение данных к конкретным результатам |
Информация, хранящаяся в таблицах БД |
3 |
Вывод отчетной информации |
Отформатированная и сведенная к определенным результатам информация |
4 |
Передача данных от подсистемы хранения и структуризации к подсистеме взаимодействия с пользователем |
Информация, собранная в блоки по типам данных |
5 |
Запрос на изъятие необходимых данных |
Передача критериев и условий, заданных пользователем |
6 |
Запрос пользователя |
Запрос от пользователя к информации, хранящейся в БД |
7 |
Результат выполнения запроса |
Передача пользователю результата выполнения запроса |
8 |
Получение отклика от пользователя |
Ввод или выбор пользователем каких-либо данных |
9 |
Вывод нужной информации с помощью пользовательского интерфейса |
Результат обработки требования пользователя |
10 |
Вывод данных запроса на пользовательской форме |
Информация, соответствующая критериям запроса |
11 |
Передача пользовательских данных, записанных в полях формы |
Информация, отмеченная пользователем |
12 |
Отделение запросов на выборки от общей группы запросов |
Определение конкретного запроса как запроса на выборку, подбор соответствующей функциональности |
13 |
Отделение запросов на выполнение действий от общей группы запросов |
Определение конкретного запроса как запроса на выполнение действий, подбор соответствующей функциональности |
14 |
Разделение запросов на выполнение действий на две подкатегории |
Распределение запросов на выполнение действий на функциональные группы по заданной задаче |
15 |
Дополнение функциональности подсистемы хранения и структуризации данных |
Добавление созданного набора команд, процедур и инструкций во внутреннюю структуру таблиц и отчетов |
16 |
Дополнение функциональности подсистемы взаимодействия с пользователем |
Добавление созданного набора команд, процедур и инструкций во внутреннюю структуру запросов и форм |
17 |
Отделение модулей класса от общей группы модулей |
Определение конкретного модуля как модуля класса, прикрепление к определенному объекту |
18 |
Отделение стандартных модулей от общей группы модулей |
Определение конкретного модуля как стандартного модуля, подбор соответствующей функциональности |
Для формального представления всей совокупности связей системы построим матрицу смежности.
Таблица 3 – Матрица смежности системы Access |
|
|
|
|||||||||||||
|
Пользователь |
Таблицы |
Отчеты |
Запросы |
Запросы/выборки |
Запросы/выполнение действий |
Запросы/изменение |
Итоговые запросы |
Формы |
Макросы |
Модули |
Модули класса |
Стандартные модули |
|||
Пользователь |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|||
Таблицы |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|||
Отчеты |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|||
Запросы |
1 |
1 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|||
Запросы на выборки |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
Запросы на выполнение действий |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
|||
Запросы на изменение |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
Итоговые запросы |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
Формы |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|||
Макросы |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
|||
Модули |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
|||
Модули класса |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
|||
Стандартные модули |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |