Проектирование

Информация о проекте

Проект: Распределение запросов к электронному каталогу по поисковым индексам и поисковым терминам
Рамки проекта: 13.02.2006 - 05.06.2006
Заказчик: Научная библиотека Петрозаводского государственного университета.
Ответственные: Горшкова Галина Анатольевна, заведующая отделом компьютерной обработки документов и создания каталогов. Эл. почта: . Раб. тел.: 719602. Библиотека: каб. 102. Гурьев Дмитрий Борисович, ведущий программист РЦНИТ. Эл. почта:. Раб. тел.: 784775. Интернет-центр.
Инструктор: Кулаков Кирилл Александрович. Эл.почта:. Раб.тел.: 711015. 215 каб.
Информация для инструктора: Группа номер 13
Связанные документы:

1. Проект архитектуры.

Программная система состоит из трёх модулей: интерфейса, механизм создания отчётов и таблиц.

Модуль интерфейса в свою очередь состоит из формы доступа, на которой расположены кнопки (ссылки) на запросы. Номера запросов соответствуют номерам запросов из спецификации первичных требований.

Модуль механизма создания отчётов содержит триггеры: разбора строки, обновления статистики; функцию вывода результатов. Триггер разбора строки состоит из функции разбора строки, функции обновления статистики. Функции предназначены для заполнения таблиц статистики и запросов, данные берутся из лог – таблицы.

Проект архитектуры.

Рис.1. Проект архитектуры.

Триггер обновления статистики предназначен для заполнения таблицы запросов и вызывается, при изменении таблицы запросов.

Модуль таблиц содержит таблицы: статистики и запросов.

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

2. Проект подсистем.

2.1. Модуль интерфейса.

Модуль интерфейса представлен главной страницей и страницей с результатом запроса. На главной странице расположены четыре ссылки на CGI скрипт. Скрип написан на языке Shell и вызывает утилиту SQL Plus, которая делает запрос и формирует результат в виде HTML странички.

Интерфейс с модулем механизма создания отчётов через утилиту SQL plus.

Модуль интерфейса взаимодействие с другими модулями.

Рис.2. Модуль интерфейса взаимодействие с другими модулями.

2.2. Модуль механизма создания отчётов.

Состоит из 4 функций, хранящихся в пакете stat_report_pack на сервере БД и шаблона таблицы MS Excel и правила заполнения шаблона.

НазваниеОписаниеВходные данныеВыходные данные
Request_cut_trigТриггер разбора строки запроса из лог таблицыпеременная new (содержит добавляемую запись)Обработанная запись
Statistics_update_trigТриггер обновления статистикипеременная new (содержит добавляемую запись)Обработанная запись
Request_cut_funcФункция разбора строкипеременная new (содержит добавляемую запись)
переменная ind (начальная позиция поиска)
Id добавленной записи
Statistics_update_funcФункция обновления статистикипеременная new (содержит добавляемую запись)Обработанная запись
Statistics_print_funcФункция вывода результатапеременная new (содержит добавляемую запись)
start_dt (дата начала промежутка)
end_dt (дата конца промежутка)
field (поле для подсчёта)
Строка (состоит из 7 чисел)

Интерфейс с модулем создания таблиц через утилиту SQL Plus.

2.3. Модуль таблиц.

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

Интерфейс с модулем механизма создания отчётов через утилиту SQL Plus.

3. Структуры данных.

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

3.1. Таблица статистики("table_of_statistics").



Поле Тип Описание
Id NUMBER (6) NOT NULL PRIMARY KEY Идентификатор
R_date DATE Дата (день, месяц, год)
Reqday NUMBER (5) Кол-во запросов за день
Reqindex VARCHAR2 (50) Кол-во запросов за день по индексу (строка из 7 чисел, соответствующих индексам)
Reqsec VARCHAR2 (50) Кол-во уточняющих запросов за день по индексу (строка из 7 чисел, соответствующих индексам)
Reqdif VARCHAR2 (50) Кол-во сложных запросов за день по индексу (строка из 7 чисел, соответствующих индексам)
Reqres VARCHAR2 (50) Кол-во результативных запросов за день по индексу (строка из 7 чисел, соответствующих индексам)
Reqnull VARCHAR2 (50) Кол-во нулевых запросов за день по индексу (строка из 7 чисел, соответствующих индексам)

3.2. Таблица запросов("table_of_requests").



Поле Тип Описание
Id NUMBER (6) NOT NULL PRIMARY KEY Идентификатор
Ind VARCHAR2 (10) Внешний ключ на таблицу, где содержатся индексы
Krit VARCHAR2 (5) Внешний ключ на таблицу, где содержатся критерии
Termin VARCHAR2 (50) Поисковый термин
Iftype VARCHAR2 (50) Тип соединения запросов
Idadd NUMBER (5) Ссылка на следующую часть запроса
Res NUMBER (5) Результат (кол-во)
R_Type VARCHAR2 (50) Тип запроса
Freq NUMBER (5) Частота появления запроса



4. Основные алгоритмы.

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

4.1. Триггер обновления статистики.

Триггер обновления статистики.

Рис.3. Триггер обновления статистики.

4.2. Функция разбора строки.

Функция разбора строки.

Рис.4. Функция разбора строки.

4.3. Функция обновления статистики.

Функция обновления статистики.

Рис.5. Функция обновления статистики.

4.4. Функция вывода результатов.

Функция вывода результатов.

Рис.6. Функция вывода результатов.

5. Проект сборки и установки системы.

Для установки системы необходимо создать две таблицы: статистики ("table_of_statistics") и запросов("table_of_requests"). Эти таблицы описаны в структурах данных. Далее необходимо инсталлировать на сервер пакет install.sql при помощи стандартных средств SQL Plus. В пакете содержатся все функции и триггеры программной системы.

6. Проект интерфейса пользователя.

4.1. Публикация в веб.

Ссылка «Учет за последний месяц по дням»

Действие: Открывает форму отображения статистики

Входные параметры: запрос SQL Plus, поисковый индекс равен номеру текущего месяца

Выходные параметры: статистические данные, результат запроса

Ссылка «Учет по месяцам в течение текущего года»

Действие: Открывает форму отображения статистики

Входные параметры: запрос SQL Plus, поисковый индекс равен номеру текущего года

Выходные параметры: статистические данные, результат запроса

Ссылка «Учет по годам»

Действие: Открывает форму отображения статистики

Входные параметры: период учета статистики (с первого года учета по текущий)

Выходные параметры: статистические данные, результат запроса

Ссылка «Список часто встречающихся запросов»

Действие: Открывает форму отображения статистики

Входные параметры: запрос SQL Plus.

Выходные параметры: результат запроса, статистические данные

Ссылка «Список запросов с результатом поиска равным 0»

Действие: Открывает форму отображения статистики

Входные параметры: запрос SQL Plus

Выходные параметры: результат запроса, статистические данные

Шаблон используемый для отображения данных в интернете.

Рис.7. Шаблон, используемый для отображения данных в Интернете.

4.2. АРМ Администратора.

В АРМ администратора для отображение статистических данных будет использоваться шаблон следующего вида.

Шаблон используемый для отображения данных в АРМ Администратора.

Рис.8. Шаблон используемый для отображения данных в АРМ Администратора.

7. Трассируемость требований в проектных решениях.

Заказчик предъявил первоначальный список требований. После обработки этих требований командой разработчиков, требования были рецензированы заказчиком.

  1. Первоначальное требование заказчика заключалось в том, чтобы система должна состоять из двух частей для пользователя и администратора. Выполнив это требование, мы получили два вида интерфейса один через веб для пользователей, а другой шаблон MS EXCEL для встраивания в "АРМ Администратора" для администратора.
  2. Для пользовательской части через Интернет будет выводиться статистика о количестве запросов за определённый период (год, месяц, день), также список запросов по каждому поисковому индексу и список часто встречающихся запросов.
  3. Для администратора будет доступна через АРМ статистика о количестве запросов, уточняющих запросов, сложных запросов, результативных ответов, ответов с нулевым результатом. Вся статистика будет выводиться по 7 индексам, указанным в спецификации требований.
  4. Чтобы выполнить ещё одно требование о максимальной скорости работы. Мы разработали две структуры (таблицы), которые будут заполняться первоначально функциями (алгоритмы которых указаны), а в дальнейшем при помощи триггеров на основе функций.


Связанные документы:
Company Proprietary
Copyright © 2003-2004 Jason Robbins. All rights reserved. License terms. Retain this copyright statement whenever this file is used as a template.