Проектирование функциональной схемы репозитория - Разработка прототипа веб-приложения "Репозиторий электронных ресурсов"

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

Функциональная схема информационно-поисковой системы

Работа системы основана на подключении к трем серверам:

Сервер с СУБД;

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

Сервер с компонентой поиска.

Определение дискового пространства для репозитория

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

Поисковый индекс будет строиться по двум сетевым дискам локальной файловой системы: общий диск "S" (содержит 15 985 документов) и диск сотрудников кафедры "H" (содержит 55 248 документов) (см. рис. 3.13).

Свойства диска "S" и диска "H"

Получили примерные параметры рабочей нагрузки небольшой системы:

Общее число документов - 100 000;

Максимальный размер страницы документа: 1 Мб;

Память (на один сервер): 2 Гбайта RAM;

Число процессоров (на один сервер): 1 или 2;

Построений индексов: 1 в каждый момент времени;

Обработка запроса: 1 запрос в секунду.

Определение прецедентов

Выделим прецеденты, ориентируясь на функциональные требования:

Внести информацию о пользователе.

Настроить систему поиска.

Добавить информацию в базу данных сведений о документе.

Изменить информацию в базе данных сведений о документе.

Выполнить поиск по ключевым словам.

Выполнить расширенный поиск.

Выполнить полнотекстовой поиск.

Авторизоваться в системе (для сотрудников кафедры).

Поддержка работы без авторизации (для студентов).

Поддержка работы с документами определенных форматов.

Поддержка работы с документами на русском и английском языках.

Выполнить поиск только по документам файловой системы.

Организовать мониторинг изменений файловой системы.

В таблице 3.13 функциональные требования распределены по субъектам и прецедентам.

Таблица 3.3. Распределение требований по субъектам и прецедентам

Функциональное требование

Субъект

Прецедент

1

Возможность внесения информации о пользователе.

Администратор, СУБД

Внести информацию о пользователе.

2

Возможность настройки системы.

Администратор, СУБД

Настроить систему поиска.

3

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

Работник кафедры, СУБД

Добавить информацию в базу данных сведений о документе.

4

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

Работник кафедры, СУБД

Изменить информацию в базе данных сведений о документе.

5

Возможность поиска по ключевым словам.

Работник кафедры, СУБД, ФС

Выполнить поиск по ключевым словам.

Построение алгоритма работы системы с помощью UML диаграмм

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

Прецедент "Внести данные о пользователе"

Выполняется администратором после авторизации в системе. В главной форме Администратор нажимает на кнопку "Добавить пользователя". После чего открывается окно для ввода информации о пользователе. Администратор заполняет поля формы. Затем "Модуль ввода данных" корректность введенной информации. Если формат данных корректен, то добавляет соответствующую запись в служебную БД (таблица информации о пользователе), и Администратору выдается сообщение об успешном добавлении пользователя. Если формат введенных данных некорректный, то Администратору выводится сообщение об ошибке, и предлагается повторить попытку, для чего отображается форма ввода информации о пользователе. Диаграммы представлены в приложении H (рисунок H.1. и H.2).

Прецедент "Настроить систему"

Прецедент выполняется администратором после авторизации в системе. В главной форме Администратор нажимает на кнопку "Настройка системы". Затем открывается окно для ввода конфигураций модулей системы. Администратор задает свойства модуля "поисковика" системы, модуля индексации и модуля поиска. Свойства могут быть заданы как для одного модуля, так и сразу для всех. Затем "Модуль ввода данных" корректность введенной информации. Если формат данных корректен, то добавляет соответствующую запись в служебную БД (таблица информации о пользователе), и Администратору выдается сообщение об успешном добавлении пользователя. Если формат введенных данных некорректный, то Администратору выводится сообщение об ошибке, и предлагается повторить попытку, для чего отображается форма ввода информации о пользователе. Диаграммы представлены в приложении H (рисунок H.3. и H.4).

Прецедент "Добавить информацию в базу данных сведений о документе"

Метаданные документа вводятся сотрудником кафедры после авторизации, если документ был найден и информация о нем выдана в поисковом результате. Тогда напротив каждого выданного документа отображается кнопка "Добавить информацию о документе". Затем сотрудник кафедры нажимает на кнопку "Добавить информацию о документе". Открывается и отображается форма с полями сведений о документе. Сотрудник заполняет поля. Затем "Модуль ввода данных" корректность введенной информации. Если формат данных корректен, то добавляет соответствующую запись в служебную БД (таблица информации о пользователе), и Администратору выдается сообщение об успешном добавлении пользователя. Если формат введенных данных некорректный, то Администратору выводится сообщение об ошибке, и предлагается повторить попытку, для чего отображается форма ввода информации о пользователе. Диаграммы представлены в приложении H (рисунок H.5. и H.6).

Прецедента "Изменить информацию в базе данных сведений о документе"

Информацию о документе может изменить сотрудник кафедры после авторизации, если документ был найден и информация о нем выдана в поисковом результате, а также, если информация о документе присутствует. Тогда напротив каждого выданного документа отображается кнопка "Изменить информацию о документе". Далее работник кафедры нажимает на кнопку "Изменить информацию о документе". Открывается и отображается форма с полями сведений о документе с данными, введенными ранее. Сотрудник изменяет поля. Затем "Модуль ввода данных" корректность введенной информации. Если формат данных корректен, то добавляет соответствующую запись в служебную БД (таблица информации о пользователе), и Администратору выдается сообщение об успешном добавлении пользователя. Если формат введенных данных некорректный, то Администратору выводится сообщение об ошибке, и предлагается повторить попытку, для чего отображается форма ввода информации о пользователе. Диаграммы представлены в приложении H (рисунок H.7. и H.8).

Прецедент "Выполнить поиск по ключевым словам"

Реализуется сотрудником кафедры после авторизации. На главной странице отображается строка для поиска. Пользователь вводит поисковый запрос на естественном языке. Далее нажимает на кнопку "Найти". Модуль поиска принимает поисковый запрос, затем осуществляет поиск документов по заранее построенному индексу и производит ранжирование. В результате выдаются все найденные документы. Диаграммы представлены в приложении H (рисунок H.9. и H.10).

Прецедент "Выполнить расширенный поиск"

Прецедент производится сотрудником кафедры после авторизации в системе. На главной странице отображается кнопка "Расширенный поиск", после нажатия на которую открывается новая веб-форма с полями для расширенного поиска. Сотрудник заполняет необходимые поля. Затем требуется нажать на кнопку "Найти". Модуль поиска выполняет поиск по БД метаданных и по заранее созданному индексу, а также производит ранжирование. В поисковом результате выдаются все найденные документы. Диаграммы представлены в приложении H (рисунок H.11. и H.12).

Прецедент "Выполнить полнотекстовой поиск"

Прецедент визуализирует алгоритм работы системы поиска, а также взаимодействие между выделенными модулями. Система запускает "поисковик" системы и получает для него свойства из служебной БД, заданные администратором. "Поисковик" системы выполняет поиск источника и имя файловой системы, после чего собирает все документы для анализа и индексации. Затем модуль извлечения текста определяет кодировку текста и при необходимости производит преобразование документа в UTF-8 кодировку. Модуль обработки текста выполняет нормализацию символов и производит обработку текста методами лингвистического анализа. Результаты обработки сохраняются в служебной БД. Модуль индексации использует полученные результаты обработки текста и производит построение по ним индекса, который также сохраняет в служебной БД. Затем этот индекс используется модулем поиска во время выполнения операций поиска. В результате поиска отображаются все найденные документы. Диаграммы представлены в приложении H (рисунок H.13. и H.14).

Прецедент "Авторизоваться в системе"

Авторизация в системе проводится администратором или сотрудниками кафедры. Данные о сотрудниках кафедры также добавляются администратором системы. На главной странице репозитория отображается кнопка "Войти". Пользователь нажимает на кнопку "Войти" и открывается форма для авторизации. Пользователь заполняет поля формы авторизации и нажимает на кнопку "Войти". Данные, которые ввел пользователь, проверяются с соответствующими данными из БД информации о пользователях. Если данные введены верно, то выдается сообщение об успешной авторизации и открывается главная страница репозитория с расширенными функциональными возможностями (помимо поиска по общему диску "S", после авторизации становится доступным поиск по сетевому диску "H", в котором хранятся документы преподавателей). В случае некорректности введенных данных выводится сообщение об ошибке. В результате поиска содержатся все найденные документы. Диаграммы представлены в приложении H (рисунок H.15. и H.16).

Выбор инструментальных средств для разработки системы

Выбор языка программирования

Языки программирования, существующие на сегодняшний день, можно разделить на следующие группы [8]:

Универсальные языки высокого уровня;

Специализированные языки разработчика программного обеспечения;

Специализированные языки пользователя;

Языки низкого уровня.

К универсальным языкам высокого уровня относятся такие языки, как C++, C#, Java, Modula, Ada, COBOL, FORTRAN и другие. В этой группе лидером является язык C++, достоинствами которого являются:

Масштабируемость;

Возможность создания обобщенных алгоритмов для разных типов данных;

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

Язык программирования C++ на данный момент не имеет аналогов, однако схожий с ним язык программирования C# считается более простым и надежным языком программирования по сравнению с C++, кроме того он сохраняет лучшие черты языков программирования С/С++, на основе которых он был создан. Также язык C# обладает другими достоинствами[8]:

Является объектно-ориентированным языком;

Реализует наследование и универсализацию;

Учитывает все возможности Framework. Net, ставшему надстройкой над операционной системой.

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

Выбор среды программирования

Интегрированной средой для разработки программного обеспечения является система программных средств, используемая программистами для разработки программного обеспечения [8].

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

Существуют среды разработки, предназначенные только для одного языка программирования, такие как Turbo Pascal, Borland С++, GNU toolchain, DrPhython. Однако существуют среды, предназначенные для нескольких языков, такие как Microsoft Visual Studio и Eclipse.

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

В ходе разработки принято решение использовать технологию. NET Framework и язык программирования C#, поэтому средой в качестве среды для разработки репозитория электронных ресурсов выбрана Microsoft Visual Studio. Microsoft Visual Studio находится в свободном доступе для скачивания, поэтому использование данной среды не повлечет за собой денежные затраты.

Похожие статьи




Проектирование функциональной схемы репозитория - Разработка прототипа веб-приложения "Репозиторий электронных ресурсов"

Предыдущая | Следующая