скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыДипломная работа: Подсистема визуальной генерации отчётов в рамках информационно-образовательного портала

·  поиск текста в сформированном отчёте;

·  редактирование сформированного отчёта;

·  форма отчёта может храниться во внешнем файле;

·  защита от несанкционированного доступа к базам данных путём аутентификации пользователей.

Решение данной задачи разбивается на следующие подзадачи:

·  разработка конструктора отчёта;

·  разработка модулей конструктора запросов к информационным ресурсам;

·  разработку модуля создания групп ключевых слов;

·  разработку модуля, реализующего поиск по группам ключевых слов.

Генератор отчетов позволит снизить временные затраты на формирование отчетности, так как он:

·  заменит заполнение бумажных бланков отчетов на ввод данных в соответствующие поля ввода и/или заполнение отчета из источника данных;

·   упростит корректировку данных в отчете;

·   снимет необходимость повторно заполнять бланк, если требуется несколько копий одного и того же документа;

·   уменьшит количество ошибок, связанных с:

·  заполнением нескольких копий отчета;

·  неправильным расчетом контрольных сумм и других расчетных показателей;

·  необходимостью выбора значения из классификаторов и справочников.

Программное средство должно быть легко внедрено в существующий информационный портал учебного заведения, что достигается путём разработки модулей с помощью фреймворка Code Igniter и использования системы управления базами данных PostgreSQL (8.4+).


2. Алгоритмическое конструирование подсистемы визуальной генерации отчётов

 

2.1 Общий алгоритм работы программы

Весь алгоритм работы программы можно разбить на следующий блоки:

1)  Запуск программного средства

2)  Авторизация пользователя

3)  Определение прав доступа к функционалу программы

4)  Подключение приложения к выбранной базе данных

5)  Открытие шаблона отчёта

6)  Генерация отчёта путём составления SQL запросов в базу данных посредством графического интерфейса пользователя

7)  Отображение отчёта

8)  Ввод и корректировка данных

9)  Форматирование отчёта

10)  Сохранение отчёта

11)  Печать отчёта

12)  Закрытие приложение

На рисунке 1 приведена общая блок-схема работы программного обеспечения.


Рисунок 1 – Общая схема работы генератора отчётов.

2.1.1 Схема модуля программы, отвечающего за авторизацию пользователя

Для доступа к функциям разрабатываемого программного средства используется ограниченный доступ. Авторизация пользователя осуществляется путем ввода логина и пароля, и проверяется сервером посредством запроса в базу данных. Таким образом, доступ к конфиденциальным данным университета закрыт от посторонних лиц. Что ведет к защите таких свойств информации как: целостность, доступность и достоверность.

На рисунке 2 приведена схема создания защищённого соединения.


Рисунок 2 – Создание защищённого соединения

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

Когда пользователь авторизован, создается временное представление, содержащее поля таблиц персональных данных в зашифрованном виде.

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

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

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

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

2.2 Конструктор запросов

Конструктор запросов подразумевает создание SQL запросов посредством графического интерфейса пользователя (GUI).

Идея заключается в наличии у пользователя некоторой подготовленности и знанию ER-модели существующей системы управления базами данных. Посредством GUI обеспечивается удобное составление запросов.

Конструирование отчета производится на базе некоторого отношения, полученного из базы данных (рисунок 3). Запрос таких отношений производится средствами языка манипулирования данными, входящими в состав СУБД, в нашем случае, средствами оператора Select, предоставляющего возможности по выполнению реляционных операций селекции и объединения, а также позволяющих применять группировку результатов запроса.


Рисунок 3 - Общая схема запросов к базе данных генератора отчётов.

2.3 Схема информационных потоков, разрабатываемой подсистемы

Схема безопасной обработки персональных данных конструктором запросов показана на рисунке 4. Опишем схему безопасной обработки персональных данных конструктором запросов.

Рисунок 4 - Схема безопасной обработки персональных данных.


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

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

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

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

 

2.4 Схема создания временного представления для текущего пользователя

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

Рисунок 5 – Схема создания временного представления

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

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

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

Сформированный запрос к СУБД выполняется и создается временное представление.

 

2.5 Конструктор отчёта

Конструктор отчёта реализует функции визуализации, выбранных, посредством запросов, различных данных.

В качестве базового формата представления данных выбран MS Excel 2003.

Конструктор отчёта представляет собой следующую структуру (Рисунок 6):


«Заголовок отчёта»
«Заголовок группы 1»
«Заголовок группы 2»
--------
Данные отчёта
«Окончание группы №…»
«Окончание группы 2»
«Окончание группы 1»
«Окончание отчёта»

Рисунок 6 – Структура визуального представления отчёта

2.5.1 Работа оператора Select

Источником данных является таблица (отношение) – результат выполнения SQL-запроса «Select». С помощью этой команды можно получить доступ к данным, представленным как совокупность таблиц практически любой сложности.

Чаще всего используется упрощенный вариант команды SELECT, имеющий следующий синтаксис:

SELECT <Список_выбора>

[INTO <Новая_таблица>]

FROM <Исходная_таблица>

[WHERE <Условие_отбора>]

[GROUP BY <Ключи_группировки>]

[HAVING <Условие_отбора>]

[ORDER BY <Ключи_сортировки> [ASC | DESC] ]

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

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

При необходимости пользователь может указать для столбца, возвращаемого после выполнения запроса, произвольное имя. Такое имя называется псевдоним (alias). В обычной ситуации назначение псевдонима необязательно, но в некоторых ситуациях требуется явное его указание. Наиболее часто это требуется при работе с разделом INTO, в котором каждый из возвращаемых столбцов должен иметь имя, и это имя должно быть уникально.

SELECT ALL Семестр, Отчетность

FROM Учебный_план

SELECT TOP 5 * FROM Студенты – первые 5 строк

SELECT TOP 10 PERCENT * FROM Студенты – первые 10% от таблицы

SELECT Дисциплина.ID_Дисциплина as Дисц-на, Наименование, Семестр

FROM Дисциплина, Учебный_план

SELECT Наименование, Семестр, Количество_часов

FROM Учебный_план INNER JOIN Дисциплины ON

Учебный_план.ID_Дисциплина=Дисциплины.ID_Дисциплина WHERE Количество_часов>60

SELECT Наименование, Семестр, Количество_часов

FROM Учебный_план LEFT OUTER JOIN Дисциплины ON

Учебный_план.ID_Дисциплина=Дисциплины.ID_Дисциплина

WHERE (Наименование LIKE ‘%информатик%)

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

Форматирование листа XLS производится автоматически перед выдачей его пользователю: лист отчёта вписан в область печати, т.е. данные равномерно распределены по ширине листа, если не указаны другие параметры.

 

2.6 Схема работы программы

На рисунке 5 представлена схема работы программы конструктора отчетов.

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

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

Страницы: 1, 2, 3, 4, 5, 6


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.