Разработка веб-приложения с помощью ASP.NET MVC Framework для чтения электронных книг

Анализ наиболее популярных форматов для электронных книг. Структура базы данных, ее объектное представление и преимущества использования. Обзор возможных для разработки на ASP.NET языков программирования. Разработка клиентской части веб-приложения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Выход

Интерфейс страницы "Библиотека" приведен на рисунке 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 секунды в браузере Google Chrome 44 версии и около 2 секунд на Mozilla Firefox 37 версии с процессором Core i7 третьего поколения. На мобильных браузерах это время может измеряться десятками секунд. Для повышения скорости работы приложения используется оборачивание слов расположенных в данный момент на экране пользователя и следующем после него. Обернутые элементы помечаются классом, для пропуска их при повторных переходах пользователя на ту же страницу.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

"This website (www.example.com) is asking to store data on your computer for offline use. [Allow] [Never for This Site] [Not Now]" [23] [22].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Надежность

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

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

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

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

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

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

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

(1)

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

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

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

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

(2)

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

Так как схема элементов для разрабатываемого приложения последовательная, то итоговая интенсивность отказов будет выражаться формулой (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/час

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

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

(7)

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

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

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

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

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

(8)

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

(9)

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

(10)

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

(11)

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

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

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

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

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

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 секунд.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Рисунок 38 - График зависимости производства бумаги. (млн. тонн/год)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Заключение

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

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

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

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

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

Произведено сравнение популярных 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

...

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

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

    контрольная работа [94,5 K], добавлен 24.12.2017

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

    презентация [601,3 K], добавлен 10.12.2016

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

    дипломная работа [1,9 M], добавлен 13.07.2010

  • История развития и популярные модели электронных книг. Характеристика электронных книг c LCD-, ChLCD-дисплеем, E-Ink дисплеем. Преимущества и недостатки электронных книг по сравнению с бумажными, перспективы их развития и популярность у потребителей.

    реферат [2,9 M], добавлен 09.04.2014

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

    курсовая работа [66,9 K], добавлен 05.02.2017

  • Понятие, законодательное регулирование и виды электронных подписей. Разработка структурной схемы приложения и базы данных. Создание диаграммы прецедентов и классов. Проектирование интерфейса программы. Анализ руководства пользователя web-приложения.

    дипломная работа [869,8 K], добавлен 12.08.2017

  • Разработка приложения для работы с базой данных с использованием объектно-ориентированного и визуального программирования. Обзор языка элементов языка программирования Delphi. Проектирование базы данных автозаправки. Клиентская система приложения.

    курсовая работа [2,3 M], добавлен 31.01.2016

  • Разработка сетевой карточной игры "King" для операционной системы Windows XP. Реализация приложения с помощью интерфейса прикладного программирования Win32 API. Назначение серверной и клиентской части. Анализ исходных данных, тестирование приложения.

    курсовая работа [209,3 K], добавлен 24.01.2016

  • Требования к аппаратным и операционным ресурсам. Логическая и физическая организация. Состав основных классов проекта. Технико-экономическое обоснование разработки программного средства. Задержки при обработке данных. Разработка интерфейса приложения.

    дипломная работа [4,4 M], добавлен 16.06.2017

  • Электронные книги, их достоинства и недостатки. Традиционные технологии создания электронных книг. Защита авторских прав при распространении электронных книг. Наиболее распространенные форматы. Информационная безопасность и информационные технологии.

    курсовая работа [1,3 M], добавлен 03.06.2019

  • Анализ возможных подходов к созданию web-приложения с использованием программирования Java и CGI. Разработка структуры базы данных и реализация полученной модели в рамках СУБД. Обеспечение диалога CGI-программы с пользователем, используя браузер.

    курсовая работа [310,9 K], добавлен 07.08.2011

  • Базы данных как совокупность структур, предназначенных для хранения больших объемов информации и программных модулей. Анализ способов создания базы данных для учета книг личной библиотеки, особенности использования языка программирования C++Builder.

    курсовая работа [8,1 M], добавлен 10.01.2014

  • Назначение и возможности разработанного приложения для контроля активности сетевых и периферийных устройств предприятия. Язык программирования Java. Распределенные многоуровневые приложения. Структура базы данных, интерфейс разработанного приложения.

    курсовая работа [1,0 M], добавлен 16.12.2012

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

    дипломная работа [770,2 K], добавлен 12.09.2015

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

    дипломная работа [2,4 M], добавлен 02.06.2013

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

    дипломная работа [2,6 M], добавлен 13.09.2017

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

    дипломная работа [928,4 K], добавлен 13.01.2023

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

    дипломная работа [2,1 M], добавлен 30.09.2016

  • Тематический план курса разработки цифрового образовательного ресурса по технологии создания электронных графических документов (электронных книг). Особенности сканирования, программное обеспечение. Основные возможности программы ABBYY Fine Reader.

    дипломная работа [3,7 M], добавлен 07.07.2011

  • Построение логической модели базы данных "Сбор сведений о писателях и их литературных произведениях". Описание таблиц и построение физической модели системы. Проектирование базы данных в XML и разработка клиентской части в среде программирования C#.

    курсовая работа [817,3 K], добавлен 13.01.2015

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