Автор: Пользователь скрыл имя, 19 Марта 2012 в 04:12, дипломная работа
Cookie – файлы, которые используются для сохранения данных о пользователе, посещающем различные страницы сайта или возвращающемся на сайт спустя некоторое время. Представляют собой текстовую строку, включаемую в запросы и ответы протокола HTTP.
DLL (Dynamic Link Library) – Библиотека динамических связей – это набор маленьких программ, каждая из которых может вызываться, при необходимости, большой программой. Загружаются такие программы выборочно и только при необходимости, экономя оперативную память.
Определения
Обозначения и сокращения
Введение
1 Анализ задач риэлтерской деятельности в условиях Интернет-представительства
1.1 Организационная структура предприятия
1.2 Анализ основных бизнес-процессов предприятия
1.3 Особенности работы в сфере недвижимости
1.4 Требования заказчика к проекту
1.5 Выбор технологии для создания web-сайта
Языки программирования клиент-машин
Языки программирования серверов
1.6 Выбор технологии для реализации БД
1.7 Вывод к разделу 1
2 Разработка web-ресурса на основе технологий PHP и MySQL
2.1 Создание БД MySQL
2.2 Создание динамического web-сайта на основе PHP
Разработка структуры
Компоновка страниц
Реализация
2.3 Размещение и продвижение web-сайта
3 Оценка эффективности проекта
Оценка социальной эффективности
Оценка технической эффективности
Оценка экономической эффективности
Заключение
Список использованных источников
бесплатен;
постоянно совершенствуется;
работает на UNIX и Windows платформах;
допускает работу с большинством существующих СУБД;
имеет широкий набор функций (более 3 тыс.);
допускает объектно-ориентированное программирование;
способен использовать протоколы HTTP, FTP, WАР, SNMP, NNTP, РОРЗ, net sockets и другие;
позволяет выполнять все операции, что и перечисленные его конкуренты, и даже работать с файлами графики. Можно также запускать РНР-скрипты как интерпретируемые файлы и компилировать исполняемые приложения (в том числе с поддержкой графического интерфейса GTK).
Если вы обнаружите, что РНР не способен на что-то (или работает не так, как вам хотелось бы), никто не будет препятствовать вам вносить в исходный код РНР (написанный на С) желаемые изменения. РНР является программным продуктом с открытым исходным кодом, и внесение в него улучшений и дополнений путем создания собственных модулей расширения всегда приветствуется [1].
При этом РНР распространяется свободно: его последнюю версию можно загрузить с сайта www.php.net. Модули РНР поставляются в комплекте с сервером Apache, в комплектах систем Linux.
Среди рассмотренных технологий условиям и требованиям проекта в наибольшей степени удовлетворяет именно язык программирования PHP. Он достаточно прост для изучения, многофункционален, и, что немаловажно, распространяется бесплатно. Поэтому именно на его базе и будет строиться наш проект.
Согласно требованиям заказчика клиент должен иметь доступ к базе данных содержащей объявления о купле-продаже квартир, а также мог осуществлять поиск по основным параметрам. Для реализации такого сервиса необходимо организовать базу данных с клиент-серверным принципом работы. Существует множество средств организации таких БД (Oracle, Adabas D, Sybase, FilePro, mSQL, Velocis, MySQL, Informix, Solid, dBase, ODBC, UNIX dbm, PostgreSQL).
Поскольку PHP поддерживает работу со многими СУБД, возникает резонный вопрос: какую из них выбрать? На этот счет однозначного решения не существует, так как все определяется сутью стоящей перед нами задачи и имеющимися программными средствами. Если в вашем распоряжении есть Sybase, очевидно, не имеет смысла тратить деньги на приобретение Oracle и наоборот. Также стоит учитывать масштабы задачи: в простых случаях вряд ли стоит устанавливать очень мощную и, следовательно, требовательную к аппаратным ресурсам компьютера СУБД [8].
Для решения задач небольшой и средней степени сложности специалисты советуют использовать MySQL (www.mysql.org) и PostgreSQL (www.postgresql.org). Последняя представляет собой свободно распространяемое программное обеспечение, а лицензия на MySQL понадобится только в том случае, если требуется использовать ее в коммерческих целях. Таким образом, с финансовой точки зрения такой выбор вполне оправдан. Теперь обратимся к некоторым техническим характеристикам предлагаемых СУБД.
MySQL представляет собой самую быструю СУБД среди программных продуктов среднего класса. Она позволяет работать с базами данных довольно больших размеров, однако обладает одним существенным недостатком – в MySQL не поддерживаются некоторые особенности стандартного SQL, в частности, вложенные подзапросы. Этот недостаток, конечно, неприятен, но при решении многих задач, связанных с Интернетом, он не оказывает существенного влияния на удобство программирования и с лихвой окупается высокой производительностью разработанного приложения. Кроме того, в MySQL есть полноценная поддержка кодировок KOI8R и CP1251, что немаловажно при разработке русскоязычных web-приложений.
СУБД PostgreSQL работает несколько медленнее, чем MySQL. При этом она целиком поддерживает спецификацию стандартного SQL и является действительно свободно распространяемым программным продуктом. Таким образом, если вам действительно необходима поддержка всех возможностей языка SQL, а степень сложности решаемой задачи не очень велика, то стоит обратить свое внимание на СУБД PostgreSQL [14].
Задачи большей сложности, связанные с обработкой значительных массивов информации и разграничением прав доступа, следует решать с помощью коммерческих СУБД, таких как Oracle или Sybase. В данном случае давать какие-то общие рекомендации сложно, поскольку в больших проектах выбор СУБД должен производиться с учетом особенностей конкретного проекта. Кроме того, во многих случаях желательно использовать программное обеспечение, уже имеющееся в распоряжении компании.
Остальные СУБД в большинстве своем представляют собой коммерческие продукты, предназначенные для работы с большими многопользовательскими (до нескольких сотен тысяч пользователей) базами данных. Они достаточно сложны и весьма дороги, поэтому нет особой необходимости в их рассмотрении. Таким образом, остановим свой выбор на двух схожих по своим возможностям и характеристикам СУБД: MySQL и PostgreSQL. Окончательный же выбор будет сделан несколько позже.
Был проведен анализ предприятия, его структуры и бизнес-процессов, целью которого было определить задачи и основные характеристики проекта.
В виду того, что на предприятии отсутствует единая автоматизированная информационная система, а также в силу относительной независимости агентства можно сделать вывод, что создаваемый проект будет самостоятельным элементом, и к нему не будут предъявляться требования по соответствию каким-либо внутренним стандартам.
В общем можно сказать, что Интернет-представительство в рассматриваемой предметной области должно решать задачи информирования и привлечения клиентов, а также предоставления «площадки» для размещения объявлений. Решение более сложных задач (удаленное оформление документов, финансовые операции и т.д.), хотя и является возможным технически, но на данном этапе развития Интернет в России (и отношения к нему большей части населения) ещё не является эффективным с экономической точки зрения.
Что касается конкретного проекта, то это должен быть динамический web-сайт, поскольку потребуется отображение информации в зависимости от запроса пользователя. Также потребуется организация БД, причем на сервере, для обеспечения доступа к ней свободного доступа и выполнения запросов пользователя.
Были рассмотрены наиболее популярные технологии и средства создания динамических сайтов и серверных баз данных, проанализированы их преимущества и недостатки, выделены сильные и слабые стороны.
Среди них оптимальной по своим возможностям, сложности освоения, распространенности и цене является технология PHP программирования. Еще один ее плюс – поддержка большого количества СУБД, из которых две являются наиболее предпочтительными для создаваемого проекта: MySQL и PostgreSQL.
Исходя из особенностей области применения, а в частности: отсутствия единой АИС на предприятии, а также отсутствия типовых решений в предметной области, было решено использовать каноническую технологию проектирования.
Для предварительного описания работ, их взаимосвязей и порядка выполнения необходимо построить формализованную модель технологии проектирования. В наибольшей степени этой задаче соответствует аппарат технологических сетей проектирования [3].
ТСП этапов разработки проекта в общем виде представлена в приложении Г, рассмотрим ее компоненты более детально.
Установка необходимого ПО – подготовительный этап. К программному обеспечению здесь относятся конкретные прикладные программы, при помощи которых будет происходить разработка проекта (виртуальный сервер, HTML редактор и др.).
Создание и начальное наполнение БД включает: инициацию базы данных, создание структуры таблиц, наполнение их постоянными либо тестовыми данными.
Создание динамического сайта – наиболее трудоемкий этап, сюда включаются: создание эскизного проекта, компоновка страниц, их информационное наполнение, подключение и описание алгоритмов работы с БД, тестирование и демонстрация промежуточных итогов заказчику.
Выгрузка сайта в Интернет подразумевает поиск и заключение договора с провайдером, размещение сайта на удаленном сервере и проверку его работы в реальных условиях.
Мероприятия по продвижению проводятся с целью привлечения пользователей и популяризации ресурса. По их окончании проект можно считать законченным и передавать в пользование заказчику.
Для создания и тестирования интерактивного web-сайта с поддержкой базы данных, а также его отладки и первоначального информационного наполнения необходим виртуальный сервер – оболочка, позволяющая эмулировать отправку запроса и его обработку сервером на отдельном ПК.
Для создания виртуального сервера был выбран пакет Denver Server 2 в базовой версии 2006 года. Данный пакет распространяется бесплатно, он достаточно функционален и при этом прост в установке и эксплуатации.
Состав базового комплекта:
1. Apache: выполняемые файлы, дистрибутивные и адаптированные конфигурационные файлы.
2. PHP: выполняемые файлы, модуль для web-сервера Apache, дистрибутивный и адаптированный конфигурационный файл, библиотека GD - пока без поддержки формата GIF.
3. MySQL: выполняемые файлы, файлы сообщений об ошибках на русском и английском языках, база данных MySQL.
4. Панель управления базой данных MySQL – phpMyAdmin 2.6.1, а также скрипт, упрощающий добавление нового пользователя MySQL.
5. Perl: выполняемые файлы, модули отсутствуют.
6. Отладочная "заглушка" для sendmail (/usr/sbin/sendmail), не отправляющая письма, а записывающая их в директорию /tmp/!sendmail.
7. Система автоматического поиска виртуальных хостов и обновления системного файла hosts, а также конфигурации Apache. Благодаря ей добавление нового виртуального хоста (или домена третьего уровня) заключается в простом создании подкаталога в каталоге /home виртуального сервера (по аналогии с уже существующими хостами) и перезапуске комплекса. Все изменения вносятся в конфигурационные и системные файлы автоматически, но можно управлять этим процессом при помощи механизма шаблонов хостов.
Выбор PHP как технологии программирования был обоснован в первой главе, но что касалось СУБД, мы столкнулись с паритетом двух из них. Однако, поскольку выбранный пакет виртуального сервера уже имеет встроенную поддержку MySQL, не имеет смысла искать, подключать и настраивать поддержку PostgreSQL.
Кроме непосредственно технологий необходимо уделить внимание средствам разработки. HTML и PHP код можно, в принципе, набрать в любом текстовом редакторе, но для удобства стоит использовать специализированные средства разработки. Я выбрал пакет Macromedia Dreamweaver восьмой версии. Это одно из популярнейших средств разработки web-страниц в мире. Относительная простота, широкая функциональность и высокая эргономика делают использование этого пакета удобным как для новичка так и для продвинутого разработчика.
Для создания сложных рисунков и графических объектов был выбран пакет Adobe Photoshop CS2, позволяющий не только создавать графику необходимой сложности, но и сохранять ее с необходимым соотношением качество/размер. Можно выделить целый список преимуществ данного пакета, но его выбор был обусловлен главным образом тем, что он мне хорош знаком.
Теперь, окончательно определившись с технологиями и средствами программирования, приступим непосредственно к разработке проекта. Начать было решено с создания базы данных, поскольку это одна из ключевых составляющих сайта, и она во многом будет влиять на его структуру.
В первом разделе были определены требования заказчика к проекту, в том числе те характеристики квартир, которые должны отображаться в базе данных. На основе этих требований была составлена реляционная модель создаваемой базы данных (Рисунок 2.1).
База данных создается при помощи панели управления базой данных PhpMyAdmin 2.6.1. Она запускается через любой браузер при включенном Apache-сервере набором в адресной строке команды «localhost» и выбором пункта «Проверка MySQL и phpMyAdmin» в появившемся списке.
Рисунок 2.1 – Реляционная модель проектируемой базы данных
В первую очередь задается название базы данных, в нашем случае «Amira». Действия с базой данных (создание таблиц, добавление записей и т.д.) в используемой СУБД MySQL реализованы в виде SQL запросов [13].
Теперь начинаем создавать таблицы. На первом этапе вводится имя таблицы и число полей. На втором этапе определяются характеристики полей. Рассмотрим основные из них.
Поле – название, для правильности обработки должно из символов латинского алфавита и/или цифр, а также некоторых специальных символов, использование пробелов нежелательно.
Тип – определяет тип данных, их почти два десятка, перечислять все нет смысла. Наиболее используемые – числовой, текстовый, дата, символьный, а также формат, позволяющий выбирать один из нескольких, задаваемых при создании таблицы, вариантов значений поля (тип “Enum”).
Информация о работе Разработка Интернет-представительства для задач риэлтерской деятельности