Обоснование структуры комплекса программ
ПО общесистемного назначения
Структура комплекса программ АРМ РД представлена на рис.20 и является логическим продолжением реализации функционального назначения АРМ РД.
ПО общесистемного назначения представляет собой программные средства, используемые на этапе проектирования АРМ РД.
Исходными данными предусмотрено, что в качестве среды функционирования выбирается операционная система MS DOS с файловой оболочкой Norton Commander.
Для работы с файлами в составе ПО АРМ РД предусмотрены общесистемные утилиты (архиваторы, антивирусы, и т.п.). Для оформления документации, записок, отчетов предусмотрен текстовый редактор LEXICON.
Для создания специального ПО для АРМ РД используются следующие программные продукты:
Язык программирования Турбо Cи++ версии 3.0;
PX Engine - библиотеки функций на языке Borland Cи++, для создания БД в формате Paradox;
CXL - библиотеки функций на языке Borland C++ для создания оконного интерфейса пользователя.
ПО специального назначения
ПО специального назначения представляет собой программные средства, используемые на этапе эксплуатации АРМ РД (см. рис. 20). Его условно можно разделить на три группы:
Операционная система MS DOS
Библиотеки используемых функций (LIB) включают библиотеки используемых функций языка Borland С++, PX Engine - библиотеки функций языка С++ для создания БД в формате Paradox, CXL - библиотеки функций языка С++ для создания оконного интерфейса.
Исполяемые модули программ, обеспечивающие следующие функции:
управляющая программа (MAIN);
функции создания прототипов БД и первичных ключей к ним (INITENG);
функции записи информации и внесения изменений в БД (ZAPBD);
функции формирования и исполнения запросов (INQUIRY), включает программы обработки запросов для 3-х форм представления БС (BS-INQ);
функции службы администрирования БД (CR_ARMBD - создание базы данных администратора, CREAT_FA - создание файла администратора, BDADM - работа с БД администратора - создание списка пользователей, регистрация и удаление пользователей);
функции архивирования и работы с архивом (ARCH).
Требования, предъявляемые к специальному ПО АРМ РД
1. Требования по обеспечению надежности.
Требования по обеспечению надежности ПО складываются из двух аспектов требований, предъявляемых к языку программирования. Первый - легкость расширения языка и программы, независимость от машины, эффективность компиляции программ, способность четко и просто представлять логику и функции программы. Вторым аспектом обеспечения надежности ПО является модульная структура программы.
2. Требования по обеспечению удобства эксплуатации.
Программное обеспечение АРМ РД должно функционировать в диалоговом режиме с выдачей иерархических меню основных функций подсистем, например, текст запроса по мере его формирования отображается на экране. Система меню является подсказкой, исключающей ошибку оператора.
3. Требования к операционной и программной совместимости.
Программное обеспечение средств регистрации и документирования АРМ должно обеспечивать:
информационную совместимость в части возможности замены ЭВМ РС/АТ на модель более высшего порядка, замену принтера на более производительный, и т.п.
Программная реализация
Постановка задачи.
Задачей данного дипломного проекта является разработка программ формирования и обработки запросов для трех форм представления БС и выдача их на экран монитора и принтер.
Программы должны быть разработаны для технических средств АРМ РД и обеспечивать информационную и программную совместимость в части возможности замены ЭВМ на модель более высокого порядка, замену принтера на более производительный и т.п. Программы обработки запросов должны функционировать в составе остального ПО АРМ РД и минимизировать время обработки запроса.
Это означает, что необходимо организовать поиск по БД таким образом, чтобы минимизировать время поиска по БД, и, следовательно, уменьшить время ответа на запрос оператора (характеристика, рассмотренная в п.2.5 может быть минимизирована не только техническими, но и программными средствами).
Программы обработки запросов должны обеспечить запись преобразованных форм БС в файл, и работать совместно с программами, обеспечивающими выдачу преобразованных форм БС на экран монитора и принтер.
Вид представления информации после преобразования БС на экран монитора и принтер.
Исходя из соображений практического смысла были выбраны 3 формы представления БС: компактная-символическая, табличная, справочная (первая, вторая и третья формы представления БС соответственно).
Первая форма представления БС.
Первая форма представления БС приведена на рис.21 и позволяет выдавать на экран информацию о БС по всем разнотипным устройствам (по любому сочетанию устройств, по всем устройствам сразу, и т.д.)
1-5 поля - ключевые. Поле 6 - БС технических устройств в позиционном коде. Для каждого устройства определено фиксированное количество этих байтов (максимальное значение 4 группы или 4слова).
|
Вторая форма представления БС.
Пример представления формы 2 приведен на рис.23. Как видно из рис.23, форма 2 является отражением формы 1 для одного устройства и требует меньших усилий при расшифровке данных, т.к здесь “шапки” колонок таблицы содержат более или менее понятные сокращения и обозначения для специалистов, обслуживающих аппаратуру, т.е. обозначения даются терминах, понятных для сферы деятельности оператора.
Третья форма представления БС.
Существует третья форма представления, которая является трансформированной формой 2, выбранной на один момент времени, т.е. она отражает техническое состояние i-го устройства в заданный момент времени. Пример формы 3 приведен на рис.24. Как видно из рис.24, форма 3 представляет собой развернутую справку с перечнем неисправностей и рекомендаций по устранению этих неисправностей. Длина справки практически ограничивается при этом только соображениями достаточности информации, представленной в справке.
Ш-1 |
Неисправно направление связи С1 по передаче от ВК к Ш по причине неполучения от Ш-1 кодограмм по времени. ОТСУТСТВУЕТ СИГНАЛ СЕТЬ1 Заменить блок А4 в стойке П1 Ш-1 заблокирован функциональной задачей |
Рис. 24
Определение реализуемых функций программ обработки запросов для 3-х форм представления БС.
Программы обработки запросов для трех форм представления БС должны выполнять следующие функции:
Для первой формы представления БС:
Нахождение заданных оператором записей БС в БД по любому сочетанию устройств, используя различные варианты поиска по БД, а именно:
по всей БД (дата и время не используются);
в едином интервале по дате и времени;
в указанном интервале времени по каждому дню интервала дат;
за один день в указанном интервале времени.
Расшифровка БС заданных оператором устройств, учитывая интервал поиска.
Выдача расшифрованных БС на монитор или принтер в первой форме представления. Как видно из описанного выше, первая форма представления БС выдается, на экран монитора в виде, представленном на рис.21.
Для второй формы представления БС:
Нахождение необходимой записи БС в БД по конкретному устройству, заданному оператором, используя различные варианты поиска:
по всей БД;
в едином интервале по дате и времени;
в интервале времени по каждому дню интервала дат;
за один день в указанном интервале времени.
Можно отметить, что варианты поиска по БД для первой и второй форм представления БС совпадают.
Расшифровка БС заданного оператором устройства, учитывая интервал поиска.
Выдача расшифрованных БС на экран монитора или принтер в форме представленной на рис.23, причем вид экрана будет различным в зависимости от устройства, задаваемого оператором, т.к устройства системы не идентичны и обладают конкретными свойственными лишь им характеристиками.
Для третьей формы представления БС:
1. Нахождение последней по времени или одной записи по конкретному устройству, заданному оператором,
2. Расшифровка БС заданного оператором устройства,
3. Выдача расшифрованных БС на экран монитора или принтер в справочной форме, причем текст сообщения будет зависеть от характеристик каждого конкретного устройства.
Состав программ
Структура программ представлена на рис.25.
BS1_inq. exe - программа обработки запросов для первой формы представления БС;
Initsearch - модуль, определяющий выбор функции поиска;
Interval - определение граничных номеров записей в заданном интервале поиска;
Search1 - инициализация функции поиска (все записи в заданном интервале);
Search2 - инициализация функции поиска (не более 1-го искомого значения по каждому полю);
Search3 - инициализация функции поиска (более 1-го искомого значения хотя бы по 1-му полю);
Recprint. c - форматирование и запись найденной строки в файл.
Bs2_inq. c - программа обработки запросов для второй формы представления БС;
Interval. c - определение граничных номеров интервала поиска;
Search. c - поиск;
Recprint. c - форматирование и запись найденной строки в файл.
Form2. c - программа представления БС в текстовом виде;
Bs3_inq. c - программа обработки запросов для третьей формы представления БС;
Form3. c - представление БС в виде справки;
Описание программ
Функциональное назначение программ обработки запросов, требования, предъявляемые к ним, а также вид представления информации на экране монитора и принтере были рассмотрены выше.
Программа обработки запроса для первой формы представления БС вызывается из программы формирования запроса со следующими аргументами:
1) “BS1_inq. exe”;
2) имя базы данных;
3) вариант выборки по дате и времени:
“0” - дата и время не используются, “1” - единый интервал по дате и времени, “2” - много интервалов - поиск производится в указанном интервале времени для каждого значения даты из числа входящих в интервал даты, “3” - единый интервал в течение одного дня (используется только первое значение даты);
4) интервал поиска по дате, например, “01/01/98-20/01/98”;
5) интервал поиска по времени, например, “06: 00: 00-09: 00: 00” и далее значения остальных полей БД.
Результат обработки запроса записывается в файл “inquiry. res" После окончания обработки должна быть вызвана программа “inq_out. exe" для отображения результатов на экран и принтер.
Параметры из командной строки передаются в программу обработки запроса и производится определение формата записи для базы данных, к которой произведен запрос. Затем открывается файл результатов запроса и в него записываются строки запроса и шапка таблицы. После этого производится инициализация работы с БД. В зависимости от варианта поиска, выбранного оператором, программа подключает модули, обеспечивающие определение граничных номеров интервала поиска и инициирующие функцию поиска.
Функции поиска search1 (все записи в указанном интервале) и search2 (не более одного искомого значения по каждому полю) Поиск производится по максимальному номеру записи. Например, сначала просматривается поле, содержащее тип устройства и выбираются записи с номерами 5, 10, 36, 48. Затем производится поиск по виду сообщения. Если искомый вид сообщения находится лишь в 15-м поле, то все поля с 1-го по 36-е пропускаются и поиск начинается с 36-го поля. С помощью такого алгоритма производится минимизация времени поиска по БД. Как только искомые поля совпадают, то номер найденной записи фиксируется и управление передается программе recprint, которая форматирует найденную строку и записывает ее в файл.
Функция поиска search3 (более одного искомого значения хотя бы по одному полю) открывает массив буферов для поиска, его размерность равна количеству полей в таблице. Размерность каждого из массивов rec [i] равна количеству искомых значений по i-му полю таблицы. В каждый буфер заносится одно искомое значение по какому-либо полю таблицы. Каждому буферу rec [i] [j] соответствует элемент массива массивов z [i] [j], в котром хранится текущий номер найденной записи по данному буферу (т.е. записи, в соответствующем поле которой находится значение, равное значению, занесенному в буфер). Еще в одном массиве хранятся текущие номера найденных строк по каждому полю, где max - текущий номер записи при поиске, т.е. записи с номерами, меньше max уже просмотрены. Для каждого буфера находится запись со значением, равным занесенному в этот буфер и с номером, большим либо равным max. Найденные номера заносятся в соответствующие z [i] [j]. Затем для каждого поля определяется значение текущего номера найденных строк по каждому полю. Если хотя бы по одному полю произошел выход за пределы интервала поиска, значит, поиск закончен. Если же значения текущих номеров найденных строк совпадают по всем полям, значит, искомая запись найдена. Найденная строка форматируется и записывается в файл.
Алгоритм программы обработки запроса для второй формы представления БС логически выстроен по такому же принципу, однако он проще, т.к поиск производится для одного устройства. Перед записью найденной строки в файл производится представление БС в текстовом виде.
Программы обработки запросов для третьей формы представления БС находят последнюю по времени запись в БД и выдают преобразованные БС в файл.
Алгоритмы программ приведены в Приложении 1.
Тексты программ приведены в Приложении 2.
Дата: 2019-05-29, просмотров: 217.