Автор работы: Пользователь скрыл имя, 20 Октября 2014 в 11:51, дипломная работа
Цель работы – разработка системы управления и автоматизации электронной доски объявлений. В процессе работы был выполнен аналитический обзор средств размещения деловой информации в Интернете, программных средств их реализации.
В результате работы была создана программная среда, отвечающая всем требованиям современных технологий.
ОПРЕДЕЛЕНИЯ, ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ 4
Определения 4
Сокращения 4
ВВЕДЕНИЕ 5
1 КРАТКИЕ СВЕДЕНИЯ О ДОСКЕ ОБЪЯВЛЕНИЙ 6
2 ВЫБОР СРЕДСТВ РАЗРАБОТКИ 7
2.1 Язык HTML 7
2.2 Каскадные таблицы стилей 9
2.3 Язык JavaScript 11
2.4 Web-сервер Apache 11
2.5 Язык PHP 12
2.6 Система управления базами данных MySQL 16
3 СТРУКТУРА САЙТА 17
3.1 Категории и подкатегории 17
3.2 Страницы добавления 17
3.3 Модуль администрирования 17
4 ДИЗАЙН 17
4.1 Интерфейс 18
4.2 Графика 19
4.3 Браузерная совместимость 22
5 КОНСТРУКТОРСКИЙ РАЗДЕЛ 23
5.1 Шаблон сайта 23
5.2 Раздел «Добавить объявление» 24
5.3 Раздел отображаемый при выборе какой-либо категории 26
5.4 Раздел «Администрирование» 27
ЗАКЛЮЧЕНИЕ 32
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 33
2.5.1 PHP/FI
Истоки PHP лежат в старом продукте, имевшем название PHP/FI. Последний был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме. Этот набор скриптов был назван «Personal Homepages Tools» («Инструменты для персональных домашних страниц»). Очень скоро потребовалась большая функциональность, и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие Web-приложения. Расмус решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.
PHP/FI (Personal Home Page / Forms Interpreter – Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.
В 1997 выходит PHP/FI 2.0, вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50 000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.
Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.
2.5.2 PHP 3
PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета.
Одной из сильнейших сторон PHP 3.0 была возможность расширения ядра. В последствии интерфейс написания расширений привлек к PHP множество сторонних разработчиков, работающих над своими модулями, что дало PHP возможность работать с огромным количество баз данных, протоколов, поддерживать большое число API. Фактически, это и был главный ключ к успеху, но стоит добавить, что немаловажным шагом оказалась разработка нового, намного более мощного и полного синтаксиса с поддержкой ООП.
Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто «PHP» – аббревиатура, содержащая рекурсивный акроним: «PHP: Hypertext Preprocessor» (PHP: Препроцессор Гипертекста).
К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч Web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета.
PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.
2.5.3 PHP 4
К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.
Новый движок, названный «Zend Engine» (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.
Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более 20% доменов Интернета.
Группа разработчиков PHP состоит из множества людей, работающих над ядром, и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.
2.5.4 PHP 5
Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx, даже несмотря на то, что уже имеется dev-версия PHP 6.
2.5.5 PHP 6
Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра POSIX-регулярных выражений и «длинных» суперглобальных массивов, удаление директив safe_mode, PHP_magic_quotes и register_globals из конфигурационного файла PHP.ini. Также много внимания уделено поддержке Юникода.
MySQL – это система управления базами данных. База данных представляет собой структурированную совокупность данных. Эти данные могут быть любыми. Для записи, выборки и обработки данных, хранящихся в компьютерной базе данных, необходима система управления БД, каковой и является MySQL. Поскольку компьютеры замечательно справляются с обработкой больших объемов данных, управление базами данных играет центральную роль в вычислениях. Реализовано такое управление может быть по-разному – как в виде отдельных утилит, так и в виде кода, входящего в состав других приложений.
MySQL – это система управления реляционными базами данных. В реляционной базе данных данные хранятся в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.
Программное обеспечение (ПО) MySQL – это ПО с открытым кодом. ПО с открытым кодом означает, что применять и модифицировать его может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями.
MySQL является очень быстрым, надежным и легким в использовании. Если требуются именно эти качества, лучше работать с данным сервером. MySQL обладает также рядом удобных возможностей, разработанных в тесном контакте с пользователями.
MySQL является системой клиент-сервер, которая содержит многопоточный SQL-сервер, обеспечивающий поддержку различных вычислительных машин баз данных, а также несколько различных клиентских программ и библиотек, средства администрирования и широкий спектр программных интерфейсов (API).
Данный Web-сайт состоит из категорий и подкатегорий. Их глубина не ограниченна. Название категории соответствует ее фактическому применение. Например, категория «Автомобили» сугубо для размещения объявлений по теме покупка и продажа автомобилей.
Для размещения объявлений присутствуют ссылки на главной странице на форму добавления. В ней находятся все необходимые поля ввода для размещения объявления: Имя, адрес, E-mail, срок размещения, тема, текст объявления, контактные данные. После заполнения всех данных и подтверждения об отправке, объявление поступает модерацию.
Для управления информацией на сайте существует администраторский модуль, в котором присутствуют средства для редактирования всей структуры сайта. Просмотр, редакция, удаление, добавление объявлений и разделов.
Основное отличие данного Web-сайта от аналогов заключается в приятном дизайне и удобной структуре для добавления объявлений.
Дизайн играет немаловажную роль в оформлении данного сайта. Сайт оформлен в светлых тонах, с применением светло синего цвета для заголовков. Размер шрифтов подобран специально для быстрого восприятия главной информации на сайте.
Шаблон сайта (то есть часть, общая для всех страниц) содержит шапку с накнопками управления для добавления и поиска объявления. Основное же пространство занимает либо список категорий, либо список объявлений, либо само объявление. На рисунке 4.1. приведен вшенший вид главной страницы сайта, на основе которой соответственно построены и все остальные.
Рис. 4.1 Внешний вид доски объявлений
Как уже упоминалось выше, сайт сделан в светлых тонах, с применением светло синего цвета для заголовков.
Единственными яркими пятнами на страницах являются картинки, которые соответствуют категориям для более удобного обращения с доской объявлений. Это позволяет пользователю всецело сосредоточиться на информативной части сайта, а на картинки обращать внимание лишь в том случае, когда они действительно уместны. С этой же целью баннеры сделаны в приглушенных, неярких тонах. Основным средством для создания баннеров послужили редакторы растровой графики Adobe Photoshop CS2.
Цветовые особенности реализуются посредством применения CSS.
Файл images/style.css задает общие для всех страниц свойства, а именно: цвет фона и цвета ссылок (непосещенных, активных, посещенных).
BODY {margin:10; FONT-SIZE: 14px; COLOR: #444444; FONT-FAMILY: 'Courier New',Tahoma,Arial; BACKGROUND-COLOR: #ffffff} TD { FONT-SIZE: 14px; COLOR: #444444; FONT-FAMILY: 'Courier New',Tahoma,Arial}
.menu {color: #E33C00; text-decoration: none; }
A { COLOR: #0066CC; TEXT-DECORATION: none} A:hover { COLOR: #0066CC; TEXT-DECORATION: none} A:visited { COLOR: #0066CC}
.center_link{text-decoration:
.w99 { width: 316;}
.w50 { width: 40%;}
.progress{ width: 1px; height: 14px; color: #666666; font-size: 12px; overflow: hidden; background-color: #EBEBEB; padding-left: 5px; }
input, textarea, select { BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM: #969696 1px solid; BORDER-LEFT: #969696 1px solid; BORDER-RIGHT: #969696 1px solid; BORDER-TOP: #969696 1px solid; COLOR: #333333; FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial; }
.voit_radio { BACKGROUND-COLOR: #F4F4F4; BORDER: 0; }
.radio { BACKGROUND-COLOR: #FFFFFF; BORDER: 0; }
b {color:#666666; FONT-WEIGHT: bold}
b:hover {text-decoration:none;}
.off {FONT-SIZE: 8pt; color: #999999;}
.error { BORDER-BOTTOM: #E33C00 1px solid; BORDER-LEFT: #E33C00 1px solid; BORDER-RIGHT: #E33C00 1px solid; BORDER-TOP: #E33C00 1px solid; }
.nav{ text-decoration:none; font-weight: bold;}
.name {font-family:Georgia, "Times New Roman", Times, serif; font-size:22px; font-weight:bold; color:#FFFFFF}
.table_item { margin: 5; }
.table_top_orange { width: 100%; vertical-align: top; background: url(px1.gif); background-position: top; background-repeat: repeat-x; border-color: #FF9900; border: dashed #EEEEEE; }
.img_news { vertical-align: top; border-color: #EEEEEE; border: #EEEEEE; border: none; }
.table_top_red { width: 100%; vertical-align: top; background: url(px2.jpg); background-position: top; background-repeat: repeat-x; border-color: #FF0000; border: dotted #EEEEEE;}
.blue {color: #0066CC; text-decoration: none;} .menu_txt { color:#939393; text-decoration:none; font-family:tahoma; font-size:10px; text-transform:uppercase; font-weight:bold} .sm1 {font-size:11px} .u {text-decoration:underline} .blue_bold {color: #0066CC; text-decoration: none; font-weight:bold} .sm {font-size:10px} .sm_orange {color:#F7941D; text-decoration:none; font-size:11px; font-weight:bold} .copy {font-family:tahoma; font-size:10px; color:#9B9B9B; text-decoration:none} .price {color: red; font-size:16px; font-weight:bold} .date { color: #FFFFFF; text-decoration:none} a:date {text-decoration: none; color:#FFFFFF}
.white { FONT: Trebuchet,Tahoma; COLOR: #FFFFFF} .black { FONT: Trebuchet,Tahoma; COLOR: #000000} .gray { FONT: Trebuchet,Tahoma; COLOR: #999999} .dark_blue { FONT: Trebuchet,Tahoma; COLOR: #336699} .dark_green { FONT: Trebuchet,Tahoma; COLOR: #006633} .dark_orange{ FONT: Trebuchet,Tahoma; COLOR: #FF9900} .red { FONT: Trebuchet,Tahoma; COLOR: #FF0000} .dark_red { FONT: Trebuchet,Tahoma; COLOR: #B71E2D}
.bg_gray { background-color:# .bg_dark_red { background- .bg_dark_orange { background- .bg_dark_blue { background- .bg_dark_green { background-
.b { FONT-WEIGHT: bold} .cn { FONT: 22px 'Courier New'; FONT-WEIGHT: bold} .up { TEXT-TRANSFORM: uppercase} .nd { text-decoration:none} HR { COLOR: #E6E6E6; HEIGHT: 1px} .small { FONT-SIZE: 14px; COLOR: #888888} IMG { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px}
.16 {FONT-SIZE: 16} .14 {FONT-SIZE: 14} .12 {FONT-SIZE: 12}
H1 { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px} H1 A { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px} H1 A:visited { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px} H2 { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px} H2 A { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px} H2 A:visited { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px} H3 { MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px} H3 A { MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px} H3 A:visited { MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px}
.stat { DISPLAY: none}
|
На сегодняшний день наиболее распространенным браузером является Microsoft Internet Explorer (83%). Однако в последнее время всё большее распространение стали получать браузеры Opera и Mozilla Firefox. Эти браузеры также поддерживают выполнение Java-скриптов и каскадные таблицы стилей. Тестирование данного Web-сайта производилось во всех перечисленных браузерах, и во всех он работал без ошибоки и вид страниц не различался. Таким образом, для просмотра сайта можно использовать любой из них, по вкусу пользователя.
При создании данного Web-сайта, помимо языка разметки гипертекста HTML, использованы каскадные таблицы стилей, Web-сервер Apache, язык PHP и язык JavaScript.
Рассмотрим механизм функционирования Web-сайта более подробно.
Шаблон сайта состоит из двух файлов: itop.inc.php и foot.inc.php ,— а в центральную часть динамически подгружается информация из скриптов, в зависимости от того на какой странице пользователь.
В шаблоне сайта заключен код, предназначенный для подгрузки страниц с основным содержимым. Он относится к части таблицы, расположенной непосредственно под центральным баннером, так как туда и осуществляется подгрузка.
Подгрузка шаблонов выполняется в нужном файле(к примеру sboard.php) оператором «include», которому в качестве параметров передаются переменные имена файлов.
Картинки для категорий и подкатегорий хранятся в виде отдельных файлов в графическом формате.
Так же в сайте испоьлзовано динамическое изменение заголовка страницы, что бы поисковые системы могли лучше распознать, где какой раздел, и так же сайт имеет удобные для людей URL. Тоесть вместо http://board.ru/index.php?id=1 адрес будет такой http://board.ru/board/1
Это реализовано за счёт модуля, который подключается к Apache и называется mod_Rewrite.
Главная страница раздела «добавить объявление» динамически подгружается при щелчке на соответствующей кнопке.
Рис. 5.2.1 кнопка для добавления объявления
Рис. 5.2.2 пуская форма для добавления объявления
Рис. 5.2.3 заполненная форма для добавления объявления
Рис. 5.2.4 страница, отображённая после того как пользователь добавит объявление.
Структура таблицы «board», базы данных данного сайта, хранит в себе объявления и имеет следующую структуру:
id - уникальный номер объявления id_category - уникальный номер категории, берётся из таблицы board_cat autor - автор объявления title - заголовок email - email адрес посетителя, который оставил объявление address - адресс посетителя phone - телефон text - сообщение, указанное в объявлении hits - количество просмотров type - тип old_mess - поле, которое показывает устарело объявление или нет checkbox_top - поле, при определённом значении, которого, объявление будет в топе - выводится не смотря на дату добавления. time - дата добавления time_delete - дата удаления last_edit - дата последнего редактирования |
Информация о работе Разработка системы управления и автоматизации электронной доски объявлений