Разработка интернет форума

Автор работы: Пользователь скрыл имя, 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
ЗАКЛЮЧЕНИЕ

Работа состоит из  1 файл

Диплом.docx

— 4.33 Мб (Скачать документ)

– Отображать Категории и Обзоры на страницах;

– Предоставлять возможность создания исправления на уже созданные обзоры и категории;

– Предоставлять возможность создания запросов на обзор того, или иного объекта;

Архитектура веб–приложения, должна удовлетворять следующим критериям:

– Обрабатывать запросы пользователя, генерируя выходные данные в виде web–страниц;

– При обработке пользовательских запросов использовать внутреннее API для генерации страницы и обработки данных;

– Осуществлять обмен информацией с базой данных;

– Осуществлять работу с сессиями;

– Для каждой задачи должны быть разработаны соответствующие модули и соблюдаться большая часть принципов проектирования;

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

2.1.2 Выходные данные

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

Требования  к выходным данным:

Сгенерированная web–страница должна быть корректно отображена на web–браузере клиента.

 

    1. Сравнение с аналогами

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

Сервисы используемые в примерах:

  1. Ответы@mail.ru
  2. Imdb.com
  3. Mobile–review.com

 

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 тематических категориях проекта:

  1. Авто, мото — на данный момент подразделяется на подкатегории: «Автострахование», «Выбор автомобиля и мотоцикла», «ГИБДД,обучение, права ПДД,вождение», «Оформление авто–мото сделок», «Сервис, Обслуживание, Тюнинг», «Прочие Авто–темы».
  2. Бизнес, финансы — на данный момент подразделяется на подкатегории: «Банки и Кредиты», « Бухгалтерия, Аудит, Налоги», «Макроэкономика», «Недвижимость, Ипотека», «Производственные предприятия», «Собственный бизнес», «Страхование», «Остальные сферы бизнеса».
  3. Города и страны — одна из немногих категорий, в которой можно получить квалифицированный ответ на вопрос. Возможно это связано с тем, что на проекте присутствуют пользователи практически из всех стран. Пользователей Ответов нет только в Западной Сахаре, Северной Корее и Гренландии. На данный момент подразделяется на подкатегории: «Вокруг света», «Карты, Транспорт, GPS», «Климат, Погода, Часовые пояса», «Коды, Индексы, Адреса», «ПМЖ, Недвижимость», «Прочее о городах и странах».
  4. Гороскопы, магия, гадания — на данный момент подразделяется на подкатегории: «Гадания», «Гороскопы», «Магия», «Сны», «Прочие предсказания».
  5. Досуг,Развлечения — на данный момент подразделяется на подкатегории: «Игры без компьютера», «Клубы, Дискотеки», «Концерты, Выставки, Спектакли», «Охота и Рыбалка», «Рестораны, Кафе,Бары», «Советы,Идеи,Хобби», «Прочие развлечения».
  6. Еда, кулинария — на данный момент подразделяется на подкатегории: «Вторые блюда», «Готовим в …», «Готовим детям», «Десерты, Сладости», «Выпечка,Закуски и Салаты», «Консервирование», «На скорую руку», «Напитки», «Первые блюда», «Пикник», «Покупка и выбор продуктов», «Соусы»,Приправы",Торжество, «Праздник», «Прочее кулинарное».
  7. Животные, растения — на данный момент подразделяется на подкатегории: «Дикая природа», «Домашние животные», «Комнатные растения», «Сад–Огород», «Прочая живность».
  8. Знакомства, любовь, отношения — самая многочисленная категория в Ответах. На данный момент подразделяется на подкатегории: «Дружба», «Знакомства», «Любовь», «Отношения», «Расставания», «Прочие взаимоотношения».
  9. Искусство и культура — на данный момент подразделяется на подкатегории: «Архитектура, Скульптура», «Живопись, Графика», «Кино, Театр», «Литература», «Музыка», «Прочие искусства». Полезен тем, что без особых усилий позволяет получить ответ на опознание песни/книги/фильма, в том числе по ограниченной, фрагментарной информации.
  10. Компьютеры, Интернет — несмотря на большое количество вопросов в этой категории, квалифицированных специалистов в этой области на проекте немного. На данный момент подразделяется на подкатегории: «Дизайн, Верстка», «Железо», «Интернет», «Компьютерные и Видео игры», «Программирование», «Программное обеспечение», «Прочее компьютерное».
  11. Красота и здоровье.
  12. Наука, техника, языки — на данный момент подразделяется на подкатегории: «Гуманитарные науки», «Естественные науки», «Лингвистика», «Техника». Раздел последние несколько лет очень плохо модерируется, в результате большая часть задаваемых здесь вопросов — домашние задания учащихся. Следует отметить, что контингент отвечающих в данной категории весьма широк — вплоть до людей с учёными степенями и носителей большого количества языков, что теоретически позволяет получить очень квалифицированный ответ на любой тематический вопрос. В разделе постоянно возникает парадоксальная ситуация — когда люди с учёными степенями бесплатно объясняют школьникам, как решать тривиальные домашние задания.
  13. Образование — на данный момент подразделяется на подкатегории: «Домашние задания», «Вузы и колледжи», «Детские сады», «Школы», «Дополнительное образование», «Образование за рубежом», «Прочее образование». В этой категории можно получить множество полезных ответов по поводу образования, начиная от детского сада и заканчивая аспирантурой.
  14. Общество, политика, СМИ — категория отличается тем, что здесь довольно часто разгораются споры по самым разным темам. На данный момент подразделяется на подкатегории: «Общество», «Политика», «Средства массовой информации», «Прочие социальные темы». Иногда в категории используется премодерация вопросов.
  15. Путешествия, туризм,
  16. Работа, карьера
  17. Семья, дом, дети
  18. Спорт — тоже популярная категория среди пользователей, однако людей, которые хорошо разбираются в спортивной культуре мало.
  19. Стиль, мода, звезды — на данный момент подразделяется на подкатегории: «Мода», «Светская жизнь и шоубизнес», «Стиль, имидж», «Прочие тенденции стиля жизни».
  20. Темы для взрослых — также достаточно популярная категория, оспаривающая первенство с разделом Знакомства, любовь, отношения. Формально для лиц старше 18 лет.
  21. Товары и услуги — здесь можно получить помощь в выборе покупки, техники. На данный момент подразделяется на подкатегории: «Идеи для подарков», «Мобильные устройства», «Офисная техника», «Техника для дома», «Прочие промтовары», «Сервис, уход и ремонт», «Прочие услуги».
  22. Философия, непознанное — эта категория также знаменита прежде всего своими спорами. На данный момент подразделяется на подкатегории: «Мистика, эзотерика», «Психология», «Религия, вера», «Философия», «Прочее непознанное».
  23. Фотография, видеосъемка — на данный момент подразделяется на подкатегории: «Выбор, покупка аппаратуры», «Обработка видеозаписей», «Обработка и печать фото», «Уход за аппаратурой», «Техника, темы, жанры съемки», «Прочее фото–видео».
  24. Юридическая консультация — в этом разделе также есть специалисты, способные дать квалифицированный ответ. На данный момент подразделяется на подкатегории: «Аграрное право», «Административное право», «Военная служба», «Гражданское право», «Жилищное право», «Конституционное право», «Паспортный режим, регистрация», «Право социального обеспечения», «Семейное право», «Трудовое право», «Уголовное право», «Финансовое право», «Экологическое право», «Прочие юридические вопросы».
  25. Юмор — третья по популярности и одна из самых многочисленных категорий в «Ответах».
  26. О проектах Mail.ru — на данный момент подразделяется на подкатегории: «Ответы@Mail.Ru», «Агент@Mail.Ru», «Блоги@Mail.Ru», «Фото&Видео@Mail.Ru», «Мой Мир@Mail.Ru», «Почта@Mail.Ru», «Деньги@Mail.ru», «ICQ», «Прочие проекты».
  27. Другое — в настоящий момент в этом разделе обычно дается не так много ответов. Так что шанс получить ответ здесь невелик.
  28. Добро Пожаловать — категория для новичков на проекте. Ответы на эти вопросы увеличивают баллы в 2 раза. Отвечать на вопросы новичков могут ответчики с категорией знаток и выше.
  29. Золотой фонд — сюда отбираются лучшие (по мнению редакторов) вопросы. Но некоторые пользователи считают размещенные здесь вопросы «скучными», полностью переписанными из интернета. С 2010 года практически не функционирует, в золотой фонд за это время были перенесены только несколько вопросов.Каждая из этих категорий имеет подкатегории удовлетворяющие тематике основной. И вопросы задаваемые пользователями, должны быть созданы в той подкатегории, которая больше удовлетворяет теме вопроса. Таким образом, отвечающие пользователи могут выбрать необходимую тематику и отвечать на вопросы пользователей этой темы.

 

Возможности проекта очень широкие – можно  голосовать за понравившийся ответ, голосовать за вопросы, создавать опросы и вопросы, отвечать на опросы и вопросы.

Рассмотрим  положительные и отрицательные  стороны этого проекта.

Положительные:

– Сервис доведен до отличного состояния и функционирует без проблем;

– Большое количество пользователей, сервис популярен;

– Администрация следит за ситуацией на этом сервисе, налажено обслуживание, спам своевременно удаляется, неадекватные пользователи блокируются;

Отрицательные:

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

– Недостаточность расширения категорий, невозможно добавлять другие категории, что может со временем создать ряд проблем с тематиками и вопросами;

– Возможная неадекватность, как вопросов, так и ответов;

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

 

Пример  с созданием неадекватного вопроса  в категории «Комьютеры, интернет – Программирование» (см. Рис. 4)

Рис. 4 «Пример  неадекватного вопроса»

 

Пример  с адекватным вопросом и адекватным, возможно достоверным ответом в  категории «Компьютеры, интернет – Программирование»

(см. Рис. 5)

Рис. 5 «Пример  адекватного вопроса и ответа»

 

Пример  с адекватным вопросом и неадекватным ответом в категории «Компьютеры, интернет – Программирование» (см. Рис. 6)

Рис. 6 «Пример  адекватного вопроса и неадекватного  ответа»

 

    1.  Сервис «imdb.com»

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»

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

  1. Отсутствие гибкости сервисов для расширения.
  2. Узко направленность.
  3. Возможность недостоверной предоставляемой информации.
  4. Сложность интерфейсов.
  5. Слабое взаимодействие пользователя с севисом.

3.4 Анализ альтернатив и выводы на основе результатов анализа

Проанализировав общие достоинства и недостатки рассматриваемых альтернатив, были выявлены следующие качества, которыми должен обладать web–сервис:

– Удобный и понятный интерфейс;

– Удобное представление информации ресурса;

– Сильная связь пользователя с web–сервисом;

– Стимулирование пользователя на работу с web–сервисом;

– Гибкая архитектура web–сервиса, предрасположенная к быстрому расширению функционала;

– Быстрая работа web–сервиса;

– Адекватность и достоверность предоставляемой информации;

– Широкая область охватываемых направлений;

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

 

  1. Выбор программно – технических средств реализации

Для реализации проекта был выбран язык Java, среда программирования NetBeans и система управления базами данных MongoDB.

Обоснованием  выбора языка программирования Java стало:

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

Информация о работе Разработка интернет форума