Разработка подсистемы учёта и поиска электронной литературы

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Введение

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

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

Многие технологии, обеспечивающие работу электронных библиотек (ЭБ), еще находятся в стадии освоения; до сих пор нет однозначного определения ЭБ — многие библиотекари готовы назвать электронной библиотекой как один CD-ROM, так и Интернет в целом, и, кстати, это не так уж неверно. Первоначально понятие электронных библиотек напугало библиотекарей и многие стали увязывать появление и развитие ЭБ с постепенным исчезновением печатных документов и с будущим крахом бумажных изданий. Конечно, ЭБ никогда не упразднят печатный фонд, более того, они его дополняют, сохраняют и развивают. Для конкретных библиотек ЭБ — одновременно и часть фонда, и новый элемент информационных технологий, вот почему простому библиотекарю иногда бывает сложно это понять. Но с каждым годом понимание усиливается; сегодня в проекты электронных библиотек вовлечено множество библиотек. Пришло понимание, что ЭБ, как и Интернет существенно расширяют спектр обслуживания для пользователей библиотек и создают предпосылки для нового, качественного преобразования библиотек в общественные центры информационного общества. Наряду со все еще остающимися рутинными процессами и бюджетными проблемами, библиотеки находят свой интерес, видят свою перспективу и перспективу для своих пользователей.

Целью написания данного курсового проекта является создание подсистемы учета и поиска электронной литературы. Эта система должна обеспечивать возможность удобного поиска и получения экземпляра электронной литературы, а также возможность редактирования базы литературы некоторыми привилегированными пользователями (преподавателями, библиотекарями).

1. Формирование требований к подсистеме учёта и поиска электронной литературы

1.1 Описание пользователей

1.1.1 Сведения о пользователях

У системы два основных типа пользователя: студент и преподаватель. Студент осуществляет поиск литературы. Преподаватель (либо сотрудник библиотеки) добавляет электронную литературу в базу данных и вводит основную информацию, необходимую для поиска.

1.1.2 Пользовательская среда

Операционная система: Microsoft Windows 2000/МЕ/ХР/Vista.

1.1. 3 Профили пользователей

Профили пользователей и их описание приведено в таблице 1.

электронный литература поиск программный

Таблица 1 — Профили пользователей

Типичный представитель

Студент

Описание

Пользователь системы, наделенный правами на поиск и скачивание электронной литературы

Тип

Пользователь

Ответственности

-

Критерий успеха

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

Типичный представитель

Преподаватель

Описание

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

Тип

Пользователь

Ответственности

Обеспечение успешного поиска литературы путём ввода необходимой для этого информации о размещаемой электронной литературе

Критерий успеха

добавление электронной литературы к имеющемуся набору

1.1.4 Ключевые потребности пользователей

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

1.2 Краткий обзор изделия

1.2.1 Контекст использования системы

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

1.2.2 Сводка возможностей

Требуемые возможности подсистемы приведены в таблице 2.

Таблица 2 — Возможности подсистемы

Выгоды заказчика

Поддерживающие возможности

Упрощение поиска литературы

Возможность дистанционного поиска литературы по нескольким критериям

Ускорение обращения информации

Система позволит ускорить процесс получения экземпляров электронной литературы

Отказ от излишних коммуникаций

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

1.2.3 Предположения и зависимости

Система будет использоваться в библиотеке и должна использовать стандарт (формат) используемой в библиотеке базы данных MARC.

1.3 Возможности продукта

1.3.1 Подбор литературы

Возможность поиска по ряду критериев и получения экземпляра электронной литературы.

1.3.2 Редактирование набора литературы

Возможность добавления (удаления) электронной литературы к имеющемуся массиву.

1.4 Ограничения

Система должна использовать СУБД «клиент-сервер» и стандарт организации баз данных MARC.

1.5 Другие требования к изделию

1.5.1 Применяемые стандарты

Разрабатываемая подсистема учёта и поиска электронной литературы будет ориентирована на стандарт организации баз данных MARC (MAchine Readable Cataloging), так как он в настоящее время широко распространён среди библиотек высших учебных заведений. Система должна соответствовать всем стандартам Web-интерфейса.

1.5.2 Системные требования

Сервер: процессор с тактовой частотой 850 МГц или выше, 256 МБ оперативной памяти, жёсткий диск 40 ГБ, ОС Microsoft Windows 2000/МЕ/ХР/Vista, СУБД Microsoft SQL Server 2000 или выше, IIS сервер,. NET Framework 1.1 или выше.

Клиент: Любое устройство, на котором установлен браузер и способное использовать протокол HTTP (компьютер, некоторые модели мобильных телефонов).

1.5.3 Эксплуатационные требования

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

1. 6 Требования на входные данные

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

Таблица 3 — Входные данные

Источник данных

Параметр

Тип данных

Ограничения

Студент

Критерии поиска

Массив строк (string[])

Нет

Преподаватель

Информация об удаляемом экземпляре (ключ)

Целое число (int)

0−2 147 483 647

Экземпляр литературы

файл

Нет

Информация о экземпляре

Массив строк (string[])

длина каждой строки< 256

1.7 Требования на выходные данные

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

1.8 Разработка диаграммы вариантов использования

На основании требований к подсистеме была разработана диаграмма вариантов использования, представленная в приложении В.

2. Анализ предметной области

В последнее время огромное распространение получают учебные электронные пособия.

Электронная книга (англ. ebook) — версия книги в электронном (цифровом) виде. Для обозначения цифровых версий книг, для хранения которых используются открытые форматы, основанные на простых текстовых файлах, используется также термин e-text (англ. электронный текст). Электронными текстами называются и учебные электронные пособия, в состав которых, помимо текста, включаются растровые изображения, примеры данных, упражнения, специально написанные комментарии и ответы на возможные вопросы. В настоящее время многие хранители формации на бумажных носителях (библиотеки, архивы, музеи) по-новому взглянули на проблему сохранности своих фондов и занялись их «оцифровыванием». С помощью планшетных, ручных, проекционных сканеров изображение, например, страницы книги вводится в компьютер. Получаемая электронная копия сохраняется как графический файл (особенно если это редкая книга с множеством пометок на полях или карта) или как текстовой файл (если, например, ведется «поточное» сканирование объемных книг). При последнем подходе «для потомков» сохраняется лишь текстовое содержание документа, однако оно занимает меньше места и с ним можно работать (например, использовать поисковую систему). Графический файл высокого качества очень громоздок, но содержит достаточно точную электронную копию оцифрованного документа. Создание такого сохранного фонда связано также с понятием электронной библиотеки.

Электронные книги могут распространяться в файлах различных форматов:

— графические растровые — TIFF, JPEG, DjVu и т. п. ;

— графические векторные с оформлением — RTF, HTML, открытый формат электронных книг (OPF FlipBook), HTMLHelp (. chm), SGML, XML, FictionBook (. fb2), TeX, PDF, Microsoft (. lit), eReader, PostScript (. ps), ExeBook, Mobipocket (. prc), DesktopAuthor, RBS — Radix-Tools REBUS.

— простой текст (plain text).

Но эта классификация условна. Например, PostScript (. ps,. eps), PDF могут быть чисто векторными. Так же DOC, PDF могут содержать только растровые отсканированные картинки или же наоборот — содержать только текст.

К преимуществам электронных версий перед традиционными бумажными относятся:

— малый объем (на компьютере можно хранить десятки и сотни тысяч книг);

— возможность полнотекстового поиска (если текст книги распознан или набран);

— возможность быстрого и простого изменения гарнитуры и кегля шрифта;

— низкая стоимость распространения (в большинстве случаев оплачивается только объем информации, переданной по компьютерным сетям, или физический носитель, например, компакт-диск).

К недостаткам электронных документов относятся:

— потенциальная несовместимость с новым аппаратным или программным обеспечением;

— экраны некоторых устройств быстро переутомляют глаза;

— разрешение экранов большинства устройств на сегодня таково, что «качество изображения» на них пока значительно хуже, чем у бумажного аналога;

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

Существуют, однако, книги, изначально создающиеся в цифровом формате, В данный момент это чаще всего энциклопедии, словари и альбомы, доступные на компакт-дисках или «загружающиеся» из различных Интернет-магазинов. Целесообразно было бы разобраться в том, какими достоинствами и недостатками обладают эти новые носители информации и какие проблемы, связанные с ними, нам предстоит решать. В результате развития компьютерных технологий все чаще выпускаются книги на компактных или гибких дисках. Электронный формат позволяет наравне с текстом использовать в книге аудио- и видеозаписи, базы данных, гиперссылки и специальные поисковые программы. Неудивительно, что в первую очередь в цифровом формате стали появляться энциклопедии, словари, альбомы, географические карты. Примером электронной книги является оксфордское электронное издание Шекспира, выпущенное в 1989 г. Оно включает электронную версию Полного 55-томного собрания сочинений великого писателя. В руководстве, сопровождающем текст, разъясняются используемые специальные символы, способы анализа электронного текста. Читаются электронные книги на экранах мониторов. Электронные книги могут также читаться вслух компьютером. Например, корпорация Microsoft на компактном диске предлагает энциклопедию. Она содержит много фотографий, иллюстраций, карт, мультипликационных сюжетов. В течение 8 часов компьютер хорошо поставленным голосом может прочитать текст этой электронной книги, в режиме диалога провести поиск информации.

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

Электронные технологии уже заметно ускорили и упростили процесс издания книги. Теперь временное расстояние между написанием рукописи и массовым прочтением книги может сократиться еще значительнее и станет занимать недели и даже дни.

Как известно, издатель не станет тратить деньги на печать, хранение и доставку текстов на бумаге, не убедившись в существовании определенного спроса на книгу. В электронном издательстве подобных расходов нет.

Известно, что огромная часть издательских расходов относится к необходимым для этого материалам. Как пишет журнал «Computerworld Россия», газетная индустрия только в США ежегодно поглощает 50 млрд дол. При этом 20 млрд дол. уходят на расходные материалы. При создании электронной книги эти траты сводятся к нулю. Кроме того, некоторые специалисты отмечают и низкую стоимость редактирования и подготовки. Цифровые издания способны существенно снизить расходы издателей, что должно отразиться и на цене книг в магазинах. Пользователи же электронных библиотек имеют возможность получить и распечатать книгу совершенно бесплатно.

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

Явное преимущество электронных книг — сопровождение текста звуком и видеоматериалами. Таким образом, возможности автора и читателя уникально расширяются, а содержание становится более понятным и интересным.

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

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

В Интернете находится множество книжных собраний, классическим примером которых является Библиотека Максима Мошкова. Книги, часто присылаемые владельцу этого собрания самими пользователями, представляют собой простые электронные тексты без каких-либо иллюстраций и мультимедийных добавлений. Читатель находит нужное ему произведение с помощью простейшего алфавитного каталога, поисковой системы и коллекции внешних ссылок на аналогичные ресурсы. Текст можно бесплатно загрузить на свой компьютер и при желании распечатать. Предоставление свободного доступа дает владельцам электронных библиотек повод надеяться, что со временем их собрания получат статус «объектов культуры», будут приравнены к «настоящим» библиотекам, а может быть, и начнут получать обязательный экземпляр в электронной форме.

Следует иметь в виду, что определение «электронный» образует понятия, быстро расширяющие свой объем. Под электронной библиотекой теперь понимают и многие другие достижения информационной технологии. Любопытно также, что в качестве синонима этого термина иногда употребляют словосочетание «виртуальная библиотека». Английское прилагательное «virtual», означающее «действительный, фактический», программисты применили для обозначения объектов, на самом деле не существующих, но представляющихся пользователю компьютера реальными (оперативная память, например). Так что виртуальная библиотека — это, скорее, библиотека мнимая, поскольку пользователю Интернета неизвестно, из каких разных источников он получает информацию, и ему удобно представлять себе некую библиотеку.

Создание электронных библиотек влечет за собой необходимость разрешения множества традиционных и вновь возникающих вопросов, обусловленных электронным документным пространством. Как справедливо замечают специалисты, в настоящее время работа с электронными изданиями ведется в условиях значительной — терминологической, типологической, правовой, технологической неопределенности, а сама идея ЭБ базируется на еще неустоявшейся концепции, подлежащей систематическому пересмотру и обновлению.

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

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

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

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

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

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

Все информационное пространство ЭБ, доступное пользователю, должно быть представлено в виде совокупности самостоятельных объектов (в том числе и электронных документов). Электронные объекты могут представлять собой текстовые произведения, изображения, фонограммы, базы данных или их фрагменты, отдельные имена и т. д. Организация информационного пространства как совокупности объектов и однозначная идентификация последних необходимы для обеспечения эффективной навигации и выполнения некоторых видов информационных поисков.

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

На основании анализа предметной области была создана диаграмма потоков данных, представленная в приложении Б.

3. Проектирование подсистемы учёта и поиска электронной литературы

3.1 Проектирование архитектуры программного средства

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

Информационное наполнение — это файлы, которые определяют вид Web-приложения. Содержат как статические (текст или изображения), так и динамические элементы, компонуемые кодом приложения «на лету» (например, запросы к БД).

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

Сведения о конфигурации (файл Web. config, таблицы стилей, параметры IIS) определяют способ исполнения приложения на сервере; круг лиц, имеющих доступ к приложениям; способы обработки ошибок и ряд других аспектов

3. 2 Проектирование интерфейса программного средства

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

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

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

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

На странице удаления литературы пользователь должен чётко указать удаляемый электронный документ. Для этого следует использовать уникальный ключ документа. Чтобы узнать этот ключ пользователю предлагается провести упрощённый поиск документов на полное соответствие введённого значения. При этом пользователю должна быть предоставлена самая существенная информация об удаляемом документе — автор, заглавие, дисциплина.

3. 3 Проектирование информационного обеспечения программного средства

Проектируемая подсистема будет ориентирована на стандарт MARC. Рассмотрим основные составляющие этого формата, необходимые для функционирования проектируемой подсистемы.

Каждый документ может быть описан по нескольким параметрам, называемым словарями. Словарями могут быть автор, заглавие, дисциплина, ключевые слова, наименование серии, наименование периодического издания и т. п. Заголовки словарей и имена соответствующих им таблиц хранятся в таблице METAIDX, из которой проектируемая подсистема и будет получать все необходимые данные о словарях. Для устранения избыточности данных описание документов организовано следующим образом. Каждому словарю соответствуют две таблицы вида IDXимяТаблицы и IDXимяТаблицыX. В таблицах вида IDXимяТаблицы хранятся значения словаря (термы), их уникальные ключи, а также число ссылок на эту запись. В таблицах вида IDXимяТаблицыX устанавливается соответствие между ключами документов и ключами термов. При этом каждому документу может соответствовать несколько термов (что целесообразно в случае, если словарь описывает ключевые слова или авторов), а разные документы могут ссылаться на одно и то же значение. При удалении документа запись о нём удаляется из таблицы вида IDXимяТаблицыX, а в таблице вида IDXимяТаблицы уменьшается на единицу число ссылок на это значение словаря. Если число ссылок достигает нуля, то это значение удаляется из таблицы.

Файлы, являющиеся экземплярами электронной литературы, целесообразно хранить двумя способами: хранить их в базе данных как двоичные данные, либо хранить их как самостоятельные файлы на жёстком диске. При этом последний способ является предпочтительным, так как в этом случае серверной части разрабатываемой подсистемы не требуется время на добавление и извлечение файлов из базы данных и вследствие этого снижается нагрузка на сервер, что является немаловажным критерием работоспособности разрабатываемой подсистемы в случае значительной нагрузки на сервер. Чтобы установить соответствие между файлами и информацией о них в базе данных следует добавить новый словарь в таблицу METAIDX. В этом словаре имена файлов будут указываться в таблице вида IDXимяТаблицы, а привязка документа к файлу будет осуществляться в таблице вида IDXимяТаблицыX. При этом данный словарь будет дополнительным удобным параметром отбора электронных документов, по которому пользователь при желании сможет провести поиск по формату файла (например найти все видео- или аудиофайлы, которые также могут храниться в базе в качестве учебных пособий).

3. 4 Реализация программного средства

Выбор средств реализации подсистемы

Для реализации подсистемы была выбрана технология ASP. NET 1.1 и среда программирования Microsoft Visual Studio. NET 2003.

ASP. NET обладает целым рядом преимуществ по сравнению с другими платформами для создания Web-приложений. Возможно, самое важное из них — интеграция с серверами Windows и инструментами программирования. Применение ASP. NET упрощает разработку, отладку и развертывание Web-приложений, поскольку все эти задачи удается решать в одной и той же среде разработки — Visual Studio. NET.

Основные преимущества, которые дает разработчикам Web-приложений использование ASP. NET:

* компиляция исполняемых частей Web-приложения, благодаря которой они работают быстрее, чем интерпретируемые сценарии;

* обновление развернутых Web-приложений «на лету» без перезапуска сервера;

* использование нового языка Visual C# - более совершенной версии С, поддерживающей ООП и контроль типов;

* автоматическое управление состоянием элементов управления Web-страниц (называемых серверными элементами управления (server controls)). Благодаря этой особенности их поведение мало отличается от обычных элементов управления Windows;

* возможность создания новых, нестандартных серверных элементов управления на основе существующих;

* обеспечение безопасности web-приложений с помощью встроенных защитных механизмов сервера Windows и других методов аутентификации и авторизации;

* интеграция с ADO. NET, позволяющая получать доступ к БД и применять инструменты для конструирования БД из Visual Studio. NET;

* полная поддержка языка Extensible Markup Language (XML), каскадных таблиц стилей (CSS) и других новых стандартов Web;

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

Кроме того, ASP. NET применяет ряд более универсальных компонентов и инструментальных средств из ОС Windows. Хотя они не считаются частью ASP. NET, они имеют ключевое значение для программирования с использованием ASP. NET:

* Internet Information Services (IIS) -управляет Web-приложениями на серверах Windows;

* языки программирования Visual Basic. NET, Visual C# и JScript — Visual Studio. NET поддерживает все эти языки, поэтому Web-приложения можно писать на любом им них;

*. NET Framework — полный набор классов, необходимый для Windows-программирования. Помимо классов ASP. NET, в него входят классы для решения других задач программирования: файлового доступа, преобразования типов, манипулирования массивами и строками и т. д,;

* инструменты и классы ADO. NET для работы с БД, предоставляющие доступ к БД SQL Server и ODBC. Механизмы доступа к данным часто являются ключевыми компонентами Web-приложений.

В качестве СУБД, управляющей базой данных разрабатываемой подсистемы, была выбрана СУБД Microsoft SQL Server 2005, поскольку данная СУБД реализует технологию «клиент-сервер» и содержит множество новых технологий, существенно увеличивающих продуктивность разработчиков. Тесная интеграция с Visual Studio. NET предоставляет разработчикам возможность проще создавать безопасные, сильные приложения баз данных при меньших затратах.

3. 5 Реализация информационного обеспечения

Для создания базы данных воспользуемся программой Microsoft SQL Server Management Studio.

После установления соединения с сервером щёлкнем правой кнопкой мыши на элемент Databases и в появившемся контекстном меню выберем пункт «new database». Затем введём в появившемся окне имя базы данных — «vgtu_lib». Добавим таблицы в созданную базу данных. Для этого щёлкнем правой кнопкой мыши на элемент Tables и выберем в меню пункт «new Table». После этого появится окно, в котором необходимо указать столбцы и их типы. Создадим таблицу METAIDX, которая содержит описания внутренних словарей базы данных. Для этого введём следующие имена столбцов и их типы:

NAME — VARCHAR (32),

TYPE — VARCHAR (32),

MAXLEN — INTEGER,

TAGS — VARCHAR (255),

CAPTION — VARCHAR (50),

SEP — VARCHAR (64).

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

IDX_ID — COUNTER,

TERM — VARCHAR (255),

CNT — INTEGER.

Для создания таблиц второго типа:

IDX_ID — INTEGER,

DOC_ID — INTEGER.

Действуя аналогично, создадим несколько словарей и поместим их описание в таблицу METAIDX.

Создадим таблицу DOC и укажем следующие столбцы и их типы:

DOC_ID — INTEGER,

RECTYPE — CHAR (1),

BIBLEVEL — CHAR (1).

3. 6 Реализация интерфейса пользователя

Для создания web-сайта выбрана среда Microsoft Visual Studio 2003. NET. Создадим новый проект ASP. NET Web Application и назовём его Biblioteka. Переименуем созданную автоматически страницу. Для этого в окне Solution Explorer щёлкнем на неё правой кнопкой мыши, выберем пункт rename и введём новое имя — Default. aspx.

Создадим страницу поиска литературы. Изменим свойство pageLayout элемента Document на значение flowLayout. Присвоим свойству BgColor значение #33(синий цвет). Добавим на страницу таблицу, в которой будем располагать другие элементы. Эта таблица будет осуществлять выравнивание элементов на нашей странице. Для этого выбираем пункты главного меню: Table — Insert — Table и укажем число строк — 3 и число столбцов — 3. Выделим два крайних столбца и укажем новое значение для свойства Width — 10%. Выделим центральную ячейку таблицы и укажем выравнивание (align) — по центру (center), а свойству background (фон) укажем значение Images/mainfon. gif. Добавим на web-форму элемент HyperLink и изменим значение свойства Text на «Редактировать базу литературы», а значение свойства NavigateURL на WebFormLoginPass. aspx.

Добавим два элемента ListBox, в которых будут храниться данные о критериях поиска и ключи подходящих документов.

Добавим элемент Panel и назовём его Panel1. В данном элементе будет располагаться часть интерфейса, отвечающая за ввод критериев поиска. Для этого требуется 3 элемента DropDownList и один элемент TextBox. Добавим их на форму. Для элемента DropDownList1 для свойства Items создадим набор значений, определяющих способ сравнения введённого значения со значениями в базе данных. Аналогично для элемента DropDownList3 создадим набор значений, определяющих способ объединения критериев поиска («и», «или»). Добавим также на Panel1 элемент button и укажем новое значения для свойства Text — «Добавить условие». Добавим на форму ещё один элемент Panel и разместим в нём элемент Table, в котором будут отображаться введённые критерии поиска. Изменим имя элемента Table на «TableUslov». Добавим также на Panel2 элемент button и укажем новое значения для свойства Text — «Удалить последнее условие». Добавим на форму элемент ImageButton и укажем для него подходящую картинку. Нажатие на этот элемент будет запускать поиск.

Добавим на форму очередной элемент Panel, в котором будут отображаться результаты поиска. Добавим элементы HyperLink, Table и два элемента ImageButton. Для элементов ImageButton1 и ImageButton2, отвечающих за перебор подходящих документов, укажем подходящие изображения.

В завершение проектирования страницы поиска изменим свойства bgColor для элементов Panel и Table на Orange для создания приятного цветового оформления интерфейса. Результат изображён на рисунке 1.

Добавим в проект ещё 3 web-формы (Project-Add Web Form), на которых пользователь будет проходить авторизацию, добавлять и удалять электронные документы. Добавим на эти формы элементы управления и, выполняя действия, аналогичные вышеописанным, установим необходимые значения для основных свойств элементов. Интерфейсы этих страниц изображены в приложении Г.

Рисунок 1 — Интерфейс страницы «default. aspx»

3. 7 Реализация функциональности программного средства

Реализация обработки событий web-формы была проведена с помощью кода на языке C#. Листинг разработанной подсистемы приведён в приложении А. Рассмотрим основные глобальные переменные, основные процедуры и функции.

Страница поиска литературы (Default. aspx):

slovari[] словарь — массив структур, каждая из которых описывает один

словарь базы данных.

uslov[] условие — массив структур, описывающих критерии поиска — словарь, искомое значение (терм), вид сравнения и способ объединения запросов.

int порядковыйНомерТекущегоДокумента — переменная указывает порядковый номер документа, описание которого отображается на странице.

private void Page_Load (object sender, System. EventArgs e) — обработчик события загрузки страницы.

private void Button1_Click (object sender, System. EventArgs e) — обработчик события нажатия на элемент button1. При нажатии выполняется добавление критериев поиска в список.

private void WebForm1_PreRender (object sender, System. EventArgs e) — обработчик, выполняющийся перед окончательным построение страницы и возвратом её клиенту.

private void TableUslov_DataBinding (object sender, System. EventArgs e) — обработчик события наполнения таблицы условий поиска значениями.

private void ReadDocInfo () — процедура, выполняющая чтение информации о текущем документе.

private void ReadSlovari () — процедура, заполняющая массив словарь[] значениями из таблицы METAIDX.

private void ImageButton3_Click (object sender, ImageClickEventArgs e) — обработчик события нажатия на кнопку «Найти». Выполняет отбор ключей подходящих документов и помещает эти ключи в элемент ListBox2.

private void ImageButton4_Click (object sender, ImageClickEventArgs e) — обработчик события нажатия на кнопку «Предыдущий». Выполняет возврат к предыдущему элементу.

private void ImageButton5_Click (object sender, ImageClickEventArgs e) — обработчик события нажатия на кнопку «Следующий». Выполняет переход к следующему элементу.

Страница авторизации (WebFormLoginPass. aspx):

Session["UserRolle"] - переменная, определяющая роль пользователя.

private void Button1_Click (object sender, System. EventArgs e) — обработчик события нажатия на кнопку «Войти». Выполняет сравнение введённых логина и пароля со значениями в базе.

private void WebFormLoginPass_PreRender (object sender, System. EventArgs e) — обработчик, выполняющийся перед окончательным построение страницы и возвратом её клиенту.

Страница добавления литературы (WebFormDBAdd. aspx):

slovari[] словарь — массив структур, каждая из которых описывает один словарь базы данных.

private void Page_Load (object sender, System. EventArgs e) — обработчик события загрузки страницы.

private void Button1_Click (object sender, System. EventArgs e) — обработчик события нажатия на кнопку «Добавить значение». Добавляет введённое значение в набор, описывающий добавляемый документ. На этом этапе данные не записываются в базу данных.

private void Button2_Click (object sender, System. EventArgs e) — обработчик события нажатия на кнопку «Удалить последнее значение». Удаляет последнее введённое значение из набора.

private void ReadSlovari () — процедура, заполняющая массив словарь[] значениями из таблицы METAIDX.

private void TableUslov_DataBinding (object sender, System. EventArgs e) — обработчик события наполнения таблицы описания добавляемого документа значениями.

private void ImageButton3_Click (object sender, ImageClickEventArgs e) — обработчик события нажатия на кнопку «Добавить документ в базу данных». Выполняет добавление документа.

Страница удаления документов (WebFormDBDelete. aspx):

slovari[] словарь — массив структур, каждая из которых описывает один словарь базы данных.

private void ReadDocInfo () — процедура, выполняющая чтение информации о подходящих документах.

private void Button1_Click (object sender, System. EventArgs e) — обработчик события нажатия на кнопку «Сформировать список». Выполняет отбор документов, имеющих указанное пользователем значение в выбранном словаре.

private void Button2_Click (object sender, System. EventArgs e) — обработчик события нажатия на кнопку «Удалить документ». Выполняет удаление записей о выбранном документе из базы данных.

3. 8 Организация взаимодействия подсистемы с базой данных

Взаимодействие с базой данных осуществляется посредством следующих классов ADO. NET:

System. Data. DataSet — хранит таблицыв оперативной памяти. System. Data. OleDb. OleDbConnection — класс, предоставляющий доступ к основным параметрам подключения.

System. Data. OleDb. OleDbDataAdapter — класс, предоставляющий возможность удобного наполнения таблиц объекта типа DataSet значениями из базы данных.

System. Data. OleDb. OleDbCommand — класс, хранящий строку команды на языке SQL и предоставляющий базовые возможности выполнения этой команды.

В процессе работы сайта при обработке некоторых событий (нажатие кнопок «найти», «добавить документ», «удалить документ») происходит формирование SQL-запроса из некоторых стандартных команд, а также из параметров, введённым пользователем. Например, при нажатии на кнопку «найти» строка SQL-запроса формируется следующим образом. К некоторой строковой переменной «command"постепенно добавляются значения: Команда="SELECT IDX"+ имяТаблицы+». IDX_ID FROM IDX"+имяТаблицы+ «WHERE «. Далее следует код, реализующий различные способы отбора в соответствии с выбранными пользователем. Затем данная строковая переменная передаётся экземпляру класса OleDbCommand, а он в свою очередь экземпляру класса OleDbDataAdapter, который и выполняет SQL-команду.

3. 9 Руководство пользователя

Для доступа к странице поиска электронной литературы пользователю необходимо в браузере ввести адрес web сайта, под которым зарегистрирована подсистема (например, http: //Biblioteka. vgtulib. vorstu. ru). После этого пользователь увидит страницу, на которой можно выполнить поиск необходимой ему литературы, либо можно перейти о ссылке к редактированию содержимого базы данных.

Для поиска литературы пользователь должен сформировать список критериев отбора литературы. Для этого необходимо выбрать словарь, по которому будет проводиться поиск, значение, условие отбора и способ объединения условий отбора. Словарь выбирается с помощью элемента раскрывающийся список, в котором перечислены все словари. Далее необходимо указать одно из условий отбора, перечисленных в элементе управления раскрывающийся список, (например, «включает», «больше»). Затем пользователь указывает значение, по которому будет проводиться сравнение. Это значение вводится в элемент управления текстовое поле. Далее необходимо выбрать способ объединения критериев отбора («и», «или») в элементе раскрывающийся список. После этого нужно нажать на кнопку «добавить условие». При этом указанные пользователем значения будут добавлены в таблицу, отображающую список критериев поиска. Для поиска необходимо, чтобы таблица содержала хотя бы один критерий отбора. После указания всех необходимых параметров отбора нужно нажать на кнопку «Найти». При этом на странице появится подробное описание первого документа, удовлетворяющего критериям отбора. Перейти к описанию другого документа можно с помощью кнопок «следующий» и «предыдущий». Получить копию электронного документа (скачать) можно двумя способами: нажать мышью на ссылку «скачать», либо щёлкнуть на имя файла, отображаемое в таблице как ссылка. После этого браузер откроет стандартный диалог загрузки файлов.

Для редактирования базы электронной литературы необходимо на главной странице сайта (страница поиска) нажать мышью ссылку «редактировать базу литературы». После этого загрузится страница авторизации пользователей, на которой необходимо ввести логин и пароль. После ввода нужно нажать на кнопку «Далее». Если введённые логин и пароль не являются правильными (не зарегистрированы в системе), то будет выдано сообщение об ошибке и предложено повторить ввод. Если же авторизация пройдена успешно, то на странице появятся две ссылки — «Добавить литературу» и «Удалить литературу». При нажатии на одну из ссылок будет открыта соответствующая страница.

На странице добавления литературы пользователю необходимо ввести значения для некоторых словарей, чтобы другие пользователи смогли успешно выполнить поиск добавляемого документа. Обычно для этого достаточно указать автора, заглавие, дисциплину и ключевые слова. Для добавления значения нужно с помощью элемента раскрывающийся список, в котором перечислены все словари, выбрать словарь, в который данное значение будет помещено, а также ввести в элемент текстовое поле само значение. При этом длина введённого значения не должна превышать максимальную длину значения словаря (255 символов). В противном случае при попытке добавления будет выдано сообщение о превышении допустимой длины. После ввода значения нужно нажать на кнопку «Добавить значение». При этом указанные пользователем значения будут добавлены в таблицу, отображающую список пар словарь — значение. Пользователь может указать несколько значений для одного и того же словаря (например, для словарей «автор» и «ключевые слова»). После создания списка, описывающего добавляемый документ, необходимо указать файл — экземпляр добавляемого электронного документа. Для этого необходимо нажать кнопку «обзор…» и в появившемся диалоге выбрать нужный файл. После нажатия на кнопку «добавить документ в базу» будет выполнена попытка добавления. При успешном выполнении попытки будет выдано сообщение «файл добавлен в базу успешно», будет очищен список значений, описывающих добавленный документ, и пользователь сможет добавить очередной документ.

На странице удаления электронных документов пользователь должен указать уникальный ключ удаляемого документа. Чтобы узнать этот ключ, необходимо выбрать один из словарей в элементе раскрывающийся список и ввести значение, которое соответствует документу, который пользователь желает удалить (например, словарь «дисциплина», значение «физика»). После этого нужно нажать на кнопку «сформировать список». При этом на странице появится список документов, имеющих в указанном словаре то же значение, что и введённое пользователем. В этом списке указаны уникальные ключи документов и краткое описание этих документов (автор, дисциплина, заглавие). Все ключи документов будут помещены в элемент раскрывающийся список, в котором пользователь должен будет выбрать нужный ключ и нажать на кнопку «удалить документ из базы данных».

4. Тестирование программного средства

Для анализа работоспособности подсистемы учёта и поиска электронной литературы необходимо провести тестирование на некотором подмножестве исходных данных и сравнить результаты, выдаваемые подсистемой с заранее известными необходимыми результатами.

Проведём тестирование на следующем подмножестве исходных данных, внесённых в базу данных:

документ № 1: Заглавие: Информационные технологии для пользователей библиотеки образовательного учреждения. Авторы: А. А. Данькин, В. А. Петров, Г. И. Рогачева. Год издания: 2004.

документ № 2: Заглавие: Информационные ресурсы России: науч. -методич. пособие. Автор: А. Б. Антропольский. Год издания: 2004.

документ № 3: Заглавие: Проблемы адаптивных систем обучения. Авторы: А. И. Захаров, А. М. Матюшкин. Год издания: 1995.

На странице поиска составим список из следующих критериев:

(Автор включает «ов») и (Год издания больше или равно 1995).

После нажатия на кнопку «найти» система возвращает список из двух документов — № 1 и № 3. То есть система вернула верный результат: документы № 1 и № 3 удовлетворяют всем указанным критериям поиска, а документ № 2 — лишь последнему из них, но поскольку критерии отбора соединяются через операнд «и», то должны быть выбраны лишь те документы, которые отвечают одновременно всем критериям отбора. При замене операнда «и» на операнд «или» система возвращает 3 документа, что является верным.

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

Заключение

При написании данного курсового проекта была создана подсистема учёта и поиска электронной литературы. Данная система реализует возможность поиска электронной литературы по ряду критериев и получения экземпляра, а также возможность добавления (удаления) электронной литературы к имеющемуся набору.

Тестирование подсистемы показало, что она успешно реализует поставленные перед ней задачи, то есть сокращает количество времени на то, чтобы получить экземпляр электронной литературы студентом, а также экономит время преподавателей, затрачиваемое на то, чтобы предоставить студентам экземпляр электронной литературы. Изначальная ориентация подсистемы на стандарт организации баз данных MARC позволяет легко внедрить её в деятельность библиотеки ВГТУ и других библиотек, использующих данный формат организации баз данных.

Приложение А

Листинг

ASP-код:

Default. aspx:

< %@ Page language="c#" Codebehind="default. aspx. cs" AutoEventWireup="false" Inherits="Biblioteka. WebForm1″ %>

< !DOCTYPE HTML PUBLIC «-//W3C//DTD HTML 4.0 Transitional//EN» >

< HTML>

< HEAD>

< title>WebForm1</title>

< meta name="vs_showGrid" content="True">

< meta name="GENERATOR" Content="Microsoft Visual Studio. NET 7. 1">

< meta name="CODE_LANGUAGE" Content="C#">

< meta name="vs_defaultClientScript" content="JavaScript">

< meta name="vs_targetSchema" content="http: //schemas. microsoft. com/intellisense/ie5">

< /HEAD>

< body bgColor="#33">

< form id="Form1″ method="post" runat="server">

< TABLE id="Table1″ style="HEIGHT:480px"cellSpacing="0″ cellPadding="0″ width="100%" border="0">

< TR>

< TD width="10%" style="HEIGHT:34px"colSpan="1″ rowSpan="1"> </TD>

< TD style="HEIGHT: 34px" width="800″ bgColor="#33">

< asp: HyperLink id="HyperLink2″ runat="server" ForeColor="Gold" Font-Names="Verdana" Font-Size="XX-Small"

NavigateUrl="default. aspx">Поиск литературы< /asp:HyperLink>      

< asp: HyperLink id="HyperLink1″ runat="server" ForeColor="Gold" Font-Names="Verdana" Font-Size="XX-Small"

NavigateUrl="WebFormLoginPass. aspx">Редактировать базу литературы< /asp:HyperLink></TD>

< TD width="10%" colSpan="1″ rowSpan="1″ style="HEIGHT:34px"> </TD>

< /TR>

< TR>

< TD style="BORDER-LEFT-COLOR: lightgrey; BORDER-BOTTOM-COLOR: lightgrey; BORDER-TOP-COLOR: lightgrey; HEIGHT: 337px; BORDER-RIGHT-COLOR: lightgrey"

align="left">

< P> </P>

< /TD>

< TD style="FONT-SIZE: 9pt; WIDTH: 895px; FONT-FAMILY: Verdana; HEIGHT: 337px" vAlign="top"

align="center" background="Images/mainfon. GIF" bgColor="#699 565">

< P> </P>

< asp: Panel id="Panel1″ runat="server" Height="120px" Width="717px" BorderColor="Aqua" BorderStyle="Ridge"

BorderWidth="4px" Font-Names="Verdana" Font-Size="X-Small" BackColor="Orange">

< P>добавьте условие отбора литературы: </P>

< asp: Panel id="PanelSoed" runat="server" BackColor="Gold" Height="40px">

< P>соединитель:

< asp: DropDownList id="DropDownList3″ runat="server" ForeColor="Yellow" BackColor="DarkBlue">

< asp: ListItem Value="И"> И</asp:ListItem>

< asp: ListItem Value="ИЛИ"> ИЛИ</asp:ListItem>

< /asp:DropDownList></P>

< /asp:Panel>

< P>параметр:

< asp: DropDownList id="DropDownList2″ runat="server" ForeColor="White" BackColor="Navy" Width="136px"> </asp:DropDownList>  

условие:  

< asp: DropDownList id="DropDownList1″ runat="server" ForeColor="White" BackColor="Navy" Width="110px">

< asp: ListItem Value="Включает"> Включает</asp:ListItem>

< asp: ListItem Value="Не включает"> Не включает< /asp:ListItem>

< asp: ListItem Value="Равно"> Равно</asp:ListItem>

< asp: ListItem Value="Не равно"> Не равно< /asp:ListItem>

< asp: ListItem Value="Начинается с"> Начинается с< /asp:ListItem>

< asp: ListItem Value="Не начинается с"> Не начинается с< /asp:ListItem>

< asp: ListItem Value="Больше"> Больше</asp:ListItem>

< asp: ListItem Value="Меньше"> Меньше</asp:ListItem>

< asp: ListItem Value="Больше или равно"> Больше или равно< /asp:ListItem>

< asp: ListItem Value="Меньше или равно"> Меньше или равно< /asp:ListItem>

< asp: ListItem Value="Есть значение"> Есть значение< /asp:ListItem>

< asp: ListItem Value="Нет значения"> Нет значения< /asp:ListItem>

ПоказатьСвернуть
Заполнить форму текущей работой