Міністерство освіти і науки України Харківський національний університет радіоелектроніки Факультет комп’ютерних наук

advertisement
Міністерство освіти і науки України
Харківський національний університет радіоелектроніки
Факультет комп’ютерних наук
Кафедра штучного інтелекту
КУРСОВИЙ ПРОЕКТ
ПОЯСНЮВАЛЬНА ЗАПИСКА
«Система конструювання звітів на основі даних модулей онтологій»
Розробив:
ст. гр. IСПР-02-1
Коренков М.I.
Прийняв:
доц.
Вiтько О.В.
Харків 2006
ХАРКІВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ РАДІОЕЛЕКТРОНІКИ
Кафедра __________________________________________________________
Дисципліна________________________________________________________
Спеціальність______________________________________________________
Курс_____________. Група___________________. Семестр_______________.
ЗАВДАННЯ
на комплексний курсовий проект студента
(прізвище, ініціали)
1. Тема проекту
2. Термін здачі студентом закінченого проекту:
3. Вихідні дані до проекту
4. Зміст пояснювальної записки
5. Перелік графічного матеріалу (зміст слайдів на презентацію)
КАЛЕНДАРНИЙ ПЛАН
№
Назва етапу
1
Видача теми ККП, узгодження і затвердження теми
2
Аналіз предметної області, постановка задачі
3
Проектування системи, розробка об’єктної моделі
4
Програмування системи
5
Тестування системи
6
Оформлення пояснювальної записки
7
Здача проекту
Термін виконання
Студент
Коренков М.І.
Керівник
Вiтько О.В.
“____ ” _____________ 2006 р.
РЕФЕРАТ / ABSTRACT
Пояснювальна записка до комплексного курсового проекту: __ с., __ іл., __ табл., __
джерел.
Об’єктом дослідження є процес створення звітів на основі даних, які получені при
обробці онтологій.
Методом розробки обрано технологію розробки java.
Метою роботи є розробка системи для зручного створення звітів.
У результаті проекту здійснена програмна реалізація системи, яка дозволяє
створювати різноманітні таблиці та звіти, надає можливість налаштування зовнішнього
вигляду кінцевого документу. В процесі розробки були використані технології java, XML,
XSLT та Idea 5.0.
ОНТОЛОГІЯ, ЗВІТ, КОРИСТУВАЧ, JAVA, XML, XSLT, XPATH.
Объектом исследования является процесс создания отчетов на основании данныз,
полученных при обработке онтологий.
Методом разработки выбрана технология java.
Цель работы – разработка системы для удобного создания отчетов.
В результате проекта произведена программная реализация системы, которая
позволяет создавать различные таблицы и отчеты, предоставляет возможность настройки
внешнего вида конечного документа. В процессе разработки были использованы технологии
java, XML, XSLT та Idea 5.0.
ОНТОЛОГИЯ, ОТЧЕТ, ПОЛЬЗОВАТЕЛЬ, JAVA, XML, XSLT, XPATH.
СОДЕРЖАНИЕ
Введение ...............................................................................................................................................
1 Анализ предметной области и постановка задачи ........................................................................
1.1 Представление данных в формате HTML ...................................................................................
1.2 Представление данных в формате XML......................................................................................
2 Спецификация системы ...................................................................................................................
2.1 Пользователи системы, их возможности и работа системы ......................................................
2.2 Язык системы .................................................................................................................................
3 Объектная модель модулей ............................................................................................................
Выводы .................................................................................................................................................
Перечень ссылок ..................................................................................................................................
Приложение А Структура базы данных ............................................................................................
ВВЕДЕНИЕ
Интернет в современном информационном мире выполняет крайне важную роль,
предоставляя пользователю мгновенный доступ к разнообразной информации, не отходя от
своего рабочего места. Однако в настоящее время Интернет представляет собой
неупорядоченное множество информации, добыть необходимые знания из которой
обычному пользователю становится довольно сложно. Это объясняется бурным ростом
информационного наполнения WWW и непрофессиональное представление данных с
помощью языков разметки, таких как html, которые крайне неудобно обрабатывать и
производить поиск внутри документа.
В результате поиска решения описанной проблемы создаются и утверждаются
спецификации языков представления данных и знаний, которые можно обрабатывать в
автоматическом режиме, таких как XML, RDF(S), OWL.
1 АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ И ПОСТАНОВКА ЗАДАЧИ
1.1 Представление данных в формате HTML
HTML(Hypertext markup language. С англ. — «язык гипертекстовой разметки») — это
приложение SGML (Standard Generalized Markup Language [Стандартный обобщенный язык
разметки]), соответствующее международному стандарту ISO 8879; оно считается
стандартным языком публикации в World Wide Web.
Язык гипертекстовой разметки (HyperText Markup Language), основной язык для
создания web-страниц. HTML определяет расположение элементов web-документа (таблиц,
ссылок, рисунков и т.д.), использующиеся шрифты, форматы заголовков, графические
элементы и т.д. с помощью набора тегов - специальных ключевых слов. HTML не является
языком программирования в традиционном смысле; фактически это формат Интернетдокументов.
Достоинства данного метода представления – простота и наглядность, недостатки –
невозможность автоматической обработки содержимого документа и отсутствие каких-либо
процедур вывода в принципе.
Описание фрагмента структуры для определения экземпляров предметной области
приведено в приложении А.
В качестве примера на рисунке 1.1 представлен фрагмент описания предметной
области в формате HTML.
Рисунок 1.1 – Web документ в формате HTML
1.2 Представление данных в формате XML
XML (Расширяемый язык разметки) — рекомендация Консорциума W3С по
созданию специализированных языков разметки. Он является упрощённым подмножеством
языка SGML и может описывать множество разнообразных видов данных. Его первичное
назначение — способствовать совместному использованию структурированного текста и
информации в Интернете. Языки базирующиеся на XML (например, RDF, SMIL, MathML,
XSIL и SVG) сами по себе формально описаны, что позволяет программно изменять и
проверять корректность документов на этих языках без знания их формата.
XML — это язык разметки для представления структурированных данных. XML
предоставляет новое поколение языков для передачи данных через Web. Этот язык является
современным инструментом для создания и обработки документов; его возможности
используются многими программами, в частности, Microsoft Office и ABBYY FineReader.
С помощью языка XML удобно создавать небольшие «клиентские базы данных», он
прост в обработке и достаточно понятен. Совместно с имеющимися расширениями языка
(XSL, XPath и т.д.) представляет собой мощное средство по хранению и передаче
информации в Интернет.
При всех своих достоинствах XML представление не лишено недостатков. Так, хотя с
помощью расширений он позволяет эффективно представлять информацию, создание
информационных порталов на XML заметно труднее, нежели на HTML, отсутствие какихлибо ограничений по вводу пользовательских тэгов часто приводит к неоднозначному
пониманию содержимого документа.
Описание фрагмента структуры для определения экземпляров предметной области
приведено в приложении Б.
На рисунке 1.2 представлен фрагмент документа, использующий технологию XML.
Рисунок 1.2 – Web документ в формате XML
2 СПЕЦИФИКАЦИЯ СИСТЕМЫ
2.1 Пользователи системы, их возможности и работа системы.
Система рассчитана на продвинутого пользователя, умеющего работать с XML. При
необходимости пользователь может изменить XSLT шаблон для получения более
специфического html репорта. Действия пользователя, предусмотренные системой, указаны
на рис. 1.1.
Рисунок 2.1 – Возможности пользователей
В начале своей работы пользователь описывает свои требования к отчету на языке
системы, либо загружает сохраненный xml файл. После чего выбирает пункт меню File Make Report (рис 2.2) Появится диалоговое окно выбора XSLT файла для преобразования
готового xml-отчета в конечный html-документ. Пользователь может отказаться от html
отчета, нажав кнопку Cancel в появившемся диалоговом окне. В этом случае он получит
только результирующий xml документ.
Рисунок 2.2 – Выбор xslt шаблона.
После проведенных действий данные будут находиться в соответствующих вкладках
приложения (рис. 2.3). Так, во вкладке Configuration находится xml описание отчета, во
вкладке xml preview – отчет в виде xml, а во вкладке html preview – тот же отчет, но с
выполненными xslt преобразованиями.
Рисунок 2.3 – Главное окно системы.
2.2 Язык системы
Корневым элементом является элемент report. Он содержит в себе dataSource
элементы, указывающие на источники данных и их условные названия в системе (alias).
Система поддерживает 2 типа источников данных xml документ и jar архив. В поле path
должны быть указаны абсолютные пути к модулям. В случае с jar архивом через запятую
должен быть указан класс который реализует интерфейс IReporterModule. Затем идет
определение таблицы, где через запятую указываются условные названия модулей,
используемые при ее построении. В элементе header находится html часть таблицы, которая
не подвергается никаким преобразованиям в процессе создания отчета.
Рисунок 2.4 – Xml язык системы
В элементах rows и columns могут содержаться шаблонные элементы, в частности –
автоинкрементальный столбец или строка. Для ряда обязательно должен быть указан
атрибут items, который говорит, сколько элементов в этом ряду. Атрибуты seed и start
отвечают за число на которое увеличивается значение в ряду либо колонке и с какого
начинается соответственно. Атрибут suffix отвечает за текстовое дополнение, например,
после числа должна ставиться скобка или точка. В этом случае скобка или точка должна
быть указана в атрибуте suffix. Index – это порядковый номер ряда, начиная с 0.
3 ОБЪЕКТНАЯ МОДЕЛЬ МОДУЛЕЙ
Система может использовать модули в jar архивах. Для этого нужно реализовать в
классе, отвечающем за выходную информацию, интерфейс IReportModule (рис 3.1), собрать
свой модуль в jar архив, например, средствами Idea 5.0.
Рисунок 3.1 - Листинг интерфейса IReportModule
Основным методом которого является функция getOutput(), которая возвращает
объект ModuleOutput. Где, в свою, очередь, содержится коллекция выходных элементов
системы OutputItems, расширяющий ArrayList. Каждый из выходных элементов должен
реализовывать интерфейс IOutputItem, представленный на рисунке 3.2. Элемент выхода
должен содержать запрос к онтологии (question) и набор ответов - объектов, реализующих
IResponse интерфейс системы (рис. 3.3).
Рисунок 3.2 – Листинг интерфейса IOutputItem
Рисунок 3.3 – Листинг интерфейса IResponse
В большинстве случаев, класс, реализующий интерфейс IResponse должен содержать
всего два поля – value и type и набор акксессоров для этих полей. Система содержит класс
Response как пример реализации интерфейса IResponse (рис 3.4). Данный класс рассчитан на
работу с текстовыми данными.
Рисунок 3.4 – Листинг класса Response
ВЫВОДЫ
Для решения задачи были использованы технология java и среда разработки Microsoft
Inteli JIdea 5.0. В
Достоинствами курсовой работы можно считать широкий набор функций, которые
предоставляет разработанная система пользователям, а также масштабируемость как самой
системы, так и отчетов, которые она позволяет генерировать. Разработанная система
поддерживает 2 типа источника данных, что позволит ее удобно интегрировать с уже
существующими модулями – онтологиями, так и с теми, которые будут разработаны с
использованием нового стандартизированного подхода. Недостатком системы является
достаточно высокие требования к пользователю.
ПЕРЕЧЕНЬ ССЫЛОК
1. П. Ноутон, Г. Шилдт. Java 2. Наиболее полное руководство. 3-е издание — СПб.: BHVПетербург, 2001. — 1072 с.
2. М. Холл. Сервлеты и Java Server Pages — СПб.: Питер, 2001. — 496 с.
3. Б. Мак-Лахлин. Java и XML, 2-е издание — М.: Символ-плюс, 2002. — 544 с.
4. Б. Эккель. Философия Java. Библиотека программиста. 3-е издание — СПб.: Питер, 2003.
— 976 с.
5. Д. Блох. Java. Эффективное программирование — М.: Лори, 2002. — 224 с.
6. К. Арнолд, Д. Гослинг, Д. Холмс. Язык программирования Java — М.: Вильямс, 2001. —
624 с.
7. Б. Тей. Горький вкус Java — СПб.: Питер, 2003. — 233 с.
8. С. Стелтинг, О. Маасен. Применение шаблонов Java. Библиотека профессионала — М.:
Вильямс, 2002. — 576 с.
9. http://www.sun.com/
10. http://javagu.ru/
11. http://www.javable.com/
Download