Разработка приложения для чтения электронных книг

Обзор форматов электронных книг, характеристика языков программирования с помощью ASP.NETFramework. Разработка и особенности пользовательского интерфейса и системы для использования веб-страницами. Возможное влияние электронных книг на экологию.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 30.01.2016
Размер файла 2,8 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Поле

Тип поля

Описание

Параметры поля

APPLICATIONUSERID

Текстовый

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

Максимальная длина - 128 символов.

Составной первичный ключ

BOOKID

Числовой

Книга

Внешний ключ

PART

Числовой

Номер раздела книги

POSITION

Текстовый

Идентификатор предложения

Максимальная длина - 128 символов.

LASTOPENINGDATE

Дата

Время последнего обращения

Таблица 6 - Структура таблицы AspNetUsers

Поле

Тип поля

Описание

Параметры поля

ID

Числовой

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

Максимальная длина - 128 символов.

Составной первичный ключ

EMAIL

Текстовый

Email пользователя

Максимальная длина - 128 символов.

EMAIL

CONFIRMED

Бит

Флаг подтверждения email

PASSWORDHASH

Текстовый

Идентификатор предложения

Максимальная длина

SECURITYSTAMP

Текстовый

Код подтверждения

Максимальная длина.

PHONE

Текстовый

Телефон

Максимальная длина.

PHONENUMER

CONFIRMED

Бит

Флаг подтверждения

телефона

TWOFACTOR

ENABLED

Бит

Флаг двухфакторной авторизации

Не используется

LOCKOUT

ENDDATEUTC

Дата

Дата окончания блокировки.

LOCKOUT

ENABLED

Бит

Флаг блокировки

ACCESSFILED

COUNT

Числовой

Счетчик неудачных авторизаций

USERNAME

Текстовый

Имя пользователям

Максимальная длина - 256 символов.

Таблица 7 - Структура таблицы AspNetUserRoles

Поле

Тип поля

Описание

Параметры поля

USERID

Числовой

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

Первичный ключ

ROLEID

Числовой

Идентификатор роли

Внешний ключ

Таблица 8 - Структура таблицы AspNetRoles

Поле

Тип поля

Описание

Параметры поля

ID

Текстовый

Идентификатор

Максимальная длина - 128 символов.

Первичный ключ

NAME

Текстовый

Название

Максимальная длина - 256 символов.

Внешний ключ

Используемая база данных имеет простую архитектуру и не подразумевает сложных запросов и учета особенностей конкретной реляционной СУБД, поэтому в приложении будет использоватьсяORMEntityFramework6.0, который предоставляют следующие преимущества:

· Приложение освобождаются от жестких зависимостей от конкретной СУБД.

· Позволяет в приложении иметь дело с объектным представлением данных, абстрагируясь от модели базы данных.

· Благодаря работе с объектным представлением данных, возможно использование LINQ-запросов, которые проходят проверку на этапе компиляции приложения.

Использование ORMосвобождает от привязки к конкретной CУБД. При использовании подхода CodeFirst, нет необходимости писать запросы для создания структуры таблиц и из атрибутов, учитывающие особенности конкретных систем управления. Также, это облегчает развертывание приложения на сервер. Все что требуется, это создать объекты на C# с необходимыми атрибутами. При этом учитываются особенности типов данных, которые могут отличаться у СУБД и объекта модели. ORMавтоматически выберет подходящий тип, на основе атрибутов.

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

Все это дает возможность использовать любую СУБД, для которой существует поставщик данных для ADO.NET.

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

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

1.17 Разработка клиентской части веб-приложения

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

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

1.18 Разработка интерфейса.

Интерфейс приложения состоит из пяти страниц:

· Авторизация и регистрация

· Список собственных книг

· Список доступных книг

· Интерфейс чтения

· Страница настроек профиля

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

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

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

При вводе в поле «Адрес почты» происходит проверка на корректность адреса.

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

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

Рисунок 22 - Поля форм при пустых значениях

При отправке некорректных данных авторизации, под формой выводится сообщение об этом, как показано на рисунке 23.

Рисунок 23 - сообщение формы при не корректных данных при авторизации

Форма восстановления пароля на почту появляется на месте формы авторизации, при нажатии на кнопку со знаком «?». При это, как показано на рисунке 24, поле пароля становится не активным.

Рисунок 24 - Форма восстановления пароля

Страницы списка книг

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

Формирование плиток выполняется с помощью Jquery-плагина «Grid--A--Licious», доступным по адресу https://github.com/suprb/Grid-A-Licious. Каких-либо данных о лицензии разработчиком (https://github.com/suprb) не предоставляется.

На рисунке 25 представлена страница списка книг на экранах разрешения 1920х1080, 640х480 и 320х240 пикселей соответственно:

Страницы содержат меню со следующими пунктами:

· Мои книги -- эта же страница

· Библиотека -- открытые для общего доступа книги других пользователей

· Профиль -- настройки языка и смена пароля

· Выход

Интерфейс страницы «Библиотека» приведен на рисунке 26, отличается от страницы «Мои книги» отсутствием ссылок «Удалить» у каждой книги и поля для загрузки книг.

Рисунок 26 - Интерфейс страницы "Библиотека"

Страница профиля

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

Рисунок 27 - Интерфейс страницы редактирования профиля

Страница чтения

Пример интерфейса страницы чтения, при разрешении 1920х1080, 1280х768 и 320х480 приведен на рисунках 29, 30 и 31 соответственно. Основная цель при разработке этой страницы, приблизить изображенный на ней текст к бумажным листам. По этой причине на странице нет прокрутки и текст разбивается на страницы. Для разделения текста на колонки используются свойства CSS3 column-widthи column-gap. Первое служит для разделения текста на столбцы заданной ширины, а второе описывает расстояние между столбцами.

Чтобы избавиться от прокрутки на странице, используется комбинация элементов с абсолютным и относительным позиционированием. Элемент с самим текстом имеет относительное позиционирование и находится внутри статичного элемента. При известных значениях column-widthи column-gapможно сдвигать элемент с текстом на расстояние равное ширине видимого пользователем текста. В результате получится прокрутка, скрытая от пользователя.

Элементы управления находятся за пределами элемента с текстом и всегда на одном и том же месте экрана.

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

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

Перевод слов происходит по клику на любое слово текста, при котором отправляется AJAX-запрос на сервер, где параллельно опрашиваются apiперевода. Объединение результатов перевода отображается в элементе выплывающей подсказки, реализуемого с помощью Jquery-плагина «Tooltipster», распространяющегося под лицензией MIT.

Сам AJAX-запрос не представляет сложностей. Но необходимо получить слово, на котором произошло событие. Это решается оборачиванием каждого слова в отдельный строчный элемент. Тесты производительности показали, что оборачивание даже 5000 слов занимает около 1.3 секунды в браузере GoogleChrome 44 версиии около 2 секунд на MozillaFirefox37 версии с процессором Corei7 третьего поколения. На мобильных браузерах это время может измеряться десятками секунд. Для повышения скорости работы приложения используется оборачивание слов расположенных в данный момент на экране пользователя и следующем после него. Обернутые элементы помечаются классом, для пропуска их при повторных переходах пользователя на ту же страницу.

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

Любым изображениям назначаются атрибуты размеров, имеющие значение не большее, чем размер столбца текста.

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

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

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

Второй версией страницы работы с книгой является версия для оффлайн-чтения. Механизм работы для чтений оффлайн основан на описанном в стандарте html5 механизме кэширования приложений. Этот механизм предоставляет следующие преимущества разработчикам:

· Оффлайн просмотр, позволяющий просматривать страницы без интернета

· Повышение скорости загрузки страницы, так как часть элементов загрузки не требует

Снижение нагрузки на сервер приложения

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

К тегу htmlдобавляется заголовок manifestс именем файла *.appcache, который имеет mime-тип text/cache-manifest. В имени файла «*» заменяется уникальным для каждого пользователя и книги хэшем. Этот файл содержит указания для браузера кэшировать файлы приложения и книги таким образом, что при последующих обращениях их наличие на сервере не проверяется.

Всего существует три блока для обозначения параметров кэширования:

· CACHE -- файлы, перечисленные под этим словом, кэшируются сразу и не требуют проверки в будущем.

· NETWORK - файлы, перечисленные под этим словом, кэшируются, но доступны только при наличии связи с сервером. Если ее нет, файлы не используются.

· FALLBACK - для файлов, перечисленных под этим словом будут использоваться альтернативы, если оригинальные файлы не удается загрузить.

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

Некоторые браузеры могут запрашивать разрешение на использование такого кэша, напримерFirefox показывает пользователю сообщение:

«This website (www.example.com) is asking to store data on your computer for offline use. [Allow] [NeverforThisSite] [NotNow]»[23].

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

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

Рисунок 29 - Интерфейс чтения книг при разрешении 1920 х 1080 пикселей

Рисунок 30 - Интерфейс чтения книг при разрешении 1280 х 768 пикселей.

Рисунок 31 - Интерфейс чтения книг при разрешении 320 х 480 пикселей и примером перевода слова

2. Оценка качества приложения

Общие характеристики качества программного средства

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

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

· Измерительный - основан на получении информации через специальные средства изменений.

· Расчетный -- основан на использовании статистических данных, полученных в процессе тестирования.

· Экспертный -- основан на анализе характеристики через оценку при использовании опыта и интуиции компетентных лиц.

2.1 Функциональность

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

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

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

? Полнота реализации возможностей описанных в спецификации форматов книг, работа с которыми реализована в приложении.

? Корректность предоставления данных пользователю, по отношению к содержанию входного файла.

? Соответствие контексту предоставленного пользователю перевода слов.

?

2.2 Надежность

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

Размещено на http://www.allbest.ru/

94

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

Завершенность -- характеристика программного обеспечения по частоте отказов, вызванных его дефектами.

Она содержит следующие показатели:

? интенсивность отказов

? средняя наработка на отказ

? вероятность безотказной работы

Интенсивность отказов - это условная плотность вероятности возникновения отказа объекта при условии, что до этого момента отказ не возник[24]. Она определяется формулой (1):

f(t) -- плотность распределения времени безотказной работы

p(t) - надежность системы или элемента

Если обозначить n(t)?tчисло элементов, оказавшихся рабочими в заданный момент времени, а m(t, t + ?t) -число элементов отказавших на рассматриваемом участке времени, то по Формуле (2) получим среднее число отказов. При делении m(t, t + ?t) на n(t) число элементов оказавшихся рабочими к моменту ?t и большом количестве всех элементов, получим приближенное значение интенсивности отказов. Тогда с учетом Формулы (3), значение интенсивности отказов примет вид приведенный в формуле (4).

При больших N:

(3)

Так как схема элементов для разрабатываемого приложения последовательная, то итоговая интенсивность отказов будет выражаться формулой (5):

(5)

Для серверного оборудования значение л1 получено из условий эксплуатации.

л1=2*10-5 1/час

Для web-сервера IISзначение л1 получено из документации на сайте разработчика.

л2=10,1*10-5 1/час

Для сервера базы данных MSSQL значение л3 берем из документации на сайте разработчика.

л3=12,1*10-5 1/час

Для получения интенсивности отказа написанного кода приложения воспользуется формула (6), отличающейся от (4) учетом коэффициентов надежности компилятора и технологии программирования:

(6)

Число строк в исходного кода приложения, представляющее собой упрощение числа команд, типов, повторяемости и арифметические команды: N = 5040

Время тестирования приложения: t = 10 ч.

Количество ошибок, которые проявились в процессе тестирования: m = 7

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

к- это коэффициент надежности технологии программирования ООП К = 0,1.

Из приведенных выше данных получаем:

л4 = 7 / (5040 -- 7) * 0,1 * 2 = 27.8 * 10-5 1/час

Общая интенсивность отказов системы равна:

лобщ= 27.8 * 10-5 +12,1*10-5 + 10,1*10-5 + 2*10-5 = 51,9 *10-5 1/час

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

Средняя наработка на отказ определяется по формуле:

Ранее уже была расчитана интенсивность отказов, поэтому средняя наработка на отказ равна:

TO= 1 / 51,9 *10-5 = 1926,7часов.

Вероятность безотказной работы -- вероятность того, что в системе или объекте испытаний не возникнет отказов[24].

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

Отсюда следует, что работоспособность системы можно рассчитать как произведение вероятностей безотказной работы всех входящих в нее элементов, что показано в формуле (8):

(8)

Для произвольного закона распределения времени наработки до отказа для каждого из элементов системы описывается Формулой (9):

(9)

Тогда для всего приложения формула будет иметь вид, приведенный в формуле (10):

(10)

В нашем случае лобщ = const. С этим условием формула вероятности безотказной работы принимает вид:

(11)

В нашем случае:

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

Таблица 9 - Таблица зависимости вероятности безотказной работы приложения от времени

Кол-во часов (t)

Вероятность безотказной работы P(t)

0

1

500

0,810989639

1000

0,657704195

1500

0,533391288

2000

0,432574808

2500

0,350813688

3000

0,284506266

3500

0,230731634

4000

0,187120965

4500

0,151753164

5000

0,123070244

5500

0,099808693

6000

0,080943816

6500

0,065644596

7000

0,053237087

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

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

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

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

(12)

Tп -- полное время восстановления

Тлок -- время на локализацию причин отказа

Туст-- время на устранение

Тнал -- время наладки

Тпров -- время проверки состояния элемента

Каждое значение можно считать случайной величиной со своей функцией распределения.

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

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

(13)

Где Tnср --среднее время восстановления

Рассчитаем среднее время восстановления всех компонентов системы при характеристиках оборудования, указанных в техническом задании. На рисунке 34 представлен график вероятности восстановления системы от времени.

Tпул = 20 сек. - время перезапуска пула приложения.

Tдб = 22 сек. - время перезапуска сервера баз данных MSSQL 2012 Express.

Tвеб = 37 сек. - время перезапуска веб-сервера IIS 8.5.

Tпул = 69 сек. - время перезапуска виртуального выделенного сервера до запуска пула приложения.

Tnср =148 / 4 = 37 секунд.

2.3 Удобство использования

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

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

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

Понимаемость приложения оценивается как высокая.

2.4 Эффективность

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

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

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

· Зависимость времени ответа от общей загруженности приложения запросами

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

В процессе теста эмулируем нагрузку на примере самого популярного типа запроса, когда в течении 10 секунд количество пользователей, запрашивающих 4 книги, среднем размером 900Кб увеличивается с 0 до 20, после 10 секунд все 20 пользователей запрашивают книги. Тестирование производилось с помощью ApacheJmeter- программного обеспечения, распространяемого под лицензией ApacheLicense 2.0.

Диаграмма отражающая среднее время ответа на запросы и график использования памяти приложением приведены на рисунках 35 и 37 соответственно.

Рисунок 35- Диаграмма зависимости времени ответа на запрос, при эмуляции нагрузки

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

· Среднее время ответа составило 1193 миллисекунд

· Количество обрабатываемых запросов равно 919 запросов/минуту.

Приведенный график составлен на примере 1016 запросов.

Ресурсоемкость является важным параметром для веб-приложения, так как ресурсы сервера ограничены и повышают расходы на обслуживание работы приложения.

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

Приведенная на рисунке 32 диаграмма отражает использование памяти приложения на момент полной загрузки. Как упоминалось в расчете возобновляемости приложения, время загрузки пула приложения занимает 20 секунд, после этого общий размер занимаемой памяти ~251.1Мб. Половину из используемой памяти занимают библиотеки .NETCLR, они не относятся напрямую к коду приложения, а обеспечивают его работу. Эта память не обслуживается сборщиком мусора и повлиять на нее возможно отключением из приложения не обязательных библиотек платформы .NET.

Диаграмма на рисунке 37 описывает использование памяти приложением, при эмулировании описанной выше нагрузки.

Рисунок 37 - Диаграмма использования памяти при эмуляции нагрузки в 20 одновременных запросов

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

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

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

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

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

Для повышения скорости обработки запросов и сокращения использования ресурсов могут быть введены следующие изменения:

· Использование системы кэширования

· Сокращение количества объектов ссылочного типа

· Предварительная распаковка всех EPUB файлов

3. Экология и охрана труда

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

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

Несмотря на то, что лес является возобновляемым природным ресурсом, при современных масштабах его вырубки появляются проблемы обезлесения, приводящие к изменению экосистемы в местности и ставящие под угрозу выживание животных, для которых эти места являются местом обитания. По данным WWF, ежегодно вырубается 13 млн. га леса, 100 видов растений и животных исчезает каждый день, под угрозой вымирания находится около 11% видов птиц и 25% видов млекопитающих[25]. Также, леса необходимы подавляющему большинству живых существ на земле, как источник кислорода.

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

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

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

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

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

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

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

Сам процесс чтения, даже шесть минут чтения в день, снижает уровень стресса на 68%, такие данные были приведены в газете The Telegraph, в марте 2009 года [26]. Другие исследования указывают на помощь чтения при старении мозга[27]. Все эти исследования подтверждают пользу, приносимую чтением в любом возрасте.

С появлением ЖК экранов, а потом и экранов с технологией e-ink, проводятся исследования на выяснение степени влияния этих технологий на глаза и процесс восприятия информации.

С тех пор, как в 2007 году появился Kindle с технологией e-ink, проводятся исследования по поводу того, какие книги стоит читать - электронные или бумажные. По результатам множества исследований, безопасность и психологическое воздействие бумажных книг выше, чем электронных.

Исследование, проведенное в 2014 году в Университете Норвегии, показало, что люди, читающие тексты на Kindle, значительно хуже запоминают истории и порядок событий в тексте. Автор исследования Анна Мэнген пришла к выводу, что тактильная обратная связь с книжкой работает намного лучше: психологически человеку вспомнить историю, о которой он читал на бумаге, намного проще.[28]Был проведн ряд исследований (ГУ Институт гигиены и экологии им. Марзеева, Винницкий национальный медуниверситет им. Н.И. Пирогова) среди школьников, которые обучаются в условиях эксперимента с использованием электронного учебника. В результате исследования также было замечено уменьшение времени последовательного образа, что свидетельствует о состоянии зрительно утомления.

В журнале оптометрии и науки о зрении (Journal of Optometry and Vision Science) опубликовали информацию о том, что люди держат свои мобильные девайсы слишком близко, от чего зрение стремительно портится.

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

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

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

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

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

Заключение

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

· Произведен обзор аналогичных веб-приложений.

· Произведен обзор форматов электронных книг, позволивший выявить наиболее приоритетные форматы для разрабатываемого приложения

· Произведен анализ спецификаций выбранных форматов

· Произведен обзор языков программирования для разработки с помощью ASP.NETFramework

· Произведено сравнение популярных JavaScriptбиблиотек для работы с элементами HTMLстраниц, позволивший выявить оптимальную библиотеку для разработки пользовательского интерфейса веб-приложения

· Спроектирована общая структура приложения

· Спроектирована структура базы данных приложения

· Спроектирована структура классов и интерфейсы каждого компонента приложения

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

· Разработана система для использования веб-страниц приложения без доступа к сети

· Разработана документация для администратора и пользователей приложения.

· Выполнена оценка качества веб-приложения по таким параметрам как функциональность, надежность, эффективность. Предложены направления для повышения эффективности работы.

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

В результате выполнения дипломного проекта были выполнены все поставленные задачи, следовательно, цель дипломного проекта достигнута.Разработанное веб-приложение позволяет:

· Загружать пользователям книги в форматах EPUBи FB2 и получать к ним доступ через авторизацию.

· Указывать в приложении родной язык и переводить любое слово в книгах на этот язык.

· Предварительно загрузив страницу с книгой, открывать ее в браузере, не имея доступа к сети Интернет

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

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

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

Список литературы

1.PwC, «Global entertainment and media outlook: 2014-2018: PwC,» [Электронный ресурс]. Available: http://www.pwc.com/gx/en/global-entertainment-media-outlook/segment-insights/consumer-and-educational-book-publishing.jhtml. [Дата обращения: 26 февраль 2015].

2.«Translate API,» 22 сентябрь 2014. [Электронный ресурс]. Available: https://cloud.google.com/translate/docs. [Дата обращения: 03 март 2015].

3.«Microsoft Translator | Microsoft Azure Marketplace,» 31 август 2011. [Электронный ресурс]. Available: http://datamarket.azure.com/dataset/bing/microsofttranslator. [Дата обращения: 27 февраль 2015].

4.«Пользовательское соглашение сервиса «API Яндекс.Словарь»,» 13 август 2013. [Электронный ресурс]. Available: http://legal.yandex.ru/dictionary_api/. [Дата обращения: 27 февраль 2015].

5.«Сравнение программ для чтения электронных книг,» 8 октябрь 2014. [Электронный ресурс]. Available: https://ru.wikipedia.org/wiki/Сравнение_программ_для_чтения_электронных_книг. [Дата обращения: 26 февраль 2015].

6.«Технические средства защиты авторских прав,» 8 апрель 2015. [Электронный ресурс]. Available: https://ru.wikipedia.org/wiki/Технические_средства_защиты_авторских_прав. [Дата обращения: 15 апрель 2015].

7.«International Digital Publishing Forum,» 2015. [Электронный ресурс]. Available: http://idpf.org/epub. [Датаобращения: 23 февраль 2015].

8.«Документы - FictionBook,» 4 апрель 2009. [Электронный ресурс]. Available: http://fictionbook.org/index.php/Документы. [Дата обращения: 25 февраль 2015].

9.«Описание формата FB2 от Sclex,» 28 январь 2008. [Электронный ресурс]. Available: http://fictionbook.org/index.php/Описание_формата_FB2_от_Sclex. [Дата обращения: 25 февраль 2015].

10.«EPUB 3.0.1 | International Digital Publishing Forum,» [Электронный ресурс]. Available: http://idpf.org/epub/301. [Датаобращения: 27 февраль 2015].

11.«DCMI Metadata Terms,» 5 ноябрь 2013. [Электронный ресурс]. Available: http://dublincore.org/documents/2012/06/14/dcmi-terms/?v=elements. [Дата обращения: 26 февраль 2015].

12.«Open Publication Structure (OPS) 2.0.1 v1.0.1,» 4 сентябрь 2010. [Электронный ресурс]. Available: http://www.idpf.org/epub/20/spec/OPS_2.0.1_draft.htm. [Дата обращения: 28 февраль 2015].

13.«Open Packaging Format (OPF) 2.0.1 v1.0.1,» 4 сентябрь 2010. [Электронный ресурс]. Available: http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm. [Дата обращения: 28 февраль 2015].

14.«Open Container Format (OCF) 2.0.1 v1.0.1,» 4 сентябрь 2010. [Электронный ресурс]. Available: http://www.idpf.org/doc_library/epub/OCF_2.0.1_draft.doc. [Дата обращения: 27 февраль 2015].

15.«.NET Framework,» 27 январь 2015. [Электронный ресурс]. Available: https://ru.wikipedia.org/wiki/.NET_Framework. [Дата обращения: 26 февраль 2015].

16.Д. Рихтер, CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#, Питер, 2012.

17.«Visual Basic .NET,» 25 январь 2015. [Электронный ресурс]. Available: https://ru.wikipedia.org/wiki/Visual_Basic_.NET. [Дата обращения: 25 февраль 2015].

18.«Введение в VB.NET,» [Электронный ресурс]. Available: http://metanit.com/visualbasic/tutorial/1.1.php. [Дата обращения: 26 февраль 2015].

19.«C Sharp,» 25 январь 2015. [Электронный ресурс]. Available: http://ru.wikipedia.org/wiki/C_Sharp. [Дата обращения: 26 февраль 2015].

20.«Обзор и сравнение ведущих Javascript Frameworks,» 1 август 2011. [Электронный ресурс]. Available: http://blogerator.ru/page/javascript_frameworks_2. [Дата обращения: 28 февраль 2015].

21.«jQuery,» 25 февраль 2015. [Электронный ресурс]. Available: https://ru.wikipedia.org/wiki/JQuery. [Дата обращения: 28 февраль 2015].

22.«The Essentials of Zepto.js,» 28 апрель 2012. [Электронный ресурс]. Available: http://code.tutsplus.com/tutorials/the-essentials-of-zeptojs--net-24867. [Дата обращения: 28 февраль 2015].

23.«Using the application cache,» 12 апрель 2015. [Электронный ресурс]. Available: https://developer.mozilla.org/en-US/docs/Web/HTML/Using_the_application_cache. [Дата обращения: 1 май 2015].

24. Елена Куликова, руководитель Лесной программы Всемирный фонд дикой природы, «Экологические проблемы производства и потребления древесины и бумаги: позиция WWF,» 22 октябрь 2010. [Электронный ресурс]. Available: https://ru.fsc.org/preview.1069108210861083108610751080109510771089108210801077-10871088108610731083107710841099.a-785.pdf. [Дата обращения: 18 май 2015].

25.«Reading 'can help reduce stress',» 30 март 2009. [Электронный ресурс]. Available: http://www.telegraph.co.uk/news/health/news/5070874/Reading-can-help-reduce-stress.html. [Дата обращения: 18 май 2015].

26.Robert S. Wilson, PhD, Patricia A. Boyle, PhD, Lei Yu, PhD, Lisa L. Barnes, PhD, Julie A. Schneider, MD and David A. Bennett, MD, «Life-span cognitive activity, neuropathologic burden, and cognitive aging,» 3 июль 2013. [Электронный ресурс]. Available: http://www.neurology.org/content/early/2013/07/03/WNL.0b013e31829c5e8a. [Дата обращения: 18 май 2015].

27.«Readers absorb less on Kindles than on paper, study finds,» 19 август 2014. [Электронный ресурс]. Available: http://www.kumon.co.uk/blog/reading-reduces-stress-levels/. [Дата обращения: 18 май 2015].

Размещено на Allbest.ru

...

Подобные документы

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

    курсовая работа [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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.