Разработка проекта информационной системы Интернет-библиотеки



Содержание

Введение

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

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

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

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

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

Замена бумажной библиотеки на электронную поможет решить этот и другие недостатки существующей модели.

Цельюнастоящего исследования является разработка проекта информационной системы Интернет-библиотеки.

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

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

Исследование будем проводить согласно следующему плану:

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

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

1 Проектная часть

1.1 Формулировка предметной задачи

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

Исходными данными, которыми оперирует система Интернет-библиотека, является набор литературных материалов различной направленности. Материалы на сервере размещаются с разрешения автора или обладателя авторских прав. Опишем подробнее сруктуру хранимых данных книг. Литературные произведения представлены в виде набора электронных документов, сопровождаемых кратким описанием (аннотацией). Список всех доступных произведений разделен на ряд категорий по литературным жанрам. Электронные документы с текстовым содержимым и их описания будут хранится на стороне сервера.

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

Рисунок  Интернет-библиотека как черный ящик

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

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

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

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

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

1.2. Анализ требований к программе

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

Рассмотрим требования к функционалу системы со стороны пользователей. На рис. 2 приведена диаграмма вариантов использования (use-case) системы. Согласно диаграмме в системе будет выделено 3 вида пользователей.

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

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

Рисунок  Диаграммаuse-case Интернет-библиотека

Функциональная роль администратора – выполнение действий по обеспечению работы библиотеки. Администратор добавляет новые книги, сопровождая их кратким описанием. По требованию правообладателя администратор должен удалить текст литературы и описания из базы. Также администратор имеет возможноть блокирования (удаления) аккаунтов недобросовестных пользователей. Еще одной важной особенностью администратора является его право на добавление пользователя в группу администраторов, т.е. наделение особыми правами в системе.

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

Затем выделим внешние по отношению к системе сущности:

Идентифицируем информацию, которая циркулирует в системе.

На этапе регистрации пользователь передает в систему данные необходимые для регистрации:

Для идентификации пользователя достаточно данных обязательных полей регистрации – логина и пароля.

В процессе использования читательского интерфейса задействованы следующие данные:

В процессе использования интерфейса администратора:

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

1.3. Функциональная модель системы

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

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

Приведем описание основных элементовDFD в соответствие с учебником Г.Н. Калянова []. На диаграммахDFD основные функциональные требования к системе выражаются в виде процессов и хранилищ, связанных потоками данных. Потоки данных предназначены для моделирования передачи информации между различными частями системы. Потоки на диаграммах обозначаются стрелками, ориентированными в сторону движения потока. Назначение процесса состоит в продуцировании выходных потоков из входных в соответствии с действием, задаваемым именем процесса. Хранилище (накопитель) данных позволяет определить данные, которые будут сохраняться в памяти между процессами. Имя хранилища должно идентифицировать его содержимое.

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

Контекстная диаграмма

Рисунок  Контекстная диаграмма

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

В системе предусмотрено 3 типа внешних сущностей, с которыми система взаимодействует:

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

Незарегистрированный пользователь. При взаимодействии с системой незарегистрированный пользователь имеет возможность использования только функции регистрации в системе. Процесс регистрации проходит путем заполнения полей в форме регистрации. В форме регистрации обязательными полями являются логин и пароль, необязательные к заполнению поля – Фамилия, Имя, Отчество, Адрес, Телефон. После заполнения полей формы, пользователь инициирует передачу информации нажатием на кнопку подтверждения регистрации. Затем информация обрабатывается и сохраняется в системе.

Рассмотрим подробнее состав информации, необходимой для регистрации пользователя в системе.

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

Пароль необходим для подтверждения принадлежности логина пользователю. Пароль должен отвечать требованиям безопасности, чтобы было труднее подобрать пароль методом полного перебора и перебора по словарю. Пароль должен содержать буквы нижнего и верхнего регистра, должен содержать цифры. Предъявляются требования к минимальной длине пароля. Минимальная длина пароля – 5 символов. Максимальная длина пароля 20 символов.

Другие дополнительные сведения необходимы для связи с читателем. Фамилия, Имя, Отчество – необходимы для обращения к пользователю по телефону, в тексте письма, для формирования обращения в тексте веб-интерфейса.

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

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

После прохождения регистрации пользователь получает статус читателя.

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

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

Диаграммы декомпозиции

Рисунок  Диаграмма декомпозиции первого уровня

На диаграмме декомпозиции (см. рис. 4) более подробно расписаны основные фунции системы и распределение потоков информации по функциональным блокам.

На диаграмме декомпозиции 1-го уровня функции системы разделены на 4 типа:

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

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

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

В ходе процесса «Идентифицировать пользователя» происходит сопоставление пользователя уникальному в контексте системы идентификатору. В данном случае в роли идентификатора выступает логин. Проверяется подлинность идентификации пользователя посредством введенного пароля. На основе идентификатора – логина происходит присвоение прав пользователю на выполнение функций в системе (авторизация).

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

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

Рисунок  Зарегистрировать читателя

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

Опишем немного подробнее сущность процессов диаграммы декомпозиции.

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

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

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

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

Рисунок  Идентифицировать пользователя

На рис. 6 приведена диаграмма декомпозиции процесса «Идентифицировать пользователя». В процессе идентификации проверяются данные, введенные пользователем вweb-форме входа в систему. Из базы данных запрашивается набор данных о зарегистрированных пользователях (процессы «Запросить из БД идентификационные данные читателей», «Запросить из БД идентификационные данные администраторов»). Введенный пользователем идентификатор проверяется на присутствие в базе зарегистрированных читателей и администраторов. Проверяется соответствие логина и пароля (процессы «Проверка идентификации читателя», «Проверка идентификации администратора»). Если идентификатор не был найден в базе или же введенный пароль не соответсвует паролю в базе, то пользователю будет отказано во входе в систему и отправлено сообщение об ошибке.

Рисунок  Обработать запросы читателя

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

Рисунок  Обработать запрос на администрирование

На рис. 8 представлена диаграмма декомпозиции процесса «Обработать запрос на администрирование». В состав процессов вошли функции системы, направленные на реализацию деятельности администратора.

Перед выполнением каждого из действий происходит проверка на наличие необходимых прав на выполнение (процесс «Проверить права на выполнение»). Авторизация пользователя на выполнения действий административного характера происходит на основе наличия логина пользователя в списке администратов.

На вход процесса «Добавить книгу» от администратора поступают все необходимые для добавления данные – тексты книг и их описания. После проверок и выполнения процесса система посылает в базу данных запрос на добавление. Если при добавлении произошла ошибка пользователю отправляется отчет об ошибке.

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

Процессы «Добавить/удалить читателя», «Добавить/удалить администратора» предназначены для внесения изменений в состав списка читателей, администраторов. На вход процесса поступают данные, необходимые для добавления пользователя – логин, пароль (см. диаграмму Зарегистрировать пользователя А1), для удаления достаточно идентификатора – логина. Также на вход процесса из хранилища поступают данные обо всех зарегистрированных в системе читателях, администраторах. При возникновении ошибки пользователь получит от системы отчет об ошибке.

Рисунок  Проверка корректности логина

На рис. 9 изображена диаграмма декомпозиции для процесса «Проверка корректности логина». Целью данного процесса является проверка данных о логине, которые пользователь ввел при регистрации. Предложенный пользователем логин проходит ряд проверок на соответствие внутренним требованиям системы. Проверенный логин передается на выход процесса. Если проверка логина на одном из этапов проверки оканчивается неудачей, процесс прерывается, и на выход процесса отправляется сообщение об ошибке – некорректном логине.

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

По прохождению всех проверок данные о логине, проверенные на корректность передаются на выход процесса «Проверка корректности логина».

Рисунок  Проверка корректности пароля

На рис. 10 приведена диаграмма декомпозиции процесса «Проверка корректности пароля». Целью процесса является проверка предложенного пользователем пароля на соответствие требованиям системы. На вход процесса подается пароль, введенный пользователем в форму регистрации. Пароль проходит серию проверок. После проверенный пароль передается на выход процесса. Если на одном из этапов проверки пароль не удовлетворяет поставленным требованиям, процесс прерывавается, и на выход процесса передается сообщение о некорректном пароле.

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

Рисунок  Добавить книгу

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

Рисунок  Удалить книгу

На рис. 12 изображена диаграмма декомпозиции процесса «Удалить книгу». Процесс предназначен для удаления книги, сохраненной в базе. На вход процесса поступает поток с данными о правах на удаление, данные о хранимых в базе книгах и идентификаторы книг, которые необходимо удалить. На выходе процесса поток с отчетом о выполнении операции. Проведение действий по удалению книги доступно только пользователям из группы администраторов. Проверка на наличие прав происходит в процессе «Проверить права на удаление книги