Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 09:17, дипломная работа
Ключевую роль в управлении компанией в целом и ее отдельными подразделениями играет информация. Однако, данные, которые доступны менеджерам и аналитикам непосредственно из корпоративных информационных систем, не унифицированы, разрозненны и в общем случае не подготовлены для анализа. Системы Business Intelligence - это как раз тот класс информационных систем, который позволяет превратить сырые данные в полезную для бизнеса информацию и знания, используемые в управлении, на основе которых можно принимать решения.
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ И ТЕРМИНОВ 4
ВВЕДЕНИЕ 5
ЦЕЛИ И ЗАДАЧИ РАБОТЫ 7
ГЛАВА 1. ОСНОВНЫЕ ПОЛОЖЕНИЯ ТЕХНОЛОГИЙ БИЗНЕС ИНТЕЛЛЕКТА 8
1.1. Системы бизнес интеллекта 8
1.2. Внутренние интерфейсы Microsoft SQL Server 2005 10
1.3. Средства трансформации данных 11
1.4. Средства анализа данных 13
1.5. Средства визуализации данных 14
Выводы 14
ГЛАВА 2. ТЕХНОЛОГИИ ИНТЕРАКТИВНЫХ ИНФОРМАЦИОННЫХ ПАНЕЛЕЙ 16
2.1. Microsoft Reporting Services 16
2.2. Crystal Reports - технология генерации отчетности 22
2.3. Crystal Reports for Microsoft Visual Studio .NET 29
Выводы 32
ГЛАВА 3. МОДЕЛЬ СИСТЕМЫ ДЛЯ РАБОТЫ С ПЕРСОНАЛОМ ВУЗА 33
3.1. Контингент сотрудников и студентов в информационной картине факультета 33
Выводы 38
ГЛАВА 4. РЕАЛИЗАЦИЯ КОМПОНЕНТОВ СИСТЕМЫ БИЗНЕС ИНТЕЛЛЕКТА 40
4.1. Требования к системе Бизнес Интеллекта. Общая схема системы 40
4.2. Первичные данные системы Бизнес Интеллекта 41
4.3. Реализация модуля очистки, загрузки и обновления данных 44
4.4. Формирование многомерного хранилища данных 52
4.5. Модуль формирования отчетности 60
4.6. Модуль доступа к выходным документам 69
Выводы 69
ЗАКЛЮЧЕНИЕ 70
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 71
ПРИЛОЖЕНИЕ 1. «Структура хранилища данных» 72
ПРИЛОЖЕНИЕ 2. «Приложение работы с данными «Профсоюзный комитет» 76
ПРИЛОЖЕНИЕ 3. «Измерения проекта» 78
ПРИЛОЖЕНИЕ 4. «Структура кубов системы» 81
ПРИЛОЖЕНИЕ 5. «WEB-приложение» 87
ПРИЛОЖЕНИЕ 6. «Примеры выходных документов» 89
Поэтому было принято решение для создания приложения, которое собирает и организует информацию о профсоюзной направленности студентов факультетов и университета в целом. Так как на рабочих станциях работников профсоюзного комитета не имелось возможности для установления мощного хранилища данных, как, например, Microsoft SQL Server 2005, причем необходимости в хранении огромного количества данных не существовало, то было принято решение для организации хранения информации о профсоюзной направленности студентов в базе данных Microsoft Access (.mdb).
Так как перед нами не стояло ограничений по выбору средств реализации такого приложения, то организация ввода информации была реализована средствами Borland Delphi, что было достаточно быстрым и удобным на данный момент. Наиболее весомыми положительными моментами использования данной среды явились:
Следует добавить, что дальнейшее развитие данного направления может быть предпринято с использованием более изящных и модных средств программирования.
При реализации данного приложения, необходимо было обеспечить следующее:
Для выполнения организации обновления базы данных был реализован специальный модуль, выполняющий все необходимые требования (форма обновления базы представлена в приложении 2 на рис. 1):
Так как добавлять и исправлять профсоюзную информацию может только авторизованный пользователь, то необходимо было внести возможность авторизации в наше приложение.
В приложении 2 на рис. 2. представлена форма для редактирования имеющейся информации в базе данных.
Пример ввода информации о членских взносах приведен в приложении 2 на рис. 3.
Исходя из требования получения только необходимого на данный момент списка студентов, был реализован модуль создания фильтра из практически всего множества критериев, описывающих профессиональную направленность студентов, приняв который можно получить желаемый список студентов.
Пример создания фильтра критериев приведен в приложении 2 на рис. 4.
Конечным итогом использования данного приложения является генерация специальных отчетов. Пример их вызова показан в приложении 2 на рис. 5.
Пример готового отчета, сгенерированного средствами стандартных компонентов среды программирования Borland Delphi представлен в приложении 2 на рис. 6.
Важно заметить, что для создания такого рода отчета необходимо иметь достаточно навыков работы с компонентами среды Borland Delphi, необходимо уметь грамотно использовать их совместно с другими компонентами. Причем, даже при владении средним уровнем знаний в этой области, на создание такого отчета может уйти до двух дней. Поэтому целесообразно использовать мощные средства генерации отчетности, такие как Crystal Reports или Microsoft Reporting Services. В таких системах на создание отчета, при прозрачной, грамотной структуризации и хранении информации в хранилище данных, уходит минут двадцать. Причем остальное время уходит только на украшение отчета и приведение его к удобному для восприятия виду. Именно по этой причине, было принято решение, для реализации всех необходимых отчетов именно с помощью мощных средств, описанных выше. Описание процесса получения и системы готовых отчетов, полученных с помощью данных средств, будет приведено ниже.
Для организации очистки, загрузки и обновления данных в нашем хранилище данных, можно пойти по двум направлениям:
В ходе выполнения работы мы использовали и то и другое направление. В общем случае модуль сбора и обновления информации по расписанию построен следующим образом:
Рис. 4.2. Модуль сбора и обновления информации по расписанию
Исходя из структуры модуля, целесообразно привести положительные и отрицательные моменты каждого направления. Положительным фактом при использовании DTS-пакетов является то, что обработка возникших коллизий информации происходит в процессе сбора и обновления, перед тем как попасть в хранилище данных, что обеспечивает недопущение попадания неверной информации в прозрачное хранилище данных. Однако создание и настройка DTS-пакета достаточно трудоемкая, требующая достаточных навыков, задача.
Достаточно быстрое
С помощью связанного сервера имеется возможность создания достаточно прозрачные, удобные в использовании SQL-выражения, которые предоставляют возможность доступа к внешней информации, выкачивания полезных данных, сопоставления, обновления и комбинирования с информацией, расположенной на локальном сервере (хранилище данных).Также как и для DTS-пакета, для связанных серверов можно настроить определенную работу (Job), которая будет загружать, обновлять и очищать необходимые данные. А в свою очередь каждую работу можно настроить выполняться в определенное время, т.е по расписанию (Schedule).
Теперь опишем использованные направления для реализации модуля сбора, очистки, загрузки и обновления информации по расписанию более подробно.
В предыдущей главе были описаны основные проблемы корректности информации в базе данных АСУ «Университет». И как отмечалось, одним из способов решения этих проблем является проверка корректности данных на этапе загрузки данных системы Бизнес Интеллекта.
Таким образом, перед тем, как нужные данные попадут в хранилище, необходимо проверить их на корректность. Для этого на платформе Microsoft SQL Server существуют специальные службы – DTS (Data Transformation Services). С помощью этих служб необходимо создать модуль очистки и загрузки данных в хранилище. Этот модуль позволит в какой-то степени автоматизировать процесс очистки данных от некорректных значений и выбрать только нужную информацию о сотрудниках университета из всей совокупности таблиц базы данных АСУ «Университет».
Пакеты могут создаваться из графического интерфейса SQL Server 2005 Management Studio и программным путем. Графически пакет создается через DTS Designer, либо неявно через DTS Import/Export Wizard. Последний решает простейшие задачи переноса данных и может быть запущен как из контекстного меню соответствующего объекта SQL Server, так и из командной строки (dtswiz.exe). DTS Designer решает более сложные задачи с преобразованием данных в процессе переноса, ветвлением последовательности выполнения и т.д. Все действия над пакетом и его компонентами, которые доступны из графического интерфейса: создание, изменение тех или иных параметров, выполнение и пр., также могут быть выполнены из приложения с помощью библиотеки Microsoft DTS Package Object Library.
В нашем случае DTS-пакет будет создан с помощью графического интерфейса DTS Designer. В пакет необходимо включить перенос необходимых таблиц, содержащих данные о сотрудниках, из базы данных АСУ «Университет» с предварительной очисткой и преобразованием.
DTS-пакет представляет собой полное описание всех действий, которые должны быть выполнены в ходе преобразования. Каждый пакет определяет одну или несколько задач, выполняемых в некой координированной последовательности.
Перед описанием последовательности выполняемых задач, необходимо создать источники и приемники данных. В нашем случае в качестве источников будут выступать необходимые таблицы базы данных АСУ «Университет». В DTS-пакете можно описать соединения к разным видам источников. К таким источникам относятся различные версии MS SQL Server, Oracle, Excel, Access, Paradox, dBase и текстовые файлы. Т.к. первичные данные хранятся в базе данных SQL Server, то необходимо создать соединения вида Microsoft OLE DB Provider for SQL Server. Таким же образом создается приемник данных – соединение с базой данных «ASU_SOTRUDNIKI». .
Над описанными источниками и приемниками данных необходимо проводить определенные действия. Для этого в DTS-пакет можно добавить задачи. Задача представляет собой определение некоторой порции работы, которую необходимо выполнить в ходе преобразования. Задача может реализовывать транспортировку и преобразование разнородных данных из OLE DB-источника в OLE DB-приемник с помощью объекта переноса данных DTS Data Pump, выполнять сценарий ActiveX Script или же запускать внешнюю программу. В нашем DTS-пакете необходимо определить два типа задач: задача удаления устаревших данных из приемника и задачи преобразования и транспортировки новых данных из источника в приемник. Для первого типа задач подходит объект вида Execute SQL Task, в котором можно определить SQL-скрипт для удаления данных из приемника. В качестве второго типа задач необходимо применить объект Transform Data Task. В задачах такого вида можно задать как обычный перенос данных из одной таблицы в другую, так и преобразование данных с помощью сценариев ActiveX Script на языках JScript Language или VB Script Language. В нашем случае для очистки сырых данных от ошибочной и некорректной информации будет использоваться язык VB Script Language.
После создания соединений и задач, необходимо определить последовательность выполняемых действий. В частности, необходимо, чтобы перед выполнением задачи преобразования и переноса данных выполнялась задача удаления всех устаревших данных из приемника. Для этого в DTS-пакете создаются так называемые объекты-шаги. Объекты-шаги координируют потоки управления и выполнения задач в DTS-пакете. Несколько задач могут быть запущены параллельно, что повышает производительность процесса. Так, например, в нашем пакете задачи по переносу и преобразованию данных будут выполняться параллельно, однако только после выполнения задачи удаления данных из приемника.
В результате выполнения DTS-пакета необходимые очищенные данные помещаются в хранилище данных, схема которого изображена на рис. 4.3:
Рис. 4.3. Схема хранилища данных «ASU_SOTRUDNIKI»
Далее подробно опишем процесс реализации модуля очистки и загрузки данных с использованием DTS-пакета.
Перед помещением информации из внешних источников данных в хранилище данных необходим этап очистки и согласования данных, реализуемый набором программ извлечения данных.
На начальном этапе необходимо полученные из отдела АСУ данные очистить от «мусора». Под очисткой данных следует понимать фильтрацию сырых данных на предмет определения наличия некорректных данных. В связи с этим разрабатываемый модуль должен не допустить попадание ошибочных и некорректных данных в хранилище, т.к. это может прямым образом повлиять в дальнейшем на работоспособность остальных модулей системы.
Так как система Бизнес Интеллекта факультета разрабатывается на платформе MS SQL Server 2005, то целесообразно применение в качестве средства разработки данного модуля служб DTS (Data Transformation Services).
Для очистки сырых данных и заполнения хранилища данных необходимо было создать и выполнить так называемый пакет DTS (DTS Package), содержащий описание последовательности всех действий, которые следует выполнить при переносе данных (включая преобразование типов данных, выполнение SQL-запросов и т.д.).
Ниже рассмотрен процесс создания пакета DTS, заполняющего хранилище ASU_SOTRUDNIKI данными из оперативной базы данных ASU.
При создании пакета необходимо описать источник данных для формируемого хранилища данных и приемник данных – само хранилище. В связи с тем, что из всей базы данных АСУ нам необходимы только некоторые таблицы и справочники, были созданы источники данных, соответствующие каждой таблице. На рабочем пространстве редактора DTS-пакетов в центре, как видно из рисунка, расположены пиктограммы таблиц-источников данных . Названия, расположенные чуть ниже каждой такой пиктограммы, соответствуют названиям таблиц оперативной базы данных ASU, откуда и будут браться данные.
При описании каждого источника данных необходимо выбрать соответствующую базу данных и указать параметры доступа к ней. Как видно из рисунка 4.4. создаваемый источник соответствует таблице OBD базы данных ASU, содержащей сведения о сотрудниках университета.
Рис. 4.4. Описание источника данных в DTS-пакете
Аналогичным образом производится описание приемника данных ASU_SOTRUDNIKI.
Перед заполнением хранилища данных необходимо очищать входящие в него таблицы. Для этого необходимо поместить на рабочее пространство редактора DTS-пакетов пиктограмму Execute SQL Task . Этот тип задач позволяет выполнять необходимые SQL-скрипты. В нашем случае этот SQL-скрипт просто будет последовательно выполнять команду DELETE FROM для каждой из таблиц, содержащихся в хранилище данных.