Главная страница

Дипломная работа - Тырин А.А. (АП-91). Назначение и область применения


Скачать 0.55 Mb.
НазваниеНазначение и область применения
Дата18.02.2022
Размер0.55 Mb.
Формат файлаdocx
Имя файлаДипломная работа - Тырин А.А. (АП-91).docx
ТипТехническое задание
#366386
страница14 из 15
1   ...   7   8   9   10   11   12   13   14   15

7.3 Вывод:


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

8. Решение задачи на ЭВМ

8.1 Структура классов модуля


Разработанный модуль настройки схем маршрутизации запросов состоит из трех отдельных элементов: ядро, интерпретатор метаязыка и графический интерфейс пользователя. Ядро делится на две части:

Интерпретатор метаязыка служит для реализации правил остановки в состояниях схемы маршрутизации. Эта часть отвечает за создание правил, их корректной записи в базу данных, а также проверку их выполнения для конкретного запроса.

Графический интерфейс пользователя является связующим звеном между администратором системы и программным интерфейсом настройки схемы маршрутизации. Именно с помощью пользовательского интерфейса производится настройка схемы и описания правил остановки в том числе.

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

TtrsAdmin – программный интерфейс настройки схемы маршрутизации. Одной из самых важных функций класса является загрузка всех сущностей схемы маршрутизации, а также вспомогательных сущностей в собственное хранилище данных. Вся информация загружается из базы данных и работа с ними происходит локально на компьютере пользователя. Такой подход был применён для оптимизации скорости работы с данными. Поиск конкретного объекта в локальном кэше занимает меньше времени, чем запрос к базе данных, так как с базой данных одновременно может работать большое количество пользователей. Загружать MySQL-сервер дополнительными запросами каждый раз при обновлении формы не имеет смысла. Функция загрузки сущностей выполняется всего единожды – при инициализации, в дальнейшем все операции по изменению сущностей дублируются: сначала происходит попытка записи в базу данных и, в случае успеха, в кэше также происходит обновление.

В этом классе содержатся все необходимые функции для получения и изменения данных всех основных и вспомогательных сущностей схемы маршрутизации запросов, а именно:

  • Физических таблиц

  • Справочников

  • Типов ролей

  • Схем маршрутизации

  • Бизнес-процессов

  • Наборов полей

  • Ролей

  • Связей роли-пользователи

  • Связей роли-наборы полей

  • Состояний

  • Переходов

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

При совершении любой операции ядро проверяет возможность её выполнения. Модуль проверяет входные данные, и, в случае если выполнение операции приведёт к дублированию данных или потери связей между объектами, ядро выдаёт ошибку с поясняющим сообщением.

TtrsTicket – класс, описывающий структуру запроса. Этот класс содержит все атрибуты запроса и предоставляет функции маршрутизации и изменения запроса. Под маршрутизацией запроса подразумеваются следующие функции:

  • Переход запроса из одного состояния в другое в соответствии с настроенной схемой маршрутизации запроса

  • Проверка выполнения правила остановки в состоянии

  • Откат последнего совершённого перехода

  • Назначение запроса пользователю

  • Обработка запроса и запись изменений в базу данных

  • Отклонение запроса

Изменение запроса включает в себя следующие функции:

  • Создание запроса

  • Удаление запроса

  • Сохранение изменений в данных

  • Отмена последних изменений в данных

  • Добавить/удалить объект в запрос

  • Добавить/удалить вложение в запрос

При совершении любой операции ядро выполняет ряд проверок для того, чтобы в базе данных не образовалось утечки или противоречия данных.

В отличие от структуры TtrsAdmin в классе TtrsTicket нет локального кэша для хранения нескольких объектов и работа в конкретный момент времени ведётся исключительно с одним объектом – запросом, который загружается из базы данных. Все необходимые вспомогательные объекты, такие как: переходы, состояния, пользователи подгружаются по мере необходимости.

При совершении операции перехода запроса из одного состояния в другое ядро проверяет условие выполнения правила остановки запроса в этом состоянии. Для этого происходит создание объекта класса TtrsStateStopRule по экземпляру текста правила, который хранится в базе данных как атрибут состояния. Ядро заполняет структуру правила остановки значениями атрибутов объектов запроса. Затем интерпретатор, описанный в TtrsStateStopRule, выполняет логические операции правила и выдаёт однозначный результат необходимости остановки в данном состоянии – true или false. Далее речь пойдёт о структуре TtrsStateStopRule.

TtrsStateStopRule – класс, определяющий интерпретатор метаязыка, который подробно описан в главе 5.5 этой дипломной работы. TtrsStateStopRule позволяет описывать правила для состояния, при выполнении условий которых будет происходить остановка запроса в этом состоянии при маршрутизации. Правило остановки в состоянии состоит из одного или нескольких правил для конкретного справочника и бизнес-процесса. Такое правило состоит из условий, соединенных логическими операторами. Условие представляет собой операнд и наименование атрибута объекта со сравниваемым значением, если это предполагает операнд. Порядок расчёта действий при вычислении значения логического выражения определяется с помощью скобок и приоритета логических операторов.

Интерпретатор анализирует введённый текст правила и создаёт собственные структуры классов для каждого отдельного правила, в состав которого входит контейнер со всеми условиями, каждое из которых также является отдельным объектом. Значения параметров условия заполняются ядром, так как зависят от данных запроса. В том случае, если в запросе нет данных об атрибуте объекта, указанном в правиле, значение атрибута этого объекта загружается из базы данных и операция вычисляется с этим значением. Если правило выполняется, хотя бы для одного объекта запроса, в данном состоянии произойдёт остановка.

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

Описание правил остановки в состояниях, как и вся остальная настройка схемы маршрутизации, выполняется посредством графического интерфейса пользователя. Детальное описание интерфейса приведено в следующем разделе.
1   ...   7   8   9   10   11   12   13   14   15


написать администратору сайта