Интернет-приложение поиска транспортных средств для туристов

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

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

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

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

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

Содержание

  • Введение
  • 1. Проектирование интернет-приложения
    • 1.1 Постановка задач и требований к проектируемому интернет-приложению
    • 1.2 Обзор аналогичных программных продуктов
    • 1.3 Обоснование выбора системы управления базы данных и языков программирования
  • 2. Разработка интернет-приложения
    • 2.1 Разработка архитектуры интернет-приложения
    • 2.2 Информационная архитектура приложения
    • 2.3 Логическая архитектура
  • 3. Реализация интернет-приложения
    • 3.1 Проектирование структуры базы данных
    • 3.2 Проектирование деятельности человека в системе (разработка алгоритмов работы пользователя)
    • 3.3 Разработка структуры веб-сайта
    • 3.4 Организация поиска и проверки данных в интернет-приложении
    • 3.5 Обоснование эргономических требований к приложению и разработка их номенклатуры
    • 3.6 Разработка интерфейса интернет-приложения
    • 3.7 Тестирование эргономичности интерфейса приложения
  • 4. Технико-экономическое обоснование эффективности разработки и использования программного продукта интернет-приложение для туристов
    • 4.1 Характеристика программного продукта
    • 4.2 Расчет стоимостной оценки затрат
    • 4.3 Расчет стоимостной оценки результата
  • 5. Ресурсо- и энергосбережение при разработке и эксплуатации интернет-приложения для туристов
  • Заключение
    • Список литературы

Введение

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

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

Целью дипломного проектирования является сокращение времени поиска транспортных средств для туристов, путешествующих автостопом.

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

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

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

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

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

1. Проектирование интернет-приложения

1.1 Постановка задач и требований к проектируемому интернет-приложению

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

- обзор существующих интернет-приложений для туристов, путешествующих автостопом;

- расширение информационной базы;

- разработка системы поиска попутчиков и транспортных средств;

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

- получение прибыли за счет ограниченного доступа к информации;

- быстрая и удобная оплата регистрации;

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

Необходимый минимум функций и требований, предъявляемых к будущему приложению:

1) регистрация пользователя - осуществляется путем заполнения специальной формы с использованием клавиатуры компьютера;

2) создание базы данных водителей и туристов - формируется программой путем занесения в нее всех зарегистрированных пользователей;

3) создание личной анкеты пользователя - осуществляется системой после заполнения пользователем предъявленной ему формы;

4) редактирование личной информации анкеты - осуществляется пользователем по нажатию кнопки «Редактировать»;

5) заполнение объявлений пользователем-водителем о поиске попутчиков - осуществляется путем предъявления пользователю специальной формы, в которую он должен внести данные;

6) создание базы данных объявлений водителей - производится созданием специального файла в программе;

7) организация поиска транспортных средств в базе данных программы - осуществляется путем ввода начальной и конечной точек маршрута и сопоставлением их с данными базы;

8) вывод на экран списка имен водителей с подходящим маршрутом - организуется в виде списка ссылок на личные анкеты данных водителей;

9) организация общения между туристом и водителем - производится с помощью отправки электронных сообщений;

10) вывод актуальных объявлений пользователя-водителя в его анкете - осуществляется путем помещения ссылок внизу анкеты под надписью «Активные объявления»;

11) заполнение заявки пользователем-туристом о поиске водителя - осуществляется путем предъявления пользователю специальной формы, в которую он должен внести данные;

12) создание базы данных заявок туристов - производится созданием специального файла в программе;

13) вывод всех заявок пользователей-туристов на экран - производится в алфавитном порядке по начальной точке маршрута по нажатию ссылки «Заявки»;

14) автоматизация системы бронирования мест - уведомления о бронировании отправляется пользователю-водителю на электронную почту;

15) обеспечение конфиденциальности и достоверности информации о пользователях.

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

1.2 Обзор аналогичных программных продуктов

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

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

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

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

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

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

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

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

- четко структурированная информация;

- краткое и понятное меню;

- подсказки для элементов формы;

- обратная связь с пользователем при нажатии кнопок;

- интуитивно понятные иконки и картинки и поясняющие надписи к ним;

- выделяющиеся формы поиска;

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

1.3 Обоснование выбора системы управления базы данных и языков программирования

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

HTML вовсе не является языком программирования в традиционном понимании. HTML -- язык разметки документа. При разработке html-документа выполняется разметка текстового документа.

Специальные программы просмотра html-документов, которые называются браузерами,служат для интерпретации файлов, размеченных по правилам языка HTML, форматирования их в виде веб-страниц и отображения их содержимого на экране компьютера пользователя. Проектируемое интернет-приложение разрабатывается под наиболее популярные браузеры: Internet Explorer, Mozilla, Opera, Safari.

Для создания интернет-приложения используются такие языки программирования как Javascript и PHP.

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

Javascript получил широкую популярность с приходом Веб 2.0. В этот период JavaScript совместно с различными диалектами XML стал активно использоваться в разработке пользовательских интерфейсов как веб-приложений, так и настольных приложений. JavaScript в связке с CSS используется для создания динамических сайтов, более доступных, чем основанные на Flash альтернативы.

JavaScript можно применять в широком диапазоне приложений. Если рассматривать JavaScript в контексте разработки Web-страниц, то в большинстве своем применение касается клиентской части. В языке отсутствуют такие полезные вещи, как:

- модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;

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

- стандартные интерфейсы к веб-серверам и базам данных;

- система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.

JavaScript имеет ряд свойств, присущих функциональным языкам -- функции как объекты первого класса, объекты как списки, анонимные функции, замыкания -- что придаёт языку дополнительную гибкость. JavaScript может применяться в различных контекстах для решения проблем, связанных с Web [1].

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

- проверка данных формы перед передачей их на сервер;

- оживление html-страниц при помощи скриптов и анимации;

- объединение со стороны клиента html-объектов и компонентов Ajax;

- моделирования связи с базой данных;

- обработка ответов полученных от сервера и вывод их пользователю.

Однако в различных браузерах существует разница в реализации объектной модели документа и это обусловило необходимость затрачивать дополнительные усилия для реализации корректной работы различных браузеров. Данное обстоятельство обусловило появление библиотек JavaScript, предоставляющих кросс-браузерный интерфейс к методам DOM.

При проектировании данного интернет-приложения была использована библиотека Javascript jQuery. Эта библиотека помогает легко получать доступ к любому элементу DOM, обращаться к атрибутам и содержимому элементов DOM, манипулировать ими. Также библиотека jQuery предоставляет удобный интерфейс прикладного программирования по работе с Ajax.

Для программирования серверной части приложения использовался язык PHP. Это язык серверных скриптов, который интерпретируется и выполняется на сервере. PHP-программы можно встраивать в любое место HTML-страницы, а сами PHP-скрипты выполняются на стороне сервера.

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix, Microsoft Windows, Mac OS X, RISC OS и многих других. Также в PHP включена поддержка большинства современных веб-серверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

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

Также важным преимуществом PHP является поддержка многих других расширений, таких, как функции для работы со сжатыми файлами (gzip, bz2), функции календарных вычислений, функции перевода и многое другое [2].

В проектируемом интернет-приложении я использовала язык программирования PHP с целью:

- обработки информации полученной с форм;

- взаимодействие с базой данных;

- передачи на клиентскую сторону PDF и XML файлов и изображений;

- регистрации и авторизации пользователей в системе.

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

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

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

Большим достоинством MySQL является возможность работы с интерфейсом программного приложения API (Application Program Interface). API может обеспечить простой доступ из программы пользователя к системе управления базой данных. Самой популярной «связкой» для управления сайтами считается MySQL с языком PHP. Взаимодействие с MySQL в данном случае ведется посредством совокупности функций.

2. Разработка интернет-приложения

2.1 Разработка архитектуры интернет-приложения

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

World Wide Web - это превосходная модель широкомасштабной частнособственнической индустрии "клиент-сервер". Все клиенты Web выполняют стандартные программы конечного пользователя, и все позволяют работать с языком HTML. Все клиенты и серверы Web используют слой стандартного промежуточного обеспечения HTTP и их взаимодействие друг с другом не зависит от используемого аппаратного обеспечения и ОС.

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

Особенность заключается в том, что само интернет-приложение находится и выполняется на сервере, клиент при этом получает только результаты работы. Передача запросов и результатов их обработки происходит через Интернет [3].

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

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

Классическое веб-приложение работает по схеме, указанной на рисунке 2.1. Большинство действий пользователя вызывает обращение к серверу. На стороне сервера интернет-приложение выполняется специальным программным обеспечением, которое принимает запросы клиентов, обрабатывает их, формирует ответ в виде страницы, описанной на языке html и передает его клиенту [4]. Получается, что результат работы интернет-приложения идентичен результату запроса к традиционному веб-сайту. Однако, в отличие от него, интернет-приложение генерирует html код в зависимости от запроса пользователя, а не просто передает его клиенту в том виде, в котором этот код хранится в файле на стороне сервера. То есть, интернет-приложение динамически формирует ответ с помощью исполняемого кода, так называемой исполняемой части. Подобный подход изначально разрабатывался для того, чтобы использовать веб как хранилище гипертекстовых документов.

Отображением результатов запросов, а также приемом данных от клиента и их передачей на сервер обычно занимается специальное приложение - браузер (Internet Expolrer, Mozilla, Opera и т.д.) [5].

В следствие развития клиентских частей Веб-приложений некоторая часть логики приложения (например, такая как проверка корректности вводимых данных) размещается в самом Веб-браузере. В частности, современные Веб-браузеры способны интерпретировать скриптовые языки (VBScript, JavaScript), код на которых, как и ASP-код, внедряется в Веб-страницу, но интерпретируется не Веб-сервером, а браузером и соответственно выполняется на клиентском устройстве.

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

Рисунок 2.1 - Схема работы классического веб-приложения

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

Рисунок 2.2 - Схема синхронного взаимодействия традиционного веб-приложения

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

- стандартные средства отображения страниц, такие как XHTML и CSS;

- динамические средства отображения информации и взаимодействия с пользователем - Document Object Model (DOM);

- обмен данными и их обработка - XML и XSLT;

- механизмы асинхронной передачи данных с сервера с помощью XMLHttpRequest;

- JavaScript, который объединяет всё это вместе.

Рассмотрим схему работы Ajax приложения, представленную на рисунке 2.3.

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

Рисунок 2.3 - Схема работы Ajax приложения

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

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

Рисунок 2.4 - Схема асинхронного взаимодействия Ajax-приложения

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

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

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

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

2.2 Информационная архитектура приложения

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

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

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

1. Средства просмотра

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

Системы организации - главные средства распределения содержимого сайта по категориям.

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

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

место этого раздела он может перейти.

Карты сайтов/оглавления - предоставляют краткий обзор основных разделов сайта и его подчиненных сайтов со ссылками на них, обычно в виде общей структуры.

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

Руководства по сайту - дополнительные системы навигации, предоставляющие специальную информацию по конкретным темам, а также ссылки на соответствующее подмножество содержимого сайта.

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

2. Средства поиска

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

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

Язык запросов - грамматика запроса на поиск. Языки запросов могут содержать булевы операторы (например, «И», «ИЛИ», «НЕ»), операторы близости или средства задания поля, в котором должен осуществляться поиск.

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

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

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

3. Содержимое и задачи

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

Заголовки - метки для следующего за ними содержимого.

Встроенные ссылки - ссылки внутри текста; они играют роль обозначений для содержимого, к которому ведут (т. е. представляют его).

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

Блоки информации - логические единицы содержимого.

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

Вспомогательные средства последовательных процедур - индикация местонахождения пользователя в процессе выполнения некой процедуры или задачи, а также оставшегося до их завершения пути (например, «шаг 3 из 8»).

Идентификаторы - индикация местонахождения пользователя в информационной системе (например, пиктограмма текущего сайта или подсказка о месте на сайте, в котором находится пользователь) [7].

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

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

Можно выделить несколько схем организации.

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

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

3)Организация по географическим признакам, которые часто являются важной характеристикой информации. Политические, социальные и экономические вопросы часто зависят от географического положения.

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

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

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

Обычно схемы, ориентированные на задачи, действуют в пределах определенных подчиненных сайтов или интегрируются в гибридные системы навигации по темам/задачам.

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

2.3 Логическая архитектура

Логическая архитектура -- это порядок организации и объединения логических компонентов системы.

Для удобства работы целесообразно на этапе проектирования и разработки разделить приложение на отдельные модули. Разделение приложения на модули значительно упрощает работу с системой. Основные модули интернет-приложения представлены на рисунке 2.5.

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

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

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

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

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

Рисунок 2.5 - Основные модули интернет-приложения

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

Рисунок 2.6 - Общий управляющий модуль программы

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

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

К библиотекам относится JavaScript-фреймворк jQuery и плагины на основе этого фрэймворка. jQuery фокусируется на взаимодействии JavaScript и HTML. Эта библиотека помогает легко получать доступ к любому элементу (набору элементов) объектной модели документа (DOM), обращаться к атрибутам и содержимому элементов DOM и конечно манипулировать ими. Также jQuery предоставляет удобный API для работы с Ajax.

3. Реализация интернет-приложения

3.1 Проектирование структуры базы данных

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

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

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

- tUsers - хранит данные о зарегистрированном пользователе;

- drCars - хранит данные о транспортном средстве водителя;

- uDriverAdvert - хранит информацию обобъявлении пользователя-водителя;

- uTouristAdvert - хранит информацию обобъявлении пользователя-туриста;

- tripCart - хранит информацию о всех поездках данного пользователя.

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

Типы данных для полей определены в соответствии с особенностями реальных данных пользователя и специфическими свойствами базы данных MySQL. Использование полей переменной длины позволяет избежать хранения ненужной информации. Поскольку таблицы с постоянной длиной записи обрабатываются быстрее таблиц с переменной длиной записи, целесообразно задавать для текстовой информации тип данных CHAR. В столбце типа CHAR длина поля постоянна и может принимать любое значение между 0 и 255.

Файлы с изображениями хранятся в виде внешних файлов на сервере, а в базе данных MySQL указывать только пути к этим файлам. Это существенно увеличивает скорость работы базы данных и приложения в целом, позволяет кэшировать изображения на стороне HTTP-сервера. Максимальная длина пути файла ограничивается 255 символами.

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

Таблица 3.1

Данные о зарегистрированном пользователе

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

Формат

Обязательность заполнения

Наименование

1

id

int

обяз.

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

2

login

varchar

обяз.

логин (электронный адрес)

3

pass

varchar

обяз.

пароль

4

name

varchar

обяз.

имя

5

surname

varchar

обяз.

фамилия

6

phone

varchar

обяз.

телефон

7

icq

varchar

необяз.

номер icq

8

age

varchar

необяз.

возраст

9

town

varchar

необяз.

место жительства

10

avatar

varchar

необяз.

путь к файлу фотографии пользователя

11

unic_id

varchar

обяз.

уникальный номер

12

sex

int

обяз.

пол

13

type

int

обяз.

тип пользователя (турист/водитель)

14

status

int

обяз.

статус пользователя (активирован/не активирован)

15

date

date

обяз.

дата регистрации

Таблица 3.2

Данные о транспортном средстве водителя

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

Формат

Обязательность заполнения

Наименование

1

number

int

обяз.

номер по порядку

2

driver_id

int

обяз.

идентификатор водителя транспортного средства

3

car_number

varchar

обяз.

номер транспортного средства

4

car_mark

varchar

обяз.

марка транспортного средства

5

car_model

varchar

обяз.

модель транспортного средства

6

car_year

int

обяз.

год выпуска транспортного средства

7

car_color

varchar

необяз.

цвет транспортного средства

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

Формат

Обязательность заполнения

Наименование

8

car_photo

varchar

необяз.

изображение транспортного средства

Примечание - Внешний ключ driver_id ссылается на поле id таблицы 3.1

Таблица 3.3

Информация обобъявлении пользователя-туриста

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

Формат

Обязательность заполнения

Наименование

1

ad_id

int

обяз.

идентификатор объявления

2

ad_level

int

обяз.

определяет категорию заявителя (1 - турист, 2- водитель)

3

ad_date

date

обяз.

дата подачи объявления

4

start_point

varchar

обяз.

пункт отправления

5

finish_point

varchar

обяз.

пункт назначения

6

start_date

date

обяз.

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

7

start_time

datetime

обяз.

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

8

declarant_id

int

обяз.

идентификатор заявителя объявления

9

ad_status

int

обяз.

актуальность объявления

Примечание - Внешний ключ declarant_id ссылается на поле id таблицы 3.1

Таблица 3.4

Информация обобъявлении пользователя-водителя

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

Формат

Обязательность заполнения

Наименование

1

ad_id

int

обяз.

идентификатор объявления

2

ad_level

int

обяз.

определяет категорию заявителя (1 - турист, 2- водитель)

3

ad_date

date

обяз.

дата подачи объявления

4

start_point

varchar

обяз.

пункт отправления

5

finish_point

varchar

обяз.

пункт назначения

6

start_date

date

обяз.

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

7

start_time

datetime

обяз.

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

8

all_places

int

обяз.

количество вакантных мест

9

free_places

int

обяз.

количество свободных мест на данный момент

10

declarant_id

int

обяз.

идентификатор заявителя объявления

11

ad_status

int

обяз.

актуальность объявления

Примечание - Внешний ключ declarant_id ссылается на поле id таблицы 3.1

Таблица 3.5

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

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

Формат

Обязательность заполнения

Наименование

1

ad_id

int

обяз.

идентификатор объявления

2

user_id

int

обяз.

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

Примечание - Внешний ключ ad_id ссылается на поле id таблицы 3.3; внешний ключ user_id ссылается на поле id таблицы 3.1

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

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

Для организации связей между сущностями необходимо создать сущность-связь. Представим эти связи в виде диаграммы:

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

Рисунок 3.1 - Диаграмма структуры данных

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

3.2 Проектирование деятельности человека в системе (разработка алгоритмов работы пользователя)

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

В данном случае необходимо разработать алгоритмы работы человека в подсистеме «водитель - ПК - среда» и подсистеме «турист - ПК - среда». Разрабатываемые алгоритмы должны отражать то содержание и условия деятельности человека, которые связаны с процессами информационного взаимодействия человека и техники [8].

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

Таблица 3.6

Алгоритм работы незарегистрированного пользователя в системе

№ п/п

Содержание операции

Обращение к СОИ

Обращение к ОУ

1

Загрузка программы

Ярлык на экране дисплея

Щелчок мышкой

2

Заполнение формы регистрации

Форма на экране дисплея

Клавиатура ПК

3

Отправка данных

Кнопка на экране дисплея

Щелчок мышкой

4

Активация учетной записи

Ссылка на экране дисплея

Щелчок мышкой

5

Вход в систему

Форма на экране дисплея

Клавиатура ПК

Примечание - Далее работа пользователя может идти по алгоритму зарегистрированного пользователя

Таблица 3.7

Алгоритм работы зарегистрированного пользователя в подсистеме «водитель - ПК - среда»

№ п/п

Содержание операции

Обращение к СОИ

Обращение к ОУ

1

Загрузка программы

Ярлык на экране дисплея

Щелчок мышкой

2

Ввод имени и пароля

Поля на экране дисплея

Клавиатура ПК

3

Вход в систему

Кнопка на экране дисплея

Щелчок мышкой

4

Просмотр списка новых сообщений

Кнопка на экране дисплея

Щелчок мышкой

5

Просмотр всех заявок туристов

Меню на экране дисплея

Щелчок мышкой

6

Выбор интересующей заявки

Ссылка в таблице данных

Щелчок мышкой

7

Написать ответ на заявку

Поле на экране дисплея

Клавиатура ПК

8

Отправка сообщений

Кнопка на экране дисплея

Щелчок мышкой

9

Выход из программы

Значок на экране дисплея

Щелчок мышкой

Таблица 3.8

Алгоритм работы человека в подсистеме «турист- ПК - среда»

№ п/п

Содержание операции

Обращение к СОИ

Обращение к ОУ

1

Загрузка программы

Ярлык на экране дисплея

Щелчок мышкой

2

Ввод имени и пароля

Поля на экране дисплея

Клавиатура ПК

3

Вход в систему

Кнопка на экране дисплея

Щелчок мышкой

4

Просмотр списка новых сообщений

Кнопка на экране дисплея

Щелчок мышкой

5

Просмотр всех предложений водителей

Меню на экране дисплея

Щелчок мышкой

6

Выбор интересующего предложения

Ссылка в таблице данных

Щелчок мышкой

7

Отправка запроса водителю

Кнопка на экране дисплея

Щелчок мышкой

8

Редактирование своих контактных данных

Поля на экране дисплея

Клавиатура ПК

9

Отправка сообщения водителю

Кнопка на экране дисплея

Щелчок мышкой

10

Получение контактных данных водителя

Кнопка на экране дисплея

Щелчок мышкой

11

Выход из программы

Значок на экране дисплея

Щелчок мышкой

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

3.3 Разработка структуры веб-сайта

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

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

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

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

- предложения водителей (на данной странице организована локальная система навигации по первой букве названия пункта отправления);

- предложения попутчиков (на данной странице организована локальная система навигации по первой букве названия пункта отправления);

- подать объявление;

- регистрация.

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

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

Рисунок 3.2 - Структура проектируемого интернет-приложения

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

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

Основной текст размещается в неширокий столбец для удобства чтения. Разделение информации на куски способствует поиску и просмотру.

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

3.4 Организация поиска и проверки данных в интернет-приложении

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

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

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

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

Поиск объявлений это наиболее важная часть проектируемого приложения. В приложении предусмотрено два вида поиска: быстрый и расширенный. Форма быстрого поиска представлена на главной странице сайта и подразумевает поиск маршрута по пунктам отправления и назначения и дате отъезда.

интернет приложение турист автостоп

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

Рисунок 3.3 - Алгоритм проверки данных в форме

Рисунок 3.4 - Форма быстрого поиска

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

Рисунок 3.5 - Форма расширенного поиска

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

a) ввод данных в форму (пункты отправления и назначения);

б) поиск актуальных объявлений с заданной датой отъезда;

в) поиск среди отобранных объявлений тех, у которых совпадают пункты отправления и назначения;


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

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