Автор работы: Пользователь скрыл имя, 19 Октября 2013 в 16:41, дипломная работа
Разработка интернет сервиса в котором присутствуют интересные технологии фильтрации обзоров, исключая недостоверную информацию. Данный проект является по своей сути инновацией, чья практическая значимость очень велика. Представьте себе, насколько легче будет принять решение о покупке, скажем, автомобиля, если компетентный в данном вопросе пользователь четко и ясно разъяснит Вам о плюсах и минусах интересующей Вас модели.
ВВЕДЕНИЕ 4
1. Постановка задачи 6
2. Цель работы 9
2.1 Требования к системе 11
2.1.2 Выходные данные 14
3. Сравнение с аналогами 15
4. Выбор программно – технических средств реализации 30
5. Алгоритм работы web–сервиса 34
5.1 Структура базы данных 36
5.2 Описания алгоритмов для решения основных задач 39
5.2.1 Регистрация 39
5.2.2 Верификация 42
5.2.3 Аутентификация 42
5.2.4 Добавление категории 42
5.2.5 Добавление обзора 43
5.2.6 Добавление исправления 43
5.2.7 Голосование 43
5.2.8 Поиск 44
5.3 Описание алгоритма обработки запросов пользователя 46
5.4 Модель работы web–сервиса 47
6. Примеры работы Web–сервиса 50
ЗАКЛЮЧЕНИЕ
– Отображать Категории и Обзоры на страницах;
– Предоставлять возможность создания исправления на уже созданные обзоры и категории;
– Предоставлять возможность создания запросов на обзор того, или иного объекта;
Архитектура веб–приложения, должна удовлетворять следующим критериям:
– Обрабатывать запросы пользователя, генерируя выходные данные в виде web–страниц;
– При обработке пользовательских запросов использовать внутреннее API для генерации страницы и обработки данных;
– Осуществлять обмен информацией с базой данных;
– Осуществлять работу с сессиями;
– Для каждой задачи должны быть разработаны соответствующие модули и соблюдаться большая часть принципов проектирования;
Выполнение перечисленных
требований позволит увеличить скорость
обработки запросов, надежность самого
приложения, его простоту и возможность
простого и быстрого расширения путем
подключения модулей и
Программная архитектура сервиса состоит из четырех частей
(см. рис. 2):
– Текущая страница;
– Обработчик страницы;
– Модуль работы с базой данных;
– Модуль работы с сессиями;
Рис. 2 «Схема архитектуры сервиса»
Page, или веб–страница содержит в себе HTML с подключенными CSS и исходный код JSP. HTML и CSS в данном проекте предназначен для отображения странице с определенной версткой и содержит константную информацию страницы. JSP код используется для вызова методов модулей и заполнения нужных полей страницы информацией.
Обработчик Page исполняет роль обработки данных запросов из форм и также предоставляет методы, которые могут быть вызваны JSP кодом. К примеру при регистрации/аутентификации или предоставить метод для обращения к базе данных.
Модуль DBAdapter содержит API для обмена информацией с базой данных. В нем реализованы все необходимые методы, которые просты по сигнатуре и удобны в использовании.
Модуль SessionAdapter содержит API для обмена информацией с текущей сессией. В нем реализованы все необходимые методы, которые просты по сигнатуре и удобны в использовании. Сессия представляет собой механизм, позволяющий хранить некоторые данные, индивидуальные для каждого пользователя (например, его имя и рейтинг), между запусками сценария.
Исходя из того что система состоит из четырех частей, обменивающихся данными между собой можно определить, что входные данные для web–сервиса, обрабатываются и проходят цепочку вызовов внутренних модулей и на выход передаются сгенерированная страница.
Определим требования к входным выходным.
2.1.1 Входные данные
Входными данными для web–сервиса является адрес web–страницы, возможно с данными вида POST запроса.
Требование к входным данным:
– Сервер приложений должен проверять корректность пути и существования web–страницы по заданному адресу
– Далее происходит генерация страницы посредством результата выполнения jsp файла.
Выходные данные представляют собой сгенерированную web–страницу, код которой передается web–браузеру клиента.
Требования к выходным данным:
Сгенерированная web–страница должна быть корректно отображена на web–браузере клиента.
Аналогичные сервисы уже существуют. В ходе выполнения выпускной квалификационной работы были изучены множество альтернативных сервисов. Рассмотрим три примера наиболее подходящих из них. Выявим достоинства и недостатки. Проанализируем альтернативы и сделаем выводы на основе результатов анализа.
Сервисы используемые в примерах:
3.1 Сервис «Ответы@mail.ru»
Ответы@Mail.Ru — сервис Mail.Ru, представляющий собой систему вопросов и ответов (см. рис. 3). Заработал 21 августа 2006 года и был назван «социальным поисковиком». За первый месяц работы пользователи дали 1600000 ответов на 200000 вопросов. На данный момент — самый популярный сервис такого рода в Рунете. На конец июня 2008 года в проекте было зарегистрировано 10,3 млн участников. По данным на март 2013 года, ежедневно проект посещают около 5,2 млн человек. Принцип работы нового проекта не похож на стандартные поисковые механизмы — здесь не компьютеры, а люди дают ответы на вопросы, заданные другими людьми. Источники ответов могут быть самыми разными. Не последнее место среди них занимает Википедия. Это своеобразный социальный поиск, где можно не только получить ответы на вопросы от живых людей, но и попробовать себя в роли эксперта, отвечая на вопросы пользователей.
Рис. 3 «Web–сервис Ответы@mail.ru»
Для того чтобы у пользователей был стимул отвечать на вопросы, авторы создали достаточно сложную систему баллов, статусов, КПД, уважения, KC и т. п.
Для удобства в нем созданы категории, и вопросы следует задавать в соответствующих категориях. Каждая основная категория имеет тематические подкатегории.
Пользователи могут задать свои вопросы и получить ответы в 29 тематических категориях проекта:
Возможности проекта очень широкие – можно голосовать за понравившийся ответ, голосовать за вопросы, создавать опросы и вопросы, отвечать на опросы и вопросы.
Рассмотрим положительные и отрицательные стороны этого проекта.
Положительные:
– Сервис доведен до отличного состояния и функционирует без проблем;
– Большое количество пользователей, сервис популярен;
– Администрация следит за ситуацией на этом сервисе, налажено обслуживание, спам своевременно удаляется, неадекватные пользователи блокируются;
Отрицательные:
– Возможная недостоверность информации, пользователи задающие вопросы, получают ответы в свободной форме от любых других пользователей и не факт, что ответы являются правильными и полными;
– Недостаточность расширения категорий, невозможно добавлять другие категории, что может со временем создать ряд проблем с тематиками и вопросами;
– Возможная неадекватность, как вопросов, так и ответов;
В плане архитектурном отрицательных сторон возможно нет. Потому, что, скорее всего реализация соответствует его архитектуре. Но так как архитектура и исходный код сервиса является коммерческой тайной, узнать это наверняка не представляется возможным.
Пример
с созданием неадекватного
Рис. 4 «Пример неадекватного вопроса»
Пример с адекватным вопросом и адекватным, возможно достоверным ответом в категории «Компьютеры, интернет – Программирование»
(см. Рис. 5)
Рис. 5 «Пример адекватного вопроса и ответа»
Пример
с адекватным вопросом и неадекватным
ответом в категории «
Рис. 6 «Пример
адекватного вопроса и
Imdb – Internet Movie Database, крупнейшая в мире база данных и веб–сайт о кинематографе. В базе собрана информация (по состоянию на конец января 2013 года) о более чем 2 млн. 436 тыс. кинофильмов, телесериалов и отдельных их серий, а также о 5 млн. персоналий, связанных с кино, — актёров, режиссёров, сценаристов и др. (см. Рис. 7)
Рис. 7 «Web–сервис imdb.com»
C 1998 года базой данных IMDb владеет компания «Amazon.com». Почти вся информация IMDb находится в свободном доступе, сайт IMDb.com функционирует на основе свободного программного обеспечения (Apache, Perl и другие).
Популярной возможностью IMDb являются онлайн–голосования. Любой зарегистрированный посетитель сайта может голосовать за фильмы, выставляя им рейтинг: от 1 («ужасный фильм») до 10 («шедевр») баллов. Таким образом, на IMDb выявлены 250 лучших фильмов всех времен, по мнению посетителей, а также 100 худших фильмов. При составлении рейтинга 250 лучших фильмов, учитываются голоса не всех голосовавших. Принимаются меры с целью избежать «накрутки» счётчика голосов. В частности, учитываются голоса только постоянно голосующих участников. Имеются отдельные рейтинги фильмов по жанрам, по десятилетиям и пр.
Категории отсутствуют. Но благодаря тому, что любой снятый фильм, попадая на сервис, получает оценку от пользователей. Посмотрев оценку и комментарии, можно сделать выводы о фильме до просмотра.
Рассмотрим положительные и отрицательные стороны этого проекта.
Положительные:
– Много информации по теме фильмов;
– Подробные и качественные описания;
– Возможность оценки фильмов;
– Возможность оставления комментариев;
Отрицательные стороны:
– Сложный интерфейс;
– Для получения более подробной информации о фильме, необходима регистрация;
– Голосование не учитывается для пользователей, которые мало голосуют, т.е. необходима постоянная активность на сайте;
– Практически отсутствует взаимодействие пользователя с сервисом;
В плане
архитектурном отрицательных
Пример обзора фильма «Побег из Шоушенка» (см. Рис. 8)
Рис. 8 «Побег из Шоушенка»
Пример списка «Top 250 movies as voted by our users» (топ 250 фильмов по оценкам пользователей) (см. Рис. 9)
Рис. 9 (топ 250 фильмов по оценкам пользователей)
3.3 Сервис «mobile–review.com»
Сайт www.mobile–review.com посвящен мобильным устройствам и технологиям, основанный 2 сентября 2002 года. Основной материал сосредоточен на мобильных терминалах, технологиях связи, также затрагиваются вопросы, связанные с карманными компьютерами и DECT–телефонами, mp3 плеерами, цифровой фотографией. (см. рис. 10)
Рис. 10 «Web–сервис mobile–review.com»
В отличие от многих других ресурсов, на сайте публикуют только оригинальные статьи. То есть читатели получают доступ к первичным данным, которые являются наиболее актуальными. Уровень статей косвенно подтверждается тем, что эти статьи и информация из них «заимствуются» в том или ином виде многими сетевыми и печатными изданиями, но в данном случае информация зачастую искажается и публикуется позднее.
Материалы на сайте постоянно обновляются и изменяются, исправляются ошибки, добавляется наиболее актуальная информация (к примеру, в описания технических характеристик телефонов).
Рассмотрим положительные и отрицательные стороны этого проекта.
Положительные:
– Качественная поддержка сайта;
– Актуальная и достоверная информация;
– Удобный интерфейс;
Отрицательные:
– Отсутствие возможности комментирования;
– Отсутствие возможности оставления отзывов;
– Отсутствие возможности голосования;
– Практически отсутствует взаимодействие пользователя с сервисом;
В плане
архитектурном отрицательных
Пример обзора телефона «Huawei Ascend P6». (см. рис. 11)
Рис. 11 «Обзор телефона Huawei Ascend P6»
Проанализировав возможные альтернативы проекта, были выявлены недостатки:
3.4 Анализ альтернатив и выводы на основе результатов анализа
Проанализировав общие достоинства и недостатки рассматриваемых альтернатив, были выявлены следующие качества, которыми должен обладать web–сервис:
– Удобный и понятный интерфейс;
– Удобное представление информации ресурса;
– Сильная связь пользователя с web–сервисом;
– Стимулирование пользователя на работу с web–сервисом;
– Гибкая архитектура web–сервиса, предрасположенная к быстрому расширению функционала;
– Быстрая работа web–сервиса;
– Адекватность и достоверность предоставляемой информации;
– Широкая область охватываемых направлений;
Проект выпускной квалификационной работы предоставляет эти возможности и решает общие проблемы. Благодаря модульному подходу проектирования, web–сервис гибок и легко расширяем. Возможность создавать категории различных по тематике расширяет направления. Предоставление системы голосования и адекватности пользователей решаются проблемы недостоверности информации. Благодаря древовидной структуре категорий и содержимого в целом интерфейс будет прост и легок в использовании. Пользователь сможет делать все то, что разрешено ему правами, это дает хорошее взаимодействие пользователя с системой.
Для реализации проекта был выбран язык Java, среда программирования NetBeans и система управления базами данных MongoDB.
Обоснованием выбора языка программирования Java стало:
Технология Java протестирована, усовершенствована, расширена и проверена участниками сообщества разработчиков Java, архитекторов и энтузиастов. Java позволяет разрабатывать высокопроизводительные портативные приложения практически на всех компьютерных платформах. Доступность приложений в разнородных средах позволяет компаниям предоставлять более широкий спектр услуг, способствует повышению производительности, уровня взаимодействия и совместной работы конечных пользователей и существенному снижению стоимости совместного владения корпоративными и потребительскими приложениями. Java предоставляет следующие возможности: