Постановка задач и требований к проектируемому интернет-приложению. Обоснование выбора системы управления базы данных и языков программирования. Разработка архитектуры заданного интернет-приложения, технико-экономическое обоснование его эффективности.
Аннотация к работе
3) создание личной анкеты пользователя - осуществляется системой после заполнения пользователем предъявленной ему формы; Проектируемая система должна состоять из двух подсистем, которыми являются подсистема «водитель - интернет-приложение» и подсистема «турист - интернет-приложение». Проектируемое интернет-приложение было разработано таким образом, чтобы пользователь мог в короткое время понять принцип работы приложения, получить необходимую ему информацию и понять, чем полезен для него данный ресурс. Хорошо продуманная архитектура интернет-приложения помогает пользователям тем, что использует только некоторый набор методов организации информации в систему, который больше всего подходит для этого приложения исходя из информационных потребностей пользователей и бюджетных ограничений. Идентификаторы - индикация местонахождения пользователя в информационной системе (например, пиктограмма текущего сайта или подсказка о месте на сайте, в котором находится пользователь) [7].Целью дипломного проектирования является сокращение времени поиска транспортных средств для туристов, путешествующих автостопом, и возможность заранее рассчитать денежные затраты как для туристов, так и для водителей. Разработанный программный продукт интерактивного интернет-приложения сайта кафедры для доступа к информационным ресурсам и сервисам кафедры инженерной психологии и эргономики позволяет: Экономическая целесообразность инвестиций в разработку и использование программного продукта осуществляется на основе расчета и оценки следующих показателей: - чистая дисконтированная стоимость (ЧДД); Для оценки экономической эффективности инвестиционного проекта по разработке и внедрению программного продукта необходимо: 1) Рассчитать результат (Р) от использования программного продукта; 2) Рассчитать затраты (инвестиции), необходимые для разработки программного продукта; Общие капитальные вложения Ко заказчика (потребителя), связанные с приобретением, внедрением и использованием ПС, рассчитываются по формуле [16]: Ко = Кпр Кос Ктс Коб, (4.1) где Кпр - затраты пользователя на приобретение ПС по отпускной цене разработчика с учетом стоимости услуг по эксплуатации и сопровождению (тыс. руб.
Введение
Как известно, развитие интернета расширило возможности работы с удаленными подразделениями, открыло широкие перспективы электронной коммерции, обслуживания покупателей и предоставление услуг через интернет. Появление новых технологий, повышение скорости соединения лишь усиливает влияние интернета на деятельность людей. В настоящее время особенно важна стала скорость и доступность предоставления услуг. Это обусловило появление интернет-приложений для обеспечения потребностей пользователей.
Автостоп - бесплатное передвижение на попутном транспорте с согласия водителя. Автостоп предоставляет возможность передвигаться из города в город, затрачивая минимальное количество денежных средств. Вследствие чего воспользоваться таким видом передвижения могут люди различного достатка.
Целью дипломного проектирования является сокращение времени поиска транспортных средств для туристов, путешествующих автостопом.
Также использование данного интернет-приложения позволит заранее рассчитать денежные затраты как для туристов, так и для водителей.
Проектирование технической системы носит комплексный характер и включает в себя частные виды проектирования: техническое, включающее разработку машинной части системы; художественное (дизайнерское), состоящее в обеспечении эстетичности и привлекательности; эргономическое (инженерно-психологическое), заключающееся в разработке проекта деятельности пользователя.
В данном дипломном проекте техническое проектирование включает в себя системотехническое и программное проектирование. Системотехническое проектирование представляет собой определение структуры и архитектуры технической системы, количества ее компонентов, их функции. А программное проектирование представляет собой разработку программного обеспечения для работы системы.
Дизайнерское проектирование необходимо для обеспечения эстетического уровня и требуемых потребительских свойств системы: красоты, привлекательности, информационной выразительности, композиционной целостности и др. Его целью является отражение свойств эмоционально-мотивационной сферы человека, создание у него определенного эстетического отношения к продукту проектирования.
Эргономическое проектирование заключается в решении всех вопросов, связанных с включением человека в проектируемую систему «человек - машина - среда». Отличительной его чертой является создание проекта деятельности человека, а также согласование технического и человеческого проектов и создание на основе этого обобщенного проекта системы «человек - машина».
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 код в зависимости от запроса пользователя, а не просто передает его клиенту в том виде, в котором этот код хранится в файле на стороне сервера. То есть, интернет-приложение динамически формирует ответ с помощью исполняемого кода, так называемой исполняемой части. Подобный подход изначально разрабатывался для того, чтобы использовать веб как хранилище гипертекстовых документов.
Рисунок 2.1 - Схема работы классического веб-приложения
Отображением результатов запросов, а также приемом данных от клиента и их передачей на сервер обычно занимается специальное приложение - браузер (Internet Expolrer, Mozilla, Opera и т.д.) [5].
В следствие развития клиентских частей Веб-приложений некоторая часть логики приложения (например, такая как проверка корректности вводимых данных) размещается в самом Веб-браузере. В частности, современные Веб-браузеры способны интерпретировать скриптовые языки (VBSCRIPT, JAVASCRIPT), код на которых, как и ASP-код, внедряется в Веб-страницу, но интерпретируется не Веб-сервером, а браузером и соответственно выполняется на клиентском устройстве.
С ростом объема используемых данных и числа посетителей вебсайтов возрастают и требования к надежности, производительности и масштабируемости веб-приложений. Как этап эволюции подобных приложений стало отделение бизнес-логики, реализованной в веб-приложении, а нередко и сервисов обработки данных и реализации транзакций от его интерфейса. В этом случае в самом веб-приложении обычно остается так называемая презентационная часть, а бизнес-логика, обработка данных и реализация транзакций переносятся на сервер [6].
Рисунок 2.2 - Схема синхронного взаимодействия традиционного веб-приложения
В данном дипломном проекте для создания интернет-приложения используется технология Ajax. Ajax это объединение нескольких самостоятельных технологий, которые могут быть эффективно использованы вместе. Ajax включает в себя: - стандартные средства отображения страниц, такие как XHTML и CSS;
- динамические средства отображения информации и взаимодействия с пользователем - Document Object Model (DOM);
- обмен данными и их обработка - XML и XSLT;
- механизмы асинхронной передачи данных с сервера с помощью XMLHTTPREQUEST;
- JAVASCRIPT, который объединяет все это вместе.
Рассмотрим схему работы Ajax приложения, представленную на рисунке 2.3.
Рисунок 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.
Рисунок 2.5 - Основные модули интернет-приложения
Для упрощения разработки и восприятия системы взаимосвязи между компонентами построим в виде дерева. В корне дерева находится общий управляющий модуль, через который проходят все остальные взаимосвязи.
Также следует разделить интерфейс пользователя, логику и данные. Интерфейс пользователя является отображением данных, а логика связывает интерфейс пользователя и данные.
Рисунок 2.6 - Общий управляющий модуль программы
Глобальные данные и объекты определяются в общем управляющем модуле. Работа с SQL также осуществляется через этот модуль, чтобы компоненты не зависели от конкретной реализации SQL-сервера.
Любое действие пользователя (например, нажатие кнопки или закрытие окна) сначала вызывает функции в общем управляющем модуле, а через них передают данные в нужный модуль для выполнения необходимого действия. В результате общий управляющий модуль собирает все объекты компонентов и пересылает между ними сообщения и команды. При этом компоненты работают независимо друг от друга.
Окна приложения отображают информацию введенную пользователем или полученную с сервера. Все данные, введенные в формы, собираются js-скриптами, проверяются, обрабатываются и отсылаются на сервер.
Конфигурационный файл используется для хранения настроек приложения, в том числе и данные для подключения к базе данных.
К библиотекам относится JAVASCRIPT-фреймворк JQUERY и плагины на основе этого фрэймворка. JQUERY фокусируется на взаимодействии JAVASCRIPT и HTML. Эта библиотека помогает легко получать доступ к любому элементу (набору элементов) объектной модели документа (DOM), обращаться к атрибутам и содержимому элементов DOM и конечно манипулировать ими. Также JQUERY предоставляет удобный API для работы с Ajax.
3. Реализация интернет-приложения
3.1 Проектирование структуры базы данных
Большинство интернет-приложений используют базы данных для хранения информации. Информация может обрабатываться, сохраняться и извлекаться из базы данных. В современных информационных системах в базах данных хранятся и тексты, и изображения, и даже исполняемые программы или скрипты. Структура базы данных зависит от тех функциональных задач, которые должно выполнять интернет-приложение.
Реляционная база данных представляет из себя набор таблиц данных, связанных между собой. Таблицу называют сущностью, заголовки столбцов таблицы (наименования полей) - атрибутами, строку таблицы (запись) - экземпляром сущности, ячейки таблицы (поля) - значениями атрибутов. Экземпляры сущностей имеют идентификаторы - атрибуты с помощью которых эти экземпляры именуются или идентифицируются. Взаимоотношения сущностей выражаются связями. Первичный ключ - это поле таблицы базы данных, значение которого используется в качестве уникального идентификатора записи (строки) этой таблицы. Внешним ключом называется поле таблицы, предназначенное для хранения значения первичного ключа другой таблицы с целью организации связи между этими таблицами.
На рисунке изображена диаграмма отображающая логическую модель базы данных. В данной диаграмме сущностями являются: - TUSERS - хранит данные о зарегистрированном пользователе;
- DRCARS - хранит данные о транспортном средстве водителя;
- UDRIVERADVERT - хранит информацию об объявлении пользователя-водителя;
- UTOURISTADVERT - хранит информацию об объявлении пользователя-туриста;
- TRIPCART - хранит информацию о всех поездках данного пользователя.
Для каждого вида информации создается одна или несколько таблиц. Каждая таблица состоит из полей. Перечень, названия и типы полей определяются назначением таблицы.
Типы данных для полей определены в соответствии с особенностями реальных данных пользователя и специфическими свойствами базы данных MYSQL. Использование полей переменной длины позволяет избежать хранения ненужной информации. Поскольку таблицы с постоянной длиной записи обрабатываются быстрее таблиц с переменной длиной зап
Список литературы
Прирост прибыли за счет (Пч) руб. - 14235000 14235000 14235000
То же с учетом фактора времени руб. - 12378756 10763083,5 9359512,5
2. Затраты: Приобретение, адаптация и освоение ПС (Кпр) руб. 27849548 - - -
Освоение ПС (Кос) руб. 5 000 - - -
Доукомплектование ВТ техническими средствами (Ктс) руб. 0,00 - - -
3. Пополнение оборотных средств (Коб) руб. 0,00 - - -
5. То же с учетом фактора времени руб. 27854548 - - -
6. Чистый дисконтированный доход по годам руб. 27854548 12378756 10763083,5 9359512,5
Рассчитаем рентабельность инвестиций в приобретение программного продукта (РИ) по формуле: , (4.18)
Где Пчер - среднегодовая величина чистой прибыли за расчетный период, руб., которая определяется по формуле: , (4.19) где Пчт - чистая прибыль, полученная в году t, руб.
Пчср = 6 103 984,73
Ри = 38,2%.
В результате технико-экономического обоснования применения программного продукта были получены следующие значения показателей их эффективности: 1. чистый дисконтированный доход за четыре года производства продукции составит 4 646 804 руб.;
2. все инвестиции окупаются на третий год;
3. рентабельность инвестиций составляет 38,2%.
Таким образом, разработка и применение программного продукта является эффективным.
5. Ресурсо- и энергосбережение при разработке и эксплуатации интернет-приложения для туристов
Для работы интернет-приложения необходимо использовать сервер. Для того, чтобы оценить энергозатраты при обслуживании сервера, необходимо рассчитать величину потребления энергии данным сервером.
Сервер построен на основе серверной архитектуры Intel с использованием чипсета Intel E7520 с частотой системной шины 800MHZ, с поддержкой работы двух процессоров Intel Xeon, использованием памяти Registered SDRAM DDR2-400 (до 16GB) шин PCI-Express x8 и x4, и PCI-X 64bit/133MHZ. Сервер ориентирован на использование дисковой подсистемы на базе только SCSI HDD (80 pin) с поддержкой горячей замены.
Сервер предназначен для бесперебойного обслуживания приложений электронной коммерции. Также сервер можно использовать для организации работы удаленного офиса, поддержки баз данных. Сервер обладает высокой производительностью, великолепной эксплуатационной надежностью и отказоустойчивостью, широкими возможностями для наращивания конфигурации, резервными компонентами, поддержкой горячей замены компонентов, средствами автоматической диагностики и устранения неисправностей.
Для увеличения надежности, критически важные компоненты в сервере продублированы и, кроме того, жесткие диски, вентиляторы охлаждения и блоки питания (при установке избыточного блока питания) в сервере позволяют осуществлять замену, не прерывая функционирование сервера. Базовые функции контроля и управления сервером можно расширить установкой дополнительного модуля управления сервером (Intel Management Module).
Количество потребляемой сервером электроэнергии напрямую зависит от его комплектации. В таблице 5.1 приведена мощность, потребляемая компонентами сервера [17].
Общая мощность сервера Ркомп, Вт/ч, рассчитывается как суммарная мощность всех его элементов [18]: Ркомп = 83 80 25 55 105 20 60 70 2 2 = 502
Количество потребляемой мощности при обслуживании сервера зависит также от затрат на освещение при работе с ним. Для освещения используется две лампы накаливания мощностью 100 Вт. Следовательно энергозатраты на освещение составят: Росв = 2·100 = 200
Средняя продолжительность обслуживания сервера составляет 1,7 часов в сутки. Итого, за месяц энергозатраты составят: Р = (502 200)·1,7·30 = 35 802
Наибольшее количество энергии тратится на поддержание работы монитора. Поэтому в любой операционной системе есть несколько энергосберегающих режимов, использование которых может значительно сократить потребляемую энергию. Например, в Windows XP это можно сделать, зайдя в Пуск > Панель управления > Электропитание. В Linux для этого существуют специальные команды, которые вводятся в консоли: setterm, xset. В MACOS в Системных настройках нужно выбрать вкладку «Энергосбережение».
Для уменьшения энергозатрат можно произвести замену некоторых комплектующих сервера на более экономные. При этом нужно проследить, чтобы производительность не упала.
1) При замене монитора LG Flatron F920B (CRT) на более современный Viewsonic VX922 (LCD), потребляющий 35 Вт, экономия составит 2 448 Вт за месяц обслуживания сервера;
2) При замене видеокарты GEFORCE 9800 GT на видеокарту GEFORCE GTX260 M с более современной технологией (55 нм), потребляющей 75 Вт, экономия составит 1 530 Вт за месяц. При работе в 2D режиме видеокарта потребляет в 2-4 раза меньше энергии.
Другие компоненты - жесткий диск, оптические приводы, дополнительные карты и память - влияют на общее энергопотребление не так сильно.
Замена простой лампы накаливания на компактную люминесцентную лампу позволит снизить потребление электроэнергии в 5 раз. Эти лампы не требуют специальных светильников, т.к. практически всегда подходят для установки в обычный патрон для обычной лампы накаливания. Наиболее эффективна замена ламп в тех местах, где свет горит постоянно, а включается / выключается редко.
После произведенных замен комплектующих компьютера на более экономные, общая мощность компьютера составит: Ркомп = 35 80 25 55 75 20 60 70 2 2 = 424
Итого, за месяц энергозатраты составят: Р = (424 40)·1,7·30 = 23 664
Стоимость 1КВТ электроэнергии в РБ составляет 173 рубля. Стоимость электроэнергии за месяц эксплуатации сервера до замены комплектующих С, руб., рассчитывается по формуле: С = 35 802·173·0,001 = 6 194
А стоимость электроэнергии за месяц эксплуатации сервера после замены комплектующих составит: С = 23 664·173·0,001 = 4 094
Экономия электроэнергии за месяц эксплуатации составит 2 100 рублей, то есть энергопотребление снизится на 66%.
В результате расчетов видно, что комплектация сервера влияет на потребляемую мощность. Поэтому необходимо тщательно подбирать конфигурацию сервера. Для освещения помещения, где находится сервер, необходимо выбирать энергосберегающие лампы.
Заключение
Уровень развития информационных технологий делают интернет-приложения доступным средством оказания услуг широкому кругу пользователей. Компьютеризация услуг по поиску транспортных средств и попутчиков очень слаба и несовершенна в Республике Беларусь.
В рамках дипломного проекта проанализированы аналогичные интернет-приложения для туристов. На основании этого анализа разработано интернет-приложение с улучшенной структурой и характеристиками. Основные преимущества данного интернет-приложения: - четко структурированная информация;
- краткое и понятное меню;
- подсказки для элементов формы;
- обратная связь с пользователем при нажатии кнопок;
- интуитивно понятные иконки и картинки и поясняющие надписи к ним;
- выделяющиеся формы поиска;
- представление искомой информации в виде таблицы данных;
- расширение информационной базы;
- автоматическая система бронирования мест в транспортном средстве;
- обеспечение достоверности контактной информации о пользователях;
- получение прибыли за счет ограниченного доступа к информации.
В результате дипломного проектирования разработано интернет-приложение, позволяющее туристам, путешествующим автостопом, найти транспортное средство для передвижения в пункт назначения. Данное интернет-приложение позволяет значительно сократить время поиска транспортных средств для туристов и заранее рассчитать денежные затраты на дорогу.
Разработаны схемы программы, алгоритмы работы пользователя и структура базы данных. Интернет-приложение создано при помощи современных технологий, благодаря чему является кроссбраузерным и кроссплатформенным.
Интернет-приложение имеет эргономичный интерфейс, учитывающий особенности восприятия и переработки информации, а также аспекты работы пользователя с системой. Это уменьшает время освоения системы и повышает общую продуктивность работы пользователя.
В ходе дипломного проектирования рассчитана себестоимость разработки и экономическая эффективность разработки программного обеспечения интернет-приложения для туристов. Срок окупаемости программного продукта составляют три года.
Список литературы
[1] Флэнаган, Д. JAVASCRIPT. Подробное руководство / Д. Флэнаган. - СПБ.: Символ-Плюс, 2008. -992 с.
[2] Коггэол, Дж. PHP 5. Полное руководство / Дж. Коггэол. - М.: Вильямс, 2007. -752 с.
[3] Линтикам, Д. Разгадка архитектуры клиент-сервер / Д. Линтикам // Персональный компьютер сегодня. - 1996. - №3. - С. 25 - 100.
[4] Пирогов, В. SQL Server 2005: программирование клиент-серверных приложений / В.Ю. Пирогов. - СПБ.: BHV-СПБ, 2006. - 336 стр.
[5] Федоров, А. Архитектура современных Web-приложений / А. Федоров, Н. Елманова // КОМПЬЮТЕРПРЕСС. - 2002. - №6. - С. 34 - 100.
[6] Крейн, Д. AJAX в действии: технология / Д. Крейн, Э. Паскарелло. - Киев: Вильямс, 2006. - 640 с.
[7] Розенфельд, Л. Информационная архитектура в Интернете, 2-ое издание / Л. Розенфельд, П. Морвиль. - СПБ.: Символ-Плюс, 2005. - 544 с.
[8] Сальвенди, Г. Человеческий фактор. Том 4. Эргономическое проектирование деятельности и систем / Г. Сальвенди. - М.: Мир, 2001. - 495 с.
[9] Вайнштейн, Л. Эргономика: курс лекций / Л.А. Вайнштейн. - Минск: БГУ, 2009. - 215 с.
[10] Нильсен, Я. Веб-дизайн. Книга Якоба Нильсена / Я. Нильсен. - СПБ.: Символ-Плюс, 2006. -512 с.
[11] Сан ПИН 9-131-РБ 2000 Гигиенические требования к видеодисплейным терминалам, электронно-вычислительным машинам и организации работы.
[12] Гото, К. Веб-редизайн: книга Келли Гото и Эмили Котлер / К. Гото, Э. Котлер. - СПБ.: Символ-Плюс, 2003. - 376 с.
[13] Кэмпбел, М. Строим Web-сайты / М. Кэмпбел. - М.: ТРИУМФ, 2006. - 480 с.
[14] Кобб, Г. Быстрое тестирование / Г. Кобб, К. Браун, Р. Калбертсон. - М.: Вильямс, 2002. - 384 с.
[15] Usable information technology [Электронный ресурс]. - Электронные данные. - Режим доступа: http://www.useit.com/.
[16] Палицын, В. Технико-экономическое обоснование дипломных проектов: Метод. пособие для студ. всех спец. БГУИР: Проекты программного обеспечения / В.А. Палицын. - Минск: БГУИР, 2006. - 76 с.