98626

Создание и анализ электронной Библиотеки

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-11-05

2.22 MB

5 чел.

ВСТУП

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

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

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

Почему именно электронная Библиотека?

 

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

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

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

В этом нет ничего удивительного, ибо электронная книга не нуждается в бумаге, не имеет ни твердой, ни мягкой обложки, и занимает исключительно мало места. Например, чтобы положить на стол Большую Медицинскую Энциклопедию, вам может не хватить всего пространства стола. А та же самая энциклопедия, но в электронном варианте, занимает лишь некоторую часть обыкновенного CD-диска, который вообще не занимает никакого места. На одном таком диске может содержаться несколько тысяч книг вроде "Войны и мира" Льва Толстого, ПСС Достоевского или братьев Стругатских. А на винчестере, емкость которого составляет 10, 20 и более гигабайт, может быть столько книг, сколько не найдешь во всей городской библиотеке. Очень заманчиво, не правда ли?

Цель создание электронной Библиотеки:

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

Достоинства электронных библиотек:

  1.  Цифровая литература практически вечная – она не стареет и не рвётся.
  2.  Электронные библиотеки позволяют пользоваться литературой разных библиотек по всему миру.
  3.  Большинство интересных книг можно скачать абсолютно бесплатно, а если и нужно что-либо платить, то намного меньше, чем за печатное издание.
  4.  Чтобы найти интересующее издание не нужно открывать каждый сайт, а можно использовать для этого поисковик.
  5.  Любимые книги в электронном формате можно хранить на флэшке и носить с собой, а для большого количества печатных книг желательно иметь большой книжный шкаф.
  6.  Читатели могут отыскать в электронных библиотеках редкую литературу или документы.
  7.  Для удобного чтения книг для пользователей были разработаны программы – закладки по тексту, быстрый поиск, переход по страницам.
  8.  Даже если читатель не знает иностранного языка, любое издание в электронном формате можно перевести.
  9.  Количество пользователей Интернета становиться всё больше и больше с каждым годом, также как и посетителей электронных библиотек. В последнее время люди не тратят своё время на поиски желаемой литературы в книжных магазинах за свои деньги.


РАЗДЕЛ I  Пример аналогов программного продукта

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

Libereya” (Рис 1.1)

Рисунок 1.1 — Главная страница сайта Libereya

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

Еще одним аналогом является “KNIJKI” (Рис 1.2). Отличительной особенностью  которой является ее более современный стиль оформление,  и использовании плавных  переходов. По сравнению с предвидящим примером здесь нет возможности  зарегистрироваться и сохранять что-либо на сайте.

Добавлена система оценивание книг.  

Но, пожалуй, самым лучшим аналогом в данном направлении является ЛитРес.

ЛитРес –  это мегамаркет электронных книг №1 в России. Компания ЛитРес, основанная в 2005 году, и сегодня является лидером на рынке распространения лицензионных электронных книг в России и странах СНГ. Лауреат Премии Рунета 2014. Ассортимент насчитывает более 750 000 электронных книг на русском и иностранных языках, среди которых около 25 000 бесплатных книг. Компания ЛитРес разработала приложения для чтения «ЛитРес: Читай!» и прослушивания аудиокниг «ЛитРес: Слушай!» для мобильных платформ iOS, Android, Windows Phone 8, Windows 8 и Samsung Smart TV.

Функциональный возможности:

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

Преимущества ЛитРес:

  •  Более 380000 электронных и аудиокниг
  •  Скачивайте неограниченное количество раз

Чтобы ни одна книга не потерялась.

  •  Только качественные электронные книги

Подготовлены на основе текстов от издательств или авторов.

  •  Скачивать безопасно

Гарантия: никаких вирусов, скрытых в zip-файлах.

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

 

РАЗДЕЛ II Основной раздел

2.1 Обоснование выбора средств реализации

Для реализации программного обеспечения для автоматизации работы библиотеки были использованы такие технологии и программные средства:

  1.  Среда разработки приложений NetBeans
  2.  Java 2 Enterprise Edition (J2EE)
  3.  HyperText Transfer Protocol (HTTP)
  4.  HTML/CSS
  5.  Сервер приложений Glassfish
  6.  SQL
  7.  Google Chrome

 

Рассмотрим более детально каждое из технологий.

  1.  IDE NetBeans позволяет быстро и легко разрабатывать настольные, мобильные и веб-приложения Java, а также приложения HTML5 с использованием технологий HTML, JavaScript и CSS. IDE также предоставляет многофункциональные наборы средств для разработчиков PHP и C/C++. Это бесплатное программное обеспечение (ПО) с открытым исходным кодом, которое имеет большое сообщество пользователей и разработчиков по всему миру.
  2.  J2EE — это специальная редакция java для промышленной разработки. В отличие от стандартной редакции Java Standard Edition здесь присутствуют дополнительные классы, и дополнительные возможности для разработки каких то многоуровневых сложных распределенных систем. Запуск осуществляется через сервер приложений.

Многоуровневое приложение — это приложение которые состоят из трех основных уровней. (слоев):

  1.  Client
  2.  Middleware
  3.  СУБД (Enterprises Information System)

В качестве клиента (Client) это может быть либо браузер либо какое то отдельное приложение оно отправляет запрос на среднюю часть  которая называется Middleware, это может быть сервер приложение либо балансировщик нагрузки который распределяет запросы пользователя по компьютерам. На последнем уровне осуществляется связь клиента с самими данными. Данные находятся на третьем уровне. На третьем слое находятся данные приложение. То есть разработка приложение уровня Eenterprises Edition делится на такие три части.

Состав J2EE

  •  Сервлеты, JSP, JSF – веб страницы которые занимаются обработкой запросов
  •  JDBC – доступ к хранилищам данных
  •  Java Mail – работа с почтой.

  1.  HTTP протокол

Протокол — это набор правил и процедур для осуществление связи между компьютерами.

HiperText Transfer Protocol — протокол передачи гипертекста. Разработан на основе низкоуровневого протокола TCP/IP – сеть передачи данных. Взаимодействие с веб приложением чаще всего осуществляется через HTTP протокол. И применяется в технологии «клиент-сервер». 

  1.  HTML (HyperText Markup Language, язык разметки гипертекста) — это система

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

CSS представляет собой мощную систему, расширяющую возможности дизайна и верстки веб-страниц. Стилем или CSS (Cascading Style Sheets, каскадные таблицы стилей) называется

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

  1.  Сервер

Типы серверов:

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

Недостатки:

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

 

На данный момент самый распространенный сервер — Apache, стоит более чем на 50% серверов по всему миру.

 Сервер приложений (application server) — это программная платформа, предназначенная для эффективного исполнения процедур, которые поддерживают построение приложений. По сути сервер приложений это расширенная версия веб-сервера.

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

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

Имеет веб интерфейс для администрирования (не зависимо от операционной системы).

В обоих случаях сервер – это программа написанная на коком либо языке (C, Java), и еще часто под сервером подразумевается физическая машина.

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

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

Изначально, SQL был основным способом работы пользователя с базой данных и позволял выполнять следующий набор операций:

  •  создание в базе данных новой таблицы;
  •  добавление в таблицу новых записей;
  •  изменение записей;
  •  удаление записей;

выборка записей из одной или нескольких таблиц (в соответствии с заданным условием);

Каждое предложение SQL - это либо запрос данных из базы, либо обращение к базе данных, которое приводит к изменению данных в базе. Соответственно тому, какие изменения происходят в базе данных.

Благодаря всем этим вышеперечисленным преимуществам были выбраны именно эти средства реализации программного продукта.

  1.  Chrome – это простой, быстрый и безопасный веб-браузер для современного ...Google Chrome обеспечивает быструю работу в Интернете.

Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь.
2.2
Высокоуровневая концептуальная модель «Сущность - связь» или ER-модель

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

Модель «Сущность-связь» была предложена в 1976 году Питером Пин-Шэн Ченом - американским профессором компьютерных наук в университете штата Луизиана. Фактически Чен не изобрел модель, он взял идеи с ранних работ таких практиков, как А. Браун и других. Однако Питер Чен сделал больше, чем кто бы то ни было к нему для формализации и популяризации ER-модели, а также для ее внедрения в научную литературу.

Модель «Сущность-связь» (ER-модель) (англ. entity-relationship model (ERM) или англ. entity-relationship diagram (ERD)) - модель данных, позволяющая описывать концептуальные схемы. Является графической нотацией, основанной на блоках и линиях, соединяющих их, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных. В этом смысле ER-модель является мета-моделью данных, то есть средством описания моделей данных.

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

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

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

Сущность - любой конкретный или абстрактный объект в рассматриваемой предметной области.

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

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

Сущности можно классифицировать, как сильные и слабые.

Сильная сущность - это сущность, которая не зависит от любой другой сущности, слабая сущность - это сущность, которая зависит от какой-либо другой сущности.

Атрибут - это свойство сущности в предметной области. Его наименование должно быть уникальным для конкретного типа сущности.

Например, для сущности «Студент» могут быть использованы следующие атрибуты: фамилия, имя, отчество студента, дата и место его рождения, паспортные данные и т. д.

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

Связки представляют собой соединения между частями БД.

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

Основную информацию про книги будет содержать таблица Book (Книги), в которой будет содержать изображение, название жанр самой книги сам контент и т. д. Кроме главной существует еще и дополнительные таблицы которые связаны с главной таких как: Publisher,  Autor, Ganre. В Таблице Ganre (Жанры) связь с главной идет один ко многим, то есть У одной книги может быть сразу несколько жанров. Так же в таблице Autor связывание идет один ко многим, по типу один автор несколько книг.

2.3 Структурная схема реляционной базы данных и описание таблиц базы данных

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

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

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

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

Детальное описание последующих таблиц …


Список использованной литературы

  1.  Серверное приложение на языке Java (Р.Р Мухамедзянов) 326 стр 2002.
  2.  Онлайн библиотека (один клик до книг) www.litres.ru;
  3.  htmlbook.ru
  4.  
  5.