Разработка приложения для чтения электронных книг
Обзор форматов электронных книг, характеристика языков программирования с помощью ASP.NETFramework. Разработка и особенности пользовательского интерфейса и системы для использования веб-страницами. Возможное влияние электронных книг на экологию.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 30.01.2016 |
Размер файла | 2,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
94
Оглавление
- Введение
- 1. Специальная часть
- 1.1Постановка задачи
- 1.2 Обзор сервисов, предоставляющих API машинного перевода
- 1.3 Обзор аналогичных программных продуктов
- 1.4 Обзор форматов электронных книг
- 1.5 ОбзорформатаEPUB
- 1.5.1 Open Packaging Format 2.0.1
- 1.5.2 Open Publication Structure 2.0.1
- 1.5.3 Open Container Format 2.0.1
- 1.6 Обзор формата FictionBook 2
- 1.7 Формирование требований к приложению
- 1.8 Обзор средств разработки
- 1.9 Разработка веб-приложения
- 1.10 Интерфейс IBook
- 1.11 Интерфейс IReadable
- 1.12 Пространство имен Reader
- 1.13 Пространство имен Files
- 1.14 Пространство имен Core
- 1.15 Пространство имен Database
- 1.16 Классы Controllers
- 1.17 Разработка схемы базы данных
- 1.18 Разработка клиентской части веб-приложения
- 1.19 Разработка интерфейса
- 2. Оценка качества приложения
- 2.1 Функциональность
- 2.2 Надежность
- 2.3 Удобство использования
- 2.4 Эффективность
- 3Экология и охрана труда
- 4Заключение
- Список литературы
- Приложение А. Руководство администратора
- Назначение приложения
- Системные требования
- Минимальный состав технических средств
- Минимальный состав программных средств
- Работа приложения
- Ввод приложения в работу
- Работа со списком книг
- Файл конфигурации
- Журнал ошибок
- Приложение Б. Руководство пользователя
- Назначение приложения
- Регистрация пользователя
- Авторизация пользователя
- Загрузка книг
- Чтение книг
- Приложение В.Текст программы
Введение
Книгопечатная продукция утрачивает свои позиции на мировом рынке и к 2017 году число книг, проданных в электронном формате, сравняется и продажами бумажных экземпляров, а потом и неминуемо обгонит их. Это обусловлено широким распространением смартфонов, планшетов и стоимостью электронных книг, которые как правило дешевле печатных изданий, так как очевидно, не требуют материалов для производства каждого экземпляра. На рисунке 1 приведены данные опубликованные международной сетью компаний, предлагающих профессиональные услуги в области консалтинга и аудита PwC (PricewaterhouseCoopers)[1]
Рисунок 1 - Статистика прибыли от продажи книг по данным компании PwC
На графике показано соотношение доходов, в зависимости от года, получаемых от выпуска книг в электронном и бумажном виде, а также количество устройств для чтения электронных форматов.
В настоящий момент существует большое количество решений для чтения электронных книг, большая часть которых состоит в программном обеспечении, устанавливаемом на устройстве пользователя. Приложения на мобильных телефонах, планшетах и компьютерах имеют ряд преимуществ, таких как скорость работы, использование библиотеки пользователя и широкие возможности для разработчиков.
Недостатком описанных выше приложений является привязка пользователя к одному устройству, на котором он обычно читает. При переходе, например, с мобильного телефона на компьютер или планшет, пользователь вынужден использовать другое программное обеспечение, загружать книгу и тратить время на поиск места, где чтение было прервано, что занимает не так мало времени.
Благодаря последним стандартам представления данных в сети интернет, таким как HTML5 и CSS3, веб-приложения могут приблизиться по функциональности и скорости работы к нативным приложениям. Веб-приложение может решить проблему синхронизации при использовании разных устройств для чтения, предоставляя единый интерфейс для любых устройств учитывая при этом особенности управления и разное разрешение экранов.
Другим преимуществом веб-приложений можно считать возможность разработчика вносить изменение в приложение по функционалу, стабильности работы, внешнего вида и любые другие, без необходимости в обновлении программного обеспечения пользователем.
1. Специальная часть
1.1 Постановка задачи
В связи тем, что уже в текущее время люди имеют не одно, а несколько устройств, для чтения, они могут выбирать устройство в зависимости от ситуации. Например, в метро, где в час пик недостаточно пространства для планшета или электронной книги, самым распространенным устройством является смартфон. На работе или дома удобнее пользоваться компьютером или планшетом. При смене устройств возникает необходимость иметь копии книг на каждом устройстве.
Целью настоящей работы является разработка веб-приложения для чтения электронных книг на любых современных устройствах, которые для этого подходят. Благодаря приложению доступ ко всем загруженным книгам может быть осуществлен с любого устройства, имеющего доступ в интернет. Если предполагаются условия с проблемным доступом к сети или его отсутствием, имеется возможность загрузить книги на устройство заранее и использовать в будущем.
Для разработки программного обеспечения, которое бы учитывало описанные недостатки существующих решений, необходимо:
· Произвести обзор веб-приложений, которые предоставляют интерфейс для чтения книг.
· Произвести обзор готовых библиотек, которые можно использовать для разработки интерфейса приложения.
· Произвести обзор популярных форматов электронных книг.
· Произвести обзор документации выбранных форматов.
· Разработать структуру базы данных.
· Разработать структуру приложения.
· Разработать классы компонентов приложения.
· Разработать веб-интерфейс приложения.
· Разработать документацию.
· Произвести сравнительный анализ книг в электронном и бумажном вариантах.
· Произвести оценку качества разработанного приложения.
1.2 Обзор сервисов, предоставляющих APIмашинного перевода
Для реализации функции перевода слов на язык пользователя, с других языков, необходимо выбрать сервис, предоставляющий перевод через API. Необходим сервис, выполняющий следующие функции:
· Предоставлять работу с большим количеством пар языков
· Определять язык переданного слова автоматически
· Возможность бесплатного использования или не высокую стоимость
GoogleTranslateAPI - сервис, предоставляющий API машинного перевода использующий статистический метод обучения, то есть он основан не на подготовленных заранее словарях, а обучается на основе анализа текстов и веб-страниц, развивается с 2006 года. Преимущества данного сервиса[2]:
· Высокая точность перевода, по сравнению с аналогами и постоянное увеличение точности перевода, за счет появления новых данных в сети Интернет
· Актуальные переводы слов, учитывающие последние тенденции в языках
· Обширная документация и готовые примеры кода для взаимодействия с API
· Работа с 64 языками и любыми парами из них.
Недостатки:
· Один вариант перевода для каждого слова
· Платное использование
BingTranslator - сервискомпанииMicrosoft, подбрендомBing. Так же использует обучение на статистических данных и имеет высокую точность перевода. Развивается с 2009 года, поддерживает работу с 45 языками и любыми парами из них[3].
Преимущества:
· Бесплатное использование до 2000000 символов в месяц
· Высокое качество перевода
· Работа с 45 языками и любыми парами из них
· Готовые примеры кода на C# для взаимодействия с API
Недостатки:
· Один вариант перевода для каждого слова
· Невозможность кэшировать результаты перевода
Яндекс APIСловарь - сервис, направленный на перевод и предоставление дополнительной информации о словах. Основан на статистическом переводе, как указано на странице API, но отличающийся от описанных выше, так как использует готовые словари сторонних производителей и специализируется на переводе отдельных слов[4].
Преимущества:
· Бесплатное использование
· Возможность кэшировать полученные данные
· Несколько вариантов перевода одного слова
· Русскоязычная документация
Недостатки:
· Среднее качество перевода
· В варианты перевода могут попадать слова не относящиеся к слову, а участвующие в примере его употребления
· Ограничение количества запросов в сутки, равное 10000
Всеописанные сервисы имеют свои преимущества и недостатки. Для приложения необходимы возможности, которыми полностью не располагает ни один описанный сервис. Поэтому принято решение использовать все 3 сервиса, учитывая их особенности.
В разрабатываемом приложении запрос на перевод будет обработан параллельно через APIЯндекс Словарь и BingTranslator. При получении перевода через APIЯндекс Словарь результат будет кэшироваться в базе данных на сутки, а результат BingTranslatorпри отсутствии совпадения с вариантами, предложенными Яндексом, добавляется к ним.
Если из предыдущих двух сервисов ни один не возвратил перевода, происходит обращение к APIGoogle.
В результате мы получаем бесплатный перевод до 10000 слов в сутки и остальные слова по 20$ за каждые 2000000 символов.
1.3 Обзор аналогичных программных продуктов
1. book-online.com.ua -- один из многих сайтов, предоставляющих уже имеющиеся у него в базе книги, доступ к которым предоставляется бесплатно и может быть в любое время прекращен правообладателем. Используемый подход больше похож на попытку представить длинный текст средствами для статей.
Недостатков реализуемого этим сервисом подхода гораздо больше чем достоинств. Основные из них, это неотформатированный текст под экран пользователя, отсутствие навигации по книге, длина страницы не зависит от клиентского устройства, в связи с чем появляется вертикальная прокрутка.
Интерфейс страниц противоречит принципам совместимости интерфейсов, которые подразумевают перенос прошлого опыта использования, на новые интерфейсы. Это, как правило, вызывает негативное отношение, так как заставляет искать выход из известных ситуаций новыми способами.
Описанное выше снижает эстетическую привлекательность сайта в целом и удобство использования.
2. fictionbook.in -- функционально похож на book-online.com.ua, но имеет отличия в интерфейсе.
Больше внимания уделено персонализации вешнего вида, фон страниц всегда совпадает с фоном области с текстом, доступно изменение размера шрифта и цвета фона. Это несомненно снижает нагрузку, требуемую для концентрации внимания пользователей и приводит к более легкому восприятию информации из текста.
Негативное впечатление производит наличие рекламы в области текста. Отсутствует версия для мобильных устройств, большое количество пространства заполнено элементами не относящихся к управлению содержимым страницы.
3. bookrix.com - функции приложения не подразумевают ничего, кроме вывода текста и возможности оставлять закладки. Интерфейс для чтения напоминает устройство с e-ink экраном, что несомненно повышает его совместимость, так как пользователь переносит опыт из чтения электронных книг на веб-приложение.
Но копирование интерфейса физического устройства на экран также является недостатком. Имитация физических кнопок, наличие которых обусловлено особенностями e-inkэкранов и размерами физического устройства, противоречит устоявшимся стандартам представления активных элементов веб-страниц. Недостатком так же является фиксированный размер страниц, что приводит к большому не используемому пространству на мониторе компьютера и странице превышающей размер экрана на мобильных устройствах.
4. 24symbols.com -- испанский сервис, один из крупнейших по продаже электронных книг по подписке, предоставляет возможность читать купленные книги через браузер. В первую очередь сервис ориентирован на зарубежный рынок. Русскоязычная литература в нем не распространяется.
Один из главных недостатков сервиса, с точки зрения пользователя, это невозможность загружать уже имеющиеся книги. Поэтому пользователю необходимо иметь какую-то альтернативу для чтения уже имеющихся книг или покупать подписку, чтобы иметь к ним доступ через приложения или веб-интерфейс на 24symbols.com.
В отличие от рассмотренных выше сервисов, интерфейс чтения отлично спроектирован и отвечает целям пользователей, основан на опыте использования большого количества современных веб-сайтов. Элементы управления выделены на фоне не активных элементов страницы. Информация на странице распределена и не создает напряжения при поиске или запоминании. Все это создает высокую эстетическую привлекательность и простоту работы.
Недостатком можно считать отсутствие функции перевода слов на язык пользователя, так как в основном книги выходят всегда на небольшом количестве языков, пользователи, плохо владеющие иностранными языками вынуждены ждать перевода на знакомый язык, а сам перевод оставляет желать лучшего, что часто касается технической литературы.
5. bookmate.com -- российский сервис, аналог 24symbols.com, но учитывающий некоторые его недостатки, которые, в основном, заключены в разном менталитете, по отношению к авторским правам и покупкам в интернете между странами СНГ и Европой. Одно из отличий bookmate.comот предыдущих сервисов, это возможность загружать собственные книги и параллельно пользоваться книгами оп подписке. Веб-интерфейс для чтения близкок по скорости и внешнему виду к нативным приложениям, есть возможность перевода слов, добавления комментариев к произвольным фрагментам текста.
Недостатком можно считать очень общий перевод слова, он предоставляется в единственном варианте и может не соответствовать контексту. Для чтения специализированной литературы он мало пригоден, так как слова часто имеют различное значение в зависимости от контекста, что особенно заметно в не художественной литературе.
Сравнение рассмотренных аналогов представлено в таблице 1.
Таблица 1 - Сравнительная таблица аналогичных систем
Загрузка книг |
Длина страницы текста под размер экрана |
Перевод слов |
Интерфейс для мобильных устройств |
Функция закладки |
Переход по оглавлению |
Работа оффлайн |
||
24symbols.com |
- |
+ |
- |
+ |
+ |
+ |
- |
|
bookmate.com |
+ |
+ |
+ |
+ |
+ |
+ |
- |
|
book-online.com.ua |
- |
- |
- |
- |
- |
- |
- |
|
fictionbook.in |
- |
- |
- |
- |
- |
- |
- |
|
bookrix.com |
- |
+ |
- |
+ |
+ |
+ |
- |
1.4 Обзор форматов электронных книг
В настоящее время нет единого устоявшегося формата для электронных книг. Многие разработчики мобильных устройств продвигают свои форматы, многие из которых используются на узком наборе устройств и не имеют открытой документации. Для примера может быть рассмотрен формат MOBI, который используется только на устройствах Amazonи имеет кроссплатформенное ПО для чтений, с закрытым исходным кодом. Таблица 2 содержит обзор функционала самых популярных, на данный момент, форматов[5].
Таблица 2 - Возможности популярных форматов электронных книг
Формат |
Расширение |
Открытый стандарт |
DRM* |
Word wrap** |
Размеры шрифта |
Форматирование |
Выравнивание |
Цвет шрифта |
Списки |
Картинки |
Таблицы |
Pre*** |
Ссылки |
CSS |
|
Обычный текст |
txt |
Да |
Нет |
Да |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
Нет |
|
HTML |
html |
Да |
Нет |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
|
Mobipocket |
mobi, prc |
Нет |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Нет |
|
FictionBook |
fb2 |
Да |
Нет |
Да |
Нет |
Да |
Нет |
Нет |
Нет |
Да |
Да |
Да |
Да |
Да |
|
EPUB |
epub |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
|
ISilo 3.x/4.x |
pdb |
Нет |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
Да |
|
eReader |
pdb |
Нет |
Да |
Да |
Да |
Да |
Да |
Нет |
Нет |
Да |
Нет |
Нет |
Да |
Нет |
|
MS Reader |
lit |
Нет |
Да |
Да |
Да |
Да |
Да |
Нет |
Да |
Да |
Да |
Нет |
Да |
Да |
*DRM-- (Digital rights management) -- программные или программно-аппаратные средства, которые намеренно ограничивают либо затрудняют различные действия с данными в электронной форме (копирование, модификацию, просмотр и т. п.), либо позволяют отследить такие действия. DRM представляет собой набор систем контроля и управления доступом. На данный момент DRM используется множеством компаний по всему миру, среди которых Amazon, Apple Inc., Microsoft, Electronic Arts, Sony, 1C, Akella и др. В 1998 году в США был принят Закон об Авторском Праве в Цифровую Эпоху с целью ввести уголовные наказания за распространение технологий для обхода DRM[6].
**Wordwrap - функция программного обеспечения для разбиения слов с целью переноса на новую строку.
***Pre - Тэг использующийся при разметке страницы, для выделения блока кода.
Из приведенных выше форматов, самым популярным является EPUB, он является основным для издателей за пределами России и поддерживается большинством программ и устройств. Российские издатели тоже выпускают в нем книги, но с ним конкурирует разработанный Дмитрием Грибовым формат FB2.
EPUB представляет собой zip-архив с определенной структурой. Сам текст книги представлен в ряде html документов, размер которых ограничен, поэтому почти всегда в один html документ не удается поместить весь текст и его разбивают на главы по файлам. В файле EPUB так же могут быть файлы стилей, шрифты, изображения, что делает его очень похожим на обычную страницу HTML. Описание всех файлов, находящихся в epub-контейнере приведено в файле content.opf который содержит разделы с описанием типов файлов, порядком их следования при просмотре книги и оглавлении[7].
В fb2 распространяется большое количество книг в странах СНГ. По сравнению с epubон имеет гораздо более простую структуру, так как основан на языке разметки XMLрекомендованным Консорциумом Всемирной паутины и фактически представляет собой свод общих синтаксических правил[8]. XML имеет очень широкий спектр применения, он используется для обмена информацией между программами, структурирования данных, а также для создания на его основе более специализированных языков разметки (например, XHTML[9].
Для работы с XML существует большое количество библиотек на разных языках. В остальном мире fb2 мало распространен.
1.5 Обзор формата EPUB
EPUB официально представлен в сентябре 2007 года ассоциацией IDPF(International Digital Publishing Forum). Текущая версия формата 3.0.1, спецификация этой версии была представлена 26 июня 2014 года. Но так как распространение последних версий не всегда происходит быстро, из-за необходимости их реализации в огромном количестве программного обеспечения, поддержки электронных книг как устройств и у издателей. В разрабатываемом приложении необходима возможность работы и с предыдущими версиями, такими как epub 3.0 и 2.1.
EPUB 3 состоит из четырех спецификаций[10]:
· EPUB Publications 3.0, который определяет семантику на уровне приложений и общие требования соответствия.
· EPUB Content Documents 3.0, который определяет профили XHTML, SVG и CSS для использования в контексте EPUB публикации
· EPUB Open Container Format (OCF) 3.0, который определяет формат файла и модели данных которые инкапсулируют набор связанных ресурсов в одном файле (ZIP) EPUB контейнере.
· EPUB Media Overlays 3.0, который определяет формат и модель обработки для синхронизации текста и аудио.
EPUB 2.0 был представлен в октябре 2007 года и обновлен до 2.0.1 в сентябре 2010. Он состоит из трех спецификаций:
· Open Publication Structure (OPS) 2.0.1, описывает формат документов, входящих в структуру файла.
· Open Packaging Format (OPF) 2.0.1, описание структуры конкретного файла .epub через формат XML.
· Open Container Format (OCF) 2.0.1, описывает все файлы, содержавшиеся в контейнере.
Приведенные спецификации предоставляют очень широкие возможности, что породило разную реализацию формата:как минимум - две платформы, поддерживающие HTML5 и не полностью совместимые друг с другом (iBooks и Android). Существует немалое количество старых устройств, поддерживающих небольшое подмножество HTML, со своими ограничениями и ошибками.
1.5.1 Open Packaging Format 2.0.1
Целью OPF является описание механизма, с помощью которого различные компоненты публикации OPS связаны друг с другом и обеспечивают дополнительную структуру и семантику в формате. Это реализуется двумя XML файлами с расширения .opf и .ncx.
OPF файл описан в Open Packaging Format (OPF) 2.0.1 и имеет тип application/oebps-package+xml, как правило имеет название content.opf. Содержит корневой элементpackage и четыре вложенных в него элемента: metadata, manifest, spine иguide.
Metadata, в нем описывает основную информацию о документе, такая как язык, авторы, издательство, уникальный идентификатор, название, составители и другое. Метаданные описаны на основе открытой спецификации Dublin Core (DC). Элементы Dublin Core имею пространство имен dc[11].
Каждая книга имеет свой уникальный номер, ссылка на элемент с ним или его значение может содержаться в элементе package или в метаданных.
Manifestкак правило идет вторым блоком, который описывает каждый файл внутри контейнера. Описание состоит атрибутов: уникально идентификатора id элемента, ссылки href на файл относительно opf файла и описание типа данных media-type.Структура файла opf показана на рисунке 2.
Spine является третьим элементом в opf-файле. Может быть только один, содержит один или более элементов itemref которые ссылаются на элементы из manifest, но только на те, которые описаны в Open Publication Structure (OPS) 2.0.1. Spine определяет порядок следования этих элементов при работе с книгой.
Guide -элемент необязательный, может использоваться с целью описания основных структурных компонентов книги, например ссылок на файл ссодержанием[12].Пример структуры opfфайлаприведен на рисунке 3:
Файл ncx не является частью спецификации EPUB но используется во всех EPUB-контейнерах.Пример структуры приведен на рисунке 3. Он предназначен для описания оглавления книги. Имеет mime-тип application/x-dtbncx+xml и, как правило, название toc.ncx.
Из этого файла будут использоваться только элементы navMap, где перечислены разделы книги.
1.5.2 Open Publication Structure 2.0.1
OPS определяет возможности и типы данных для содержания книги. Каждый документ должен быть в формате XHTML и иметь mime-тип application/xhtml+xml. Пример структуры файла соответствующего спецификации OPSприведен на рисунке 4. Стиль содержания может быть представлен с помощью части функций CSS 2.0 определенных в OPS Style Sheets. Это специальный синтаксис с требованиями поддержки только части свойств CSS и добавляющий несколько пользовательских свойств.
Изображения могут быть представлены как PNG, JPEG, GIF или SVG файлы имеющиеmime-типы: image/png, image/jpeg, image/gif и image/svg+xml.
Для текста должна использоваться кодировка Unicode, т. е. UTF-8 или UTF-16. Это требование необходимо для возможности использования большого количества языков и корректного отображения специальных символов[13].
1.5.3 Open Container Format 2.0.1
EPUB-файл представляет собой группу файлов, подчиняющихся описанным выше стандартам и заключенных в ZIP архив. Данная спецификация описывает файлы внутри архива и их расположение.В архиве должно присутствовать два обязательных файла mimetype и container.xml. Пример расположения файлов в EPUB контейнере приведен на рисунке 5.
Файлmimetype и содержит текст в формате ASCII, со строкой application/epub+zip. Это единственный файл, который не должен быть архивирован. Создан для быстрой идентификации типа файла в программном обеспечении.
Далее спецификация определяет наличие директории META-INF, которая должнасодержать файл container.xml, структура которого приведена на рисунке 6. Он содержит указание о местоположении .opf файла и другую необязательную информацию.
Все остальные файлы (OPF, NCX, XHTML, CSS и файлы изображений) обычно располагаются в директории с именем OEBPS, но это не всегда выполняется, путь к каждому из них описывается в блоке manifest файла opf[14].
Пример структуры файлов:
Обзор формата FictionBook 2
Формат FB2представляет собой единый XML-файл, содержащий внутри себя все данные. В отличие от EPUB, он не определяет стиль текста и его визуальное отображение. Основная цель формата - структурировать данные без привязки к каким-либо размерам или единицам измерения так, чтобы внешний вид определялся настройками пользователя, разработчика программного
обеспечения или форматом, в который книга будет преобразована.
FB2-документ состоит из объявления XML и корневого элемента FictionBook.
Раздел FictionBook состоит из вложенных подразделов, располагающихся в порядке, в котором они описаны ниже, порядок следования элементов должен соблюдаться. Пример структуры раздела FictionBookприведен на рисунке 7.
Рисунок - Общая структура FB2 документа
Раздел descriptionсодержится только в единственном числе. Он описывает данные о книге, такие как сведения об авторе, издателе, языке, оригинале книги, обложку, даты и другую информацию.
Разделвключает в себя приведенные ниже элементы, порядок их следования должен соблюдаться:
· title-info - основные данные о книге, включает в себя подразделы:
? genre - информация о жанре книги. Список возможных жанров также определен в формате. Каждая книга может иметь не менее одного жанра.
? author - содержит информацию об авторе книги, может содержаться один и более авторов. Возможны следующие вложенные тэги:
· first-name - имя
· last-name - фамилия
· middle-name - отчество
· nickname - ник
· email - адрес электронной почты.
? book-title - название книги
? annotation - аннотация книги. Возможныследующие вложенные тэги: p, poem, cite, subtitle, table, empty-line.
? keywords - перечисление ключевых слов, которые могут использоваться для поиска.
? date - дата написания книги.
? coverpage - обложка книги. Внутри может содержать только тэг image.
? lang- язык на котором написана книга.
? src-lang - содержит язык оригинала книги, если книга была переведена, то значение отличное от lang.
? translator - информация о переводчике книги. Может содержать теги аналогичные author.
? sequence - сведения о том, к каким сериям относится книга, если она является частью серии книг.
· src-title-info - данные об оригинале книги.
· document-info - содержит информацию о самом файле FB2.
? author - содержит информацию об авторе документа. Возможны следующие вложенные тэги:
? first-name - имя
? last-name - фамилия
? middle-name - отчество
? nickname - ник
? email - адрес электронной почты
? program-used - в виде списка могут быть перечислены названия программ используемых при составлении книги.
? date - дата создания файла.
? src-url - URL страницы, откуда взят текст для подготовки документа.
? src-ocr - составитель книги, тот кто ее оцифровал.
? id - уникальный идентификатор документа FB2 который назначается каждой новой книге, которая была создана.
? version - текущая версия конкретной книги в электронном виде.
? history - история создания и изменения документа. Вложенные тэги: p, poem, cite, subtitle, table, empty-line с соответствующим содержанием. Описание истории изменений в книге, написанных в свободном стиле.
· publish-info - сведения об издании книги, которая была использована как источник при подготовке документа.
· custom-info - любая другая информация.
Обязательны разделы title-info и document-info, а остальные добавляются при необходимости. Пример структуры элемент descriptionприведен на рисунке 8.
Рисунок 8 - Пример структуры элемента description в документе FB2
Раздел bodyтакже содержится в единственном числе, в нем располагается сам текст книги, разделенный на разделы или главы элементами section, которые могут быть вложенными и хранить свое имя в атрибуте name. На рисунке 9 изображена структура элемента body.
· image- изображение, которое будет отображаться в начале
· title - заголовок книги или раздела
· epigraph -эпиграф
· section- раздел книги, глава или другая часть. Может включать в себя следующие разделы:
? title - заголовок раздела
? epigraph -эпиграф
? image- изображение, которое будет отображаться в начале.
? annotation - аннотация к разделу. Возможныследующие вложенные тэги: p, poem, cite, subtitle, table, empty-line.
? Одно из двух. Либо подраздел section(одно или более вхождений); либо форматированный текст с картинками - тэги p, poem, cite, subtitle, table, empty-line, image,table (одно или более вхождений), но первый тэг не может быть image.
Рисунок - Пример разметки в элементе body файла fb2
1.6 Формирование требований к приложению
Исходя из обзора аналогичных решений и спецификаций выбранных форматов можно сформировать требования к функциональности разрабатываемого приложения:
· Текст книг необходимо разбивать на страницы, исходя из характеристик устройств, на которых открыто приложение.
· Необходимо разработать механизм, позволяющий использовать приложение без доступа к сети.
· При наличии оглавления в книге, должна быть реализована возможность перехода по нему.
· При отличии языка книги от языка пользователя и наличии доступа к сети интернет, необходимо реализовать возможность перевода слов.
· Необходимо разработать систему закладок.
· Должна присутствовать работа с жестами для сенсорных экранов.
· Текст на странице должен разбиваться на колонки, если ширина экрана больше его длинны.
· Необходимо обеспечить корректное отображение на экранах с разрешением от 320x240px.
· Разделение прав доступа между пользователями, к загруженным книгам, должно поддерживаться через авторизацию.
· Веб-приложение должно поддерживать работу с форматами книг EPUB 2.0.1, EPUB 3 и FB2
Исходные данные
· файлы электронных книг.
· данные авторизации пользователей
Выходные данные
· вывод обработанного приложением содержания входного файла в html
· результаты перевода слов
1.7 Обзор средств разработки.
ASP.NETFrameworkоснованнаплатформе .NET. ОсновойплатформыявляетсяобщеязыковаясредаисполненияCommonLanguageRuntime (CLR)[15].CLR - это общеязыковая среда исполнения, которая подходит для разных языков программирования. Функциональные возможности CLR доступны в любых языках программирования, использующих эту среду. Например, среда выполнения позволяет создавать поток, а значит, во всех языках программирования, использующих эту среду, могут создаваться потоки. Фактически во время выполнения программы в среде CLR неизвестно, на каком языке программирования разработчик написал исходный код. А это значит, что можно выбрать любой язык программирования, который позволяет проще всего решить данную задачу. Разрабатывать программное обеспечение можно на любом языке программирования, если используемый компилятор этого языка предназначен для CLR. В данный момент CLR может работать с большим количеством языков[16].Наиболее популярными и развивающимися, на данный момент, являются Visual Basic .NETи C#.. электронный книга интерфейс
Visual Basic .NET (VB.NET) -- это объектно-ориентированный язык программирования, который можно рассматривать как очередной виток эволюции Visual Basic (VB), реализованный на платформе Microsoft .NET. VB.NET не имеет обратной совместимости с более ранней версией (Visual Basic 6.0). Развитие проектов старых версий (*.vbp) возможно только после предварительной конвертации их в формат VB.NET специальным мастером (Migration Wizard); однако, как правило, после конвертации требуется существенная ручнаядоработка текстов.Visual Basic.NET в настоящее время является одним из наиболее популярных языков программирования. Хотя он уступает по популярности таким языкам, как C++, C#, Java в силу различных причин, однако по возможностям и своему потенциалу выше перечисленным языкам мало в чем уступает[17]. С момента создания в 2002 году VB.NET был призван заменить распространенный на тот момент Visual Basic 6, а новый язык получил название VB 7. В то же время VB.NET, имея схожий синтаксис, сильно отличался от своего предшественника. С 2002 года VB.NET прошел большой путь. Текущая версия языка - VB.NET 2013[18].
C# разрабатывался как язык программирования прикладного уровня для CLR и зависит, прежде всего, от возможностей самой CLR. Это касается, прежде всего, системы типов C#, которая представляет собой стандартную библиотеку классов платформы .NET. Присутствие или отсутствие тех или иных особенностей языка диктуется тем, может ли конкретная языковая особенность быть транслирована в соответствующие конструкции CLR. С развитием CLRпараллельно развивается и сам C#, так происходило на всех ранних версиях. Такая параллельная эволюция будет наблюдаться и в дальнейшем, хотя сам язык может получать обновления, не связанные напрямую с CLR, как это было в 4 и 5 версии, при добавлении LINQи введении новых принципов написания многопоточных приложений. CLR предоставляет C#, как и всем другим .NET-ориентированным языкам, многие возможности, которых лишены «классические» языки программирования. Например, сборка мусора не реализована в самом C#, а производится CLR для программ, написанных на C# точно так же, как это делается для программ на VB.NET, J# и др.[19]. Последние обновления всей системы .NET, планирующиеся в этом году, все больше укрепляют позиции платформы и C# как для веб-разработки, так и для другого ПО. Во-первых, оно дает возможность написания кроссплатформенных программ, во-вторых увеличение скорости работы за счет нового компилятора и возможность работы на Unixсистемах для ASP.NET 5.
Оба языка являются основными для .NET и позволяют в полной мере использовать возможности фреймворка. В текущем проекте будет использован C#, так как он имеет более короткий и распространенный синтаксис, близкий к остальным C подобным языкам, обеспечивает возможность быстрого добавления асинхронных операций, в настоящий момент активно развивается, является наиболее перспективным из поддерживаемых .NETязыков, и специально разрабатывался как язык программирования прикладного уровня для CLR.
Разрабатываемое приложение должно быть приближено по ощущениям и функционалу к нативным приложениям ОС, используемым пользователями. Этого невозможно достичь без использования JavaScriptв клиентской части. Так как спецификации к веб-стандартам носят декларативный характер и в последние годы стандарты из HTML5 и CSS3 постепенно внедряются в браузеры не одновременно и имеют не стабильные версии, поведение и отображение одних и тех же элементов страницы может отличаться в разных браузерах. С целью сокращения времени на разработку и отладку, достижения одинакового отображения и работы интерфейса разрабатываемого приложения, принято решение использовать готовые библиотеки JavaScript для работы с элементами страницы. Они представляют собой набор часто используемых объектов и функций.
Исходя из специфики разрабатываемого приложения необходимо ориентироваться на удобную работу с элементами DOM, поэтому были выбраны для рассмотрения библиотеки с лицензией MIT, которая является разрешительной и предоставляет неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий программного продукта, при условии, что программное обеспечение распространяется «как есть» и ее авторы не несут ответственности за использование ПО.
Библиотеки, потенциально подходящие под нашу задачу: Prototype, jQuery и Zepto.
В Prototype присутствуют самые разные способы упрощения создания JavaScript приложений, от сокращённого вызова некоторых функций языка до сложных методов обращения к XMLHttpRequest. С точки зрения проектирования он очень удобен для средних проектов, так как предоставляет легкий способ эмулирования классического ООП вдобавок к своему простому функционалу. Производительность фреймворка несколько нестабильна, т.е. на некоторых операциях он может быть быстрым, на других - производительность заметно падает. Prototype один из немногих фреймворков, который не включает в себя UI-компоненты или UX-улучшения [20].
jQuery - библиотека JavaScript функционал которого основывается на взаимодействии JavaScript и HTML. Она обеспечивает простой доступ к элементам DOM страницы, а также позволяет обращаться к атрибутам и содержимому элементов, создавать и удалять их. Для работы с AJAXуже включены функции с простым синтаксисом и разделенные с учетом особенностей популярных шаблонов использования XMLHttpRequest. Точно так же, как CSS отделяет визуальную часть от структуры HTML, jQuery отделяет поведение от структуры HTML. Например, вместо жесткого присвоения обработчика нажатия кнопки в HTML, это делается jQuery незаметно. Он идентифицирует элемент через селектор, близкий по синтаксису к используемому в CSS, и следит за его изменениями. Такое разделение поведения и структуры также называется принципом ненавязчивого JavaScript. Он содержит функциональность, полезную для очень широкого круга задач. Тем не менее, разработчиками библиотеки не ставилась задача совмещения в jQuery функций, которые подошли бы всюду, поскольку это привело бы к большому коду, бомльшая часть которого не востребована. Была реализована архитектура компактного универсального ядра библиотеки и плагинов. Это позволяет собрать для ресурса именно ту функциональность, которая на нём была бы востребована [21].
В то время, когда большинство библиотек JavaScript имеют довольно большой размер, в сжатом и минифицированном виде, от 90Кб и более, Zepto занимает 9Кб, что гораздо менее затратно для мобильно интернета, который по-прежнему определяет скорость загрузки сайтов на мобильных устройствах. Но при использовании такой легкой библиотеки, приходится платить. Zepto отстает в кросс-браузерности от упомянутых выше, конкурентов. Одним из преимуществ этой библиотеки можно выделить очень близкий набор методов и синтаксис к ранним версиям jQuery, что позволяет разработчикам очень быстро переходить на его использование [22].С выходом jQuery 2.xи отказа в ней поддержки старых браузеров, Zeptoтеряет свою популярность.
Проведя исследование библиотек JavaScript можно выделить две наиболее приоритетные, это jQuery и Zepto. Первая их них в последние несколько лет стала почти стандартом в веб-разработке и имеет огромное количество руководств и дополнений, выделяется хорошей кросс-браузерностью и поддержкой IDE. Также, как было сказано выше jQuery 2.xуже не имеют лишнего кода для поддержки старых браузеров, при этом сохраняя поддержку большого числа плагинов. Описанные преимущества оправдывают больший размер, поэтому в проекте будет использовать jQuery2.х.
1.8 Разработка веб-приложения
Проектирование начинается с выделения логических элементов приложения, сопоставления их с физическими элементами и определения схемы взаимодействия между ними.
Этот этап необходим для снижения сложности при разработке, выделение подсистем и правил их взаимодействия между собой помогает избежать затрат на изменение системы, которые могут возникнуть при игнорировании этапа проектирования. При правильном проектировании на этом этапе и следовании его результатам, в процессе разработки классов можно добиться слабого связывания самих классов и компонентов приложения в целом. Все это приводит к повышению простоты сопровождения, расширяемости и возможности повторного использования частей программы. UML-диаграмма компонентов разрабатываемого приложения приведена на рисунке 10.
Приведенная диаграмма -- это логическое разделение исходного кода, которое можно перевести в физическое разделение. Каждый элемент представляет собой пространство имен или класс внутри сборки приложения.
· Controllers.Books - обработка пользовательского запроса связанного со списками книг.
· Controllers.Read- обработка запросов при работой с конкретной книгой. Это запросы на перевод, переход по оглавлению, работа с закладками и проверка прав доступа.
· View - отвечает за формирование htmlстраниц отдаваемых пользователю, с данными полученными от Controllers.
· Database - структура классов для работы с базой данных. Содержит методы работы с ORM.
· Files --работа в файловой системой
· Core --структура классов для обработки данных книг, такой как преобразование форматов, изображений, получение данных для сохранения в базе и др.
· Reader -- классы для получения данных из различных файлов книг.
Придерживаясь концепции объектно-ориентированного программирования, где часто объекты реального мира предметной области описываются классами, а их поведение и состояние определяется набором доступных методов и свойств, спроектируем необходимые для работы классы и интерфейсы.
Перед разработкой необходимо произвести анализ, позволяющий выявить части приложения, которые могут быть в последствии изменены для введения дополнительного функционала и для оптимизации производительности. На основе этой информации принимаются решения о введении интерфейсов, перегруженных методах и алгоритмов работы.
При разработке приоритетными направлениями будем считать простоту поддержки кода, так как при достижении высокого уровня абстракции и простоты кода, обеспечивается общее снижение затрат на тестирование, отладку и изменение функционала.
1.9 Интерфейс IBook
Существует необходимость работы с несколькими форматами электронных книг и высока вероятность расширения функционала, через введение классов для работы с другими форматами, которые могут быть включены в приложение как внешние библиотеки, через фасадные классы. Это является основанием для разработки единого интерфейса для работы с ними.
Проанализировав спецификацию выбранных форматов и произведя поверхностный анализ других форматов, можно выделить информацию, которая являетсяобязательной для большинства форматов книг:
· Авторы
· Язык
· Обложка
· Уникальный идентификатор
· Название книги
Так как внутреннее строение книг разных форматов может сильно отличаться, то единый механизм получения и сохранения файлов создавать не имеет смысла. Поэтому в интерфейс включены методы для сохранения файлов, которые реализуются для каждого формата отдельно.
1.10 Интерфейс IReadable
При выводе книги пользователю, необходима возможность получать запрошенную часть книги, не вдаваясь в подробности формата файла. Это требуется при переходе по оглавлению, предоставлении последовательно страниц книги, которые могут размещаться в разных файлах, и создании системы закладок.
Разрабатываемый интерфейс описывает следующие методы, для простого перехода внутри книги, которые могут потребоваться при работе с ней:
· Количество частей, на которые разбита книга
· Предоставление конкретной части книги по уникальному идентификатору
· Предоставление конкретной части книги по порядковому номеру.
· Предоставление оглавления
· Предоставление следующей части относительно текущей
· Предоставление предыдущей части относительно текущей
· Название книги
· Ее идентификатор в базе приложения.
1.11 Пространство имен Reader
Пространство имен Reader.EpubReader
· КлассEpub- инкапсулирует в себе работу с одноименным форматом файла книг. В нем реализовано:
? Проверка соответствия файла минимальным требованиям спецификации
? Поддержка работы с версиями EPUB2.1 - 3.
? Получение метаданных из книги
? Сохранение самой книги по указанному пути
? Сохранение файлов изображений
? Предоставление данных в формате html
? Проверка целостности книги
? Реализация интерфейса IBook
Этот класс является одним из самых сложных в данной работе, так как при его разработке необходимо учитывать различия и общие требования нескольких версия каждой из спецификаций.
Open Packaging Format описывает ряд блоков состоящих из наборов элементов, которые содержатся в opf файле. Эти элементы удобно выразить и представить в объектах, описанных ниже.
· Класс Content-представляет каждый OPS документ из архива и предоставляет доступ к его содержимому.
· Класс Manifest- описывает каждый файл блока, содержащийся в контейнере.
· Класс NavPoint-представляет элемент оглавления книги, содержит данные о вложенных элементах оглавления.
· Класс Spine- содержит информацию об элементах, выводимых пользователю.
· Класс EpubForReading - реализует интерфейс IReadableдля работы с книгами этого формата из контроллера.
· Класс TocList - универсальное представление элементов оглавления книги.
Пространство имен Reader.Fb2Reader
· Класс Fb2 - представляет в приложении файлы fb2, с методами для получения из него данных в исходном виде и преобразованных в html.
В классе реализовано:
? Проверка соответствия полученного файла минимальным требованиям спецификации
? Получение метаданных из файла
? Сохранение файла книги
? Сохранение файлов изображений
? Предоставление данных в формате html
? Проверка целостности книги
? Реализация интерфейса IBook
· Класс Section - представляет секцию книги, может иметь текстовое содержимое с описанием или список вложенных секций. Секции, как правило, заключают в себе тома книги, разделы, главы и другие логически разделенные фрагменты, имеющие свое имя.
· Класс Author --данные каждого из авторов, указанных в книге. Реализует приведение имен в универсальной для приложения форме, которое совпадает с их представлением в EPUB, так как там нет разделения на имена и фамилии, оно является самым простым.
· Класс Binary - работа с изображениями, которые в FB2 закодированы в строки base64.
· Класс Fb2ForReading - реализует интерфейс IReadable для работы с книгами этого формата из контроллера.
1.12 Пространство имен Files
· Класс FileSystem - Статический класс для работы с файлами. Содержит логику для сохранения файлов книг и дополнительных файлов на диске, Формирует путь к папке для сохранения, получения или удаления файлов исходя из данных конфигурации приложения и формата полученного файла. Это позволит из кода не беспокоиться о размещении файлов на диске и определять пути в одном месте. Для работы файлами класс реализует:
· Предотвращение замены файлов при совпадении имен.
· Формирование ссылок на файлы изображений.
1.13 Пространство имен Core
· Класс SaveBook -получаетфайл пользователя и принимает решения в процессе его обработки. Тут создаются новые объекты, реализующие IBook.
Класс должен выполнять следующие действия:
? Определяет класс для работы с полученным файлом
? Принимает решение об отказе в обработке файла
? Управляет созданием уменьшенных копий изображений
? Принимает решение о создании новой обложки для книги
? Формирует сущности для сохранения в базе данных
· Класс OpenBook-- статический класс для создания объектов от Fb2ForReadingиEpubForReading, в зависимости от формата файла.
· Класс DrawCover-- класс для создания обложки книги, если она маленького размера или отсутствует. Как показали тесты, около 2% книг которые можно скачать в интернете собраны с ошибками и могут не отвечать требованиям спецификации форматов. Встречаются книги с некорректными ссылками на обложку. Так как это не является критичным, лучше составить свою обложку, чем прерывать обработку книги.
Для работы с изображениями для обложек книг класс должен реализовывать:
? Сглаживание шрифтов
? Разбиение текста на строки
? Выбор размера шрифта в зависимости от длины текста.
? Работу с форматами png, jpegи gif.
· Класс ImageResizer - реализует функцию для уменьшения разрешения изображения. Это необходимо для снижения веса файла и вместе с тем увеличения скорости загрузки страницы пользователем. Измененное изображение должно быть пропорционально исходному.
· КлассImageProcessing - Класс «фасад» дляImageResizerиDrawCover
1.14 Пространство имен Database
· Класс BooksDB --содержит методы для работы с книгами в базе данных. Запросы к базе данных вынесены в отдельный класс, чтобы исключить дублирование кода.
· UserDB --класс для работы с данными пользователя в базе данных.
· Классы Author, Book, Readership, Word, Language, Translates - объектные представления сущностей из базы данных.
· FileTypes -- тип перечисления с обозначением типов файлов.
1.15 Классы Controllers
· Класс BookController - содержит методы для работы с контекстом пользовательского запроса. Проверяет права пользователя, удаляет книги.
· Класс ReadController - содержит методы для работы с контекстом пользовательского запроса на работу с книгой, перевод слов.
· Класс TranslateInput --участвует в переводе слов, при получении нескольких вариантов перевода.
1.16 Разработка схемы базы данных
База данных приложения будет содержать данные о пользователях системы, их ролях, информацию о книгах, авторах, языках и кэшируемых словах.
Краткое описание таблиц:
· Таблица «Book» содержит данные каждой книги. Структура таблицы «Book» приведена в таблице 4.
· Таблица «Readership» содержит данные о книгах пользователей и закладках. Структура таблицы «Readership» приведена в таблице 8
· Таблица «Author» содержит данные авторов. Структура таблицы «Author» приведена в таблице 5.
· Таблица «Language» содержит поддерживаемые для перевода языки. Структура таблицы «Language» приведена в таблице 3.
· Таблица «Word» содержит кэшируемые слова. Структура таблицы «Word» приведена в таблице 6.
· Таблица «Translate» содержит перевод кэшируемых слов. Структура таблицы «Translate» приведена в таблице 7.
· Таблица «AspNetUsers» содержит данные пользователей. Структура таблицы «AspNetUsers» приведена в таблице 9.
· Таблица «AspNetUserRoles» содержит информацию о пользовательских ролях. Структура таблицы «AspNetUserRoles» приведена в таблице 10.
· Таблица «AspNetRoles» содержит описание доступных ролей. Структура таблицы «AspNetRoles» приведена в таблице 11.
Таблица 3 - Структура таблицы Language
Поле |
Тип поля |
Описание |
Параметры поля |
|
ID |
Числовой |
Идентификационный номер записи |
Первичный ключ |
|
NAME |
Текстовый |
Название на английском |
Максимальная длина - 64 символов |
|
ISO693_1 |
Текстовый |
Обозначение в стандарте |
Максимальная длина - 8 символов |
|
ISO693_3 |
Текстовый |
Обозначение в стандарте |
Максимальная длина - 8 символов |
Таблица 4 - Структура таблицы Book
Поле |
Тип поля |
Описание |
Параметры поля |
|
ID |
Числовой |
Идентификационный номер записи |
Первичный ключ |
|
TITILE |
Текстовый |
Название книги |
Максимальная длина - 256 символов |
|
CREATETIME |
Дата |
Дата и время загрузки |
||
LANGUAGEID |
Числовой |
Язык текста книги |
Внешний ключ |
|
ISPUBLIC |
Бит |
Флаг публичного доступа |
||
VIEWSCOUNT |
Числовой |
Счетчик просмотров |
||
IMAGE |
Текстовый |
Имя файла обложки |
Максимальная длина - 64 символов |
|
BLOCKED |
Бит |
Флаг блокировки |
||
SOURCEFILE |
Текстовый |
Имя файла книги |
Максимальная длина - 64 символов |
|
OWNERID |
Текстовый |
Идентификатор владельца |
Максимальная длина - 128 символов Внешний ключ |
|
FILETYPE |
Числовой |
Тип файла из перечислений |
||
IDENTIFIER |
Текстовый |
Внутренний идентификатор книги |
Максимальная длина - 256 символов |
Таблица 5 - Структура таблицы Author
Поле |
Тип поля |
Описание |
Параметры поля |
|
ID |
Числовой |
Идентификационный номер записи |
Первичный ключ |
|
NAME |
Текстовый |
Имя автора |
Максимальная длина - 256 символов |
Таблица 3 - Структура таблицы Word
Поле |
Тип поля |
Описание |
Параметры поля |
|
NAME |
Текстовый |
Слово |
Максимальная длина - 64 символов Первичный составной ключ |
|
LANGUAGEID |
Числовой |
Идентификатор языка |
Первичный составной ключ |
|
TRANSLATEDID |
Числовой |
Язык слова |
Внешний ключ |
|
UPDATETIME |
Дата |
Время обновления данных |
Таблица 4 - Структура таблицы Translates
Поле |
Тип поля |
Описание |
Параметры поля |
|
Подобные документы
История появления электронных книг, их виды, характеристика. Использование электронных книг в библиотеках, их достоинства и недостатки. Формирование электронных библиотек и коллекций. Критерии предоставления электронных книг пользователям, хранение фонда.
курсовая работа [66,9 K], добавлен 05.02.2017История развития и популярные модели электронных книг. Характеристика электронных книг c LCD-, ChLCD-дисплеем, E-Ink дисплеем. Преимущества и недостатки электронных книг по сравнению с бумажными, перспективы их развития и популярность у потребителей.
реферат [2,9 M], добавлен 09.04.2014История разработки узкоспециализированного устройства для чтения электронных документов. Плюсы и минусы электронных книг, их применение в образовании. Подъем рынка электронных книг подъем в связи с появлением экранов с технологией электронной бумаги.
презентация [601,3 K], добавлен 10.12.2016Теоретические основы разработки микропроцессорной системы на основе микроконтроллера и устройства для чтения электронных книг, анализ их технико-экономических показателей и сравнение с аналогами. Основные нормы по охране труда при работе с компьютером.
дипломная работа [1,9 M], добавлен 13.07.2010Электронные книги, их достоинства и недостатки. Традиционные технологии создания электронных книг. Защита авторских прав при распространении электронных книг. Наиболее распространенные форматы. Информационная безопасность и информационные технологии.
курсовая работа [1,3 M], добавлен 03.06.2019Необходимость существования, критерии анализа и выбора электронных библиотек. Виды электронных библиотек - универсальные, электронные библиотеки периодических изданий и книг. Особенности распространения информационно-коммуникационных технологий.
курсовая работа [5,6 M], добавлен 04.05.2013Тематический план курса разработки цифрового образовательного ресурса по технологии создания электронных графических документов (электронных книг). Особенности сканирования, программное обеспечение. Основные возможности программы ABBYY Fine Reader.
дипломная работа [3,7 M], добавлен 07.07.2011Преимущества использования электронных каталогов. Структурное и функциональное проектирование компьютерной программы. Особенности процесса загрузка базы данных книг, сохранение базы данных. Вывод каталога книг на экран, меню сортировки программы.
контрольная работа [94,5 K], добавлен 24.12.2017Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.
дипломная работа [869,8 K], добавлен 12.08.2017Разработка автоматизированной системы учета книг в библиотеке юридического факультета АГТУ: рассмотрение даталогической и инфологической моделей данных, выбор среды программирования, создание интерфейса пользователя, расчет затрат на внедрение проекта.
дипломная работа [3,0 M], добавлен 08.02.2011Построение, исследование описательных и формальных информационных моделей. Применение электронных обучающих средств в современной системе образования. Обусловленность выбора средств разработки и языков программирования. Обзор пользовательского интерфейса.
дипломная работа [7,3 M], добавлен 09.02.2017Классификация электронных средств обучения, преимущества их использования, рекомендации по созданию. Требования к структуре и содержанию учебного материала. Особенности изучения языков программирования на уроках информатики. Среда программирования Delphi.
дипломная работа [770,2 K], добавлен 12.09.2015Разработка реляционной схемы. Ознакомление с процессом проектирования пользовательского интерфейса. Определение необходимости автоматизации выдачи книг в школьной библиотеке по технологии клиент-сервера. Изучение меню пользователей в приложении.
курсовая работа [5,4 M], добавлен 16.09.2017Электронные библиотеки, проблемы авторского права и их решение. Форматы выкладываемых произведений: графические растровые, графические векторные с оформлением, простой текст (plain text). Обзор по самым известным программам для чтения электронных книг.
реферат [29,7 K], добавлен 16.07.2010Создание и разработка информационной системы автоматизации учета книг в книжном магазине. Описание предметной области, постановка задачи и обзор методов ее решения. Модели и алгоритмы представления системы. Обоснование технических и программных средств.
курсовая работа [1,7 M], добавлен 31.03.2012Разработка информационной системы для ведения каталога книг/читателей, поисковой системы, предварительных заказов на приобретение книг. Анализ затрат на разработку системы. Архитектура объектно-ориентированной системы. Диаграмма классов, модули системы.
курсовая работа [906,1 K], добавлен 24.06.2013Проектирование системы учета для библиотеки: разработка базы данных, в которой описаны наименования книг, имеющиеся в библиотечном фонде, и постоянные читатели, создание печатных форм (отчетов о приеме и выдаче изданий) и интерфейса для пользователей.
контрольная работа [1,1 M], добавлен 17.08.2010Разработка автоматизированной системы "Продажа книг" для повышения качества обслуживания клиентов и улучшения коллекции книг библиотеки магазина. Описание входных и выходных данных. Расчет затрат на проектирование системы и амортизационных отчислений.
дипломная работа [10,0 M], добавлен 16.06.2015Определение основных требований к разрабатываемой системе учета работ по созданию электронных образовательных ресурсов, характеристика их основных видов. Структура базы данных, разработка пользовательского интерфейса, экономическая эффективность проекта.
дипломная работа [3,8 M], добавлен 06.03.2010Понятие электронных учебников и их классификация, общие требования к ним. Порядок разработки электронных учебников, обзор средств их создания и определение затрат. Основные требования к программному продукту. Разработка программы, описание интерфейса.
дипломная работа [1,1 M], добавлен 07.05.2014