Программирование в интернете. Данный проект должен удовлетворять следующим требованиям
Скачать 1.28 Mb.
|
ВЕДЕНИЕ В настоящее время существует большое количество сайтов о компьютерных играх. Эти сайты предоставляют разнообразную информацию и разных видах компьютерных играх и новинок этой области. Важно всегда держать своих пользователей в курсе событий, всегда быстро и удобно предложить им новую продукцию. Многие из таких сайтов работают по уже отлаженной схеме. Для начала идет процесс регистрации нового пользователя, с заполнением нужных полей. Затем проверяются необходимые поля. Если пользователь зарегистрирован в базе данных, то он может добавлять свои изображения, новости, оставлять сообщения на форуме и общаться с другими пользователями по средствам личных сообщений. Данный проект должен удовлетворять следующим требованиям: удобство и простота интерфейса пользователя. Интерфейс должен быть интуитивно понятен и рассчитан на пользователей, обладающих минимальными навыками работы на персональном компьютере; достаточная информация обо всех объектах. Информация не должна быть избыточной, но и не должны быть минимальной; многофункциональность. Для решения поставленных задач были применены следующие основные методы исследования: теоретические (исследование предметной области), эмпирические (анализ качества разработанного комплекса, методы построения дизайна сайта, выбор средств разработки). Цель работы: Разработать сайт о компьютерных играх. Он должен предоставлять возможность регистрации, просмотра новостей сайта, статей и пользователей, возможность добавления новой информации и комментариев. Для достижения поставленной цели были сформулированы и решены следующие задачи: исследовать предметную область; собрать необходимую входную и выходную информацию; разработать базу данных для хранения информации; разработать PHP-программы для работы с базой данных; произвести тестирование отладку программного продукта; В проекте реализованы следующие функции: добавление нового пользователя (регистрация); добавление пользователей в базу данных; извлечение пользователей из базы данных; редактирование и удаление пользователей и статей; удобный графический интерфейс. Объектом исследования является сайт о компьютерных играх. Предметом исследования является разработка сайта «Компьютерные игры». Структура и объем работы: Работа состоит из введения, 4 разделов, заключения, списка использованной литературы и приложения. Пояснительная записка изложена на 53 страницах печатного текста, содержит 6 рисунков. Список использованной литературы включает 12 наименований. Приложения представлены на 26 странице. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ1.1. Предметная областьРазработанный сайт представляет собой систему ведения информации о имеющихся продуктах, а так же пользователей этого интернет магазина. Он позволяет клиенту просматривать информацию о играх и других пользователей, а также добавлять новые, редактировать и удалять статьи, если данный пользователь добавлял информацию. Вся введенная пользователями информация хранится в базе данных. При разработке проекта для обеспечения его максимальной эффективности очень важно учитывать все особенности информационной среды, в которой будет происходить эксплуатация. Информационная среда сайта представлена пользователями. Отсюда следует, что пользователи имеют ограниченные права на сайте, т.е. не зарегистрированные пользователи не могут добавлять новые статьи, а так же информацию о себе. Для реализации потребуется выделить следующие сущности, и их атрибуты: Пользователь. Это необходимо, для того чтобы пользователь прошел авторизацию. Если пользователь является новичком, то ему необходимо зарегистрироваться. Выделим атрибуты данной сущности: фамилия; имя; отчество; никнейм возраст; пол; e-mail; пароль. Статьи. В данном разделе находиться список продуктов, которые имеются в базе. Выделим атрибуты данной сущности: наименование; содержание; дата статьи; фирма разработчик; дополнительная информация. Пользователи. В данном разделе находиться список пользователей, которые имеются в базе. Выделим атрибуты данной сущности: фамилия; имя; отчество; никнейм возраст; контактная информация; дополнительная информация. Добавлять новые статьи, а также осуществлять заказ могут только зарегистрированные пользователи, а редактировать и удалять существующие могут только те пользователи, которые их добавили. 1.2. Основные возможности и требования к сайтуМожно выделить следующие функциональные возможности: удобство и простота интерфейса пользователя. Интерфейс должен быть интуитивно понятен и рассчитан на пользователей, обладающих минимальными знаниями работы в Интернет. удобная навигация по сайту. Возможность перехода с любой страницы на любую другую. регистрация пользователей. Должна быть реализована возможность регистрации любого посетителя данного сайта. Должна предоставляться возможность только зарегистрированным пользователям добавлять разнообразные данные на сайт. Предоставление возможности редактирования и удаления данных, только пользователям, которые их добавили. небольшой объем страниц, для возможности быстрой загрузки на небольших скоростях. При данном наборе функций и задач сайт будет наиболее близко приближен к поставленным целям. Выводы: В данном разделе проведен анализ предметной области. Рассмотрена структура данных для создания сайта. Выделены обязательные атрибуты всех сущностей. Выделены основные функциональные возможности и требования к сайту 2. ПРОЕКТИРОВАНИЕ2.1. Разработка моделейДля разработки web-сайта будет применена модель динамической генерации страниц на основе базы данных. В данной модели доступ к БД осуществляется специальной PHP-программой, запускаемой WWW-сервером в ответ на запрос WWW - клиента. Эта программа, обрабатывая запрос, просматривает содержимое БД и создает выходной HTML-документ, возвращаемый клиенту (рис.2.1.). Это решение эффективно для больших баз данных со сложной структурой и при необходимости поддержки операций поиска. Показаниями также являются частое обновление/добавление информации. Также существует возможность работы, с базой данных используя Web-интерфейс. Физическая модель программы DFD (Контекстная диаграмма). Диаграмма потоков данных описывает модель обмена информации между пользователем и БД (рис. 2.2). ДиаграммаUSECASE отражает работу, разрабатываемого приложения (рис.2.3.). ER-диаграмма – диаграмма «сущность связь» (рис.2.4.) Сайт представляет собой совокупность страниц. Имеется файл, определяющий характеристики сайта, таблицы стилей CSS - style.css, который определяет цвет фона, а также размеры и цвета шрифтов и присутствует на всех страницах сайта. Главная страница.Главная страница (П.2) предоставляет пользователю различного рода информацию. С этой страницы пользователь может перейти на страницы просмотра информации, а так же добавить свою информацию. Пользователь может перейти на страницу просмотра зарегистрированных пользователей, оставить о себе информацию. При переходе на каждую страницу выводится соответствующая теме информация. Каталог статей.Страница «Каталог статей» предназначена для вывода списка имеющихся в базе статей. Данную страницу могут просматривать любые пользователи. Для получения более подробной информации о выбранном продукте необходимо перейти по ссылке, нажав на наименование выбранной должности. Чтобы перейти на страницу редактирования и удаления продукта пользователю необходимо ввести логин и пароль, далее нужно выбрать статью, которую пользователь с данным логином добавлял и перейти на неё, перейти на неё и нажать на ссылку «Редактирование». После чего откроется форма редактирования, в которой можно изменить введенную ранее информацию, для сохранения информации имеется кнопка «Исправить», при нажатии на которую проверяется правильность заполнения необходимых полей и заносятся исправления в базу. Пользователи.Страница «Пользователи» предназначена для вывода списка имеющихся в базе пользователей. Данную страницу могут просматривать любые пользователи сайта. Для получения более подробной информации о заинтересовавшем человеке необходимо перейти по ссылке, нажав на выбранного пользователя. Если пользователь, переходящий по ссылке добавлял о себе информацию ранее, откроется страница с возможностью редактирования и удаления, в противном случае у пользователя такой возможности нет. Чтобы перейти на страницу редактирования и удаления пользователю необходимо ввести логин и пароль и нажать кнопку «Войти», далее нужно выбрать информацию, которую пользователь с данным логином добавлял, перейти на неё и нажать на ссылку «Редактирование». После чего откроется форма редактирования, в которой можно изменить введенную ранее информацию, для сохранения информации имеется кнопка «Исправить», при нажатии на которую проверяется правильность заполнения необходимых полей и заносятся исправления в базу. Система состоит из различных страниц, которые просматривает пользователь. Все страницы содержат общий заголовок и основную – рабочую часть. Вывод: Проанализирована предметная область, в ходе которой были разработаны модели страниц. Рис. 2.1. Модель Р ис. 2.2. DFDдиаграмма Пользователь Рис.2.3. USECASE-диаграмма. Рис.2.4.ER-диаграмма. 2.2 Описание алгоритмовРассмотрим основные алгоритмы работы сайта: Регистрация: Для того чтобы пользователь получил возможность добавления новой статьи и информации о себе, он должен пройти процесс регистрации. После заполнения полей, производится просмотр базы на наличие аналогичной записи (сравнение идет по полю Login), если подобная запись не обнаружена, процесс регистрации продолжается, иначе пользователю выдается соответствующее сообщение. Авторизация: Для получения доступа к добавлению продукта и информации о себе, пользователь должен ввести свой логин и пароль, указанные им при регистрации. После чего введенные данные проверяются, и если пользователь ввел верные имя и пароль то его логин сохраняется в PHP-сессии. Продукты: При просмотре продуктов на странице отображаются продукты и ссылка для просмотра полной информации о них. При переходе по ссылке посетитель увидит всю имеющуюся информацию о выбранном продукте области компьютерных игр, если данный пользователь добавлял информацию об этом продукте, появится возможность её редактирования и удаления. Пользователи: При просмотре личной информации на странице отображается личная информация пользователей и ссылка для просмотра полной информации о них. При переходе по ссылке посетитель увидит всю имеющуюся информацию о выбранном пользователе, если же данный пользователь добавлял о себе информацию, появится возможность его редактирования и удаления. Выводы: В данном разделе были рассмотрены модели и диаграммы функционирования сайта. Рассмотрены алгоритмы необходимые для создания сайта. 3. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ3.1. Выбор языка программирования Приступая к созданию сайта, можно использовать множество различных продуктов. Потребуется выбрать аппаратное обеспечение для Web-сервера, операционную систему, программное обеспечение Web-сервера, систему управления базами данных и язык программирования или создания сценариев. Выбор некоторых из этих компонентов будет зависеть от уже произведенных выборов. Например, не все операционные системы могут работать на любом оборудовании, не все языки создания сценариев могут обеспечить подключение ко всем базам данных и т.д. При выборе программного средства для реализации проекта необходимо учитывать, что каждый язык программирования имеет свои положительные и отрицательные стороны и может быть использован эффективно только для реализации проектов определенного вида. Учитывая то, что основное требование для системы Интернет-голосования – работа в среде web, будем проводить обзор только тех средств, основным назначением которых является разработка web-приложений. CGI является наиболее часто используемой сетевой технологией, используемой на стороне сервера. CGI-программа может быть написана почти на любом языке, хотя чаще всего для программирования CGI используется Perl. Веб-серверы, реализующие CGI, действуют как шлюз между запросом пользователя и требуемыми данными. Для этого сначала создается новый процесс, в котором будет выполнятся программа. Потом передается объект, представляющий запрос, и вызывается программа. По окончании работы программы веб-сервер считывает данные, которые она возвратила. Наиболее крупным недостатком CGI-программирования является то, что оно плохо масштабируется. При каждом получении веб-сервером запроса создается совершенно новый процесс. Каждый процесс состоит из собственного набора переменных окружения, отдельного экземпляра необходимой среды этапа исполнения, экземпляра программы и памяти, выделенной для использования программой. Нетрудно представить себе, что может произойти с сервером, когда одновременно приходит большое количество запросов. Ресурсы сервера подвергаются большому испытанию, что может вызвать его отказ. ASP (Active Server Pages) – популярная технология Microsoft, предназначенная для разработки эффективных Интернет-приложений и оживления Web-страниц различными динамическими данными, получаемых из самых разнообразных источников. ASP – это все те же VBScript-коды, только они не загружаются в браузер и не интерпретируются им, а выполняются непосредственно на сервере в контексте MS IIS (Microsoft Web Internet Information Server). Раньше необходимо было провести дополнительную инсталляцию специального 10-мегабайтного файла, чтобы модифицировать существующий IIS, входящий в состав операционной системы Windows NT 4.0, но, начиная с Win 2k, поддержка ASP в IIS стала стандартной. Текстовые файлы с расширением .asp – это обычные HTML-файлы с вставленными в них кодами на VBScript. В отличие от обычных кодов в них можно применять многочисленные встроенные методы, которые резко облегчают процесс программирования и используют объектную модель и объектно-ориентированные методы. ASP-поддержка в IIS выстроена в точном соответствии с 3-уровневой моделью клиент-серверных технологий. JSP (Java Server Pages) – мощное средство для придания Web-страницам гибкого, динамически обновляемого содержания – очень нужный инструмент для разработки систем электронной коммерции. JSP-функции в современном сервере приложений – это повторно используемый код, основанный на последней по времени появления спецификации JSP Sun Microsystems. Одна из главных особенностей JSP – это разделение бизнес-логики и представления данных на Web-страницах. JSP как раз помогает реализовать некоторые алгоритмы, связанные с данными, представляемыми клиентам, поскольку они помогают осуществить доступ к повторно используемым компонентам, таким как сервлеты, JavaBeans и написанные на Java Web-приложения. JSP так же поддерживает встроенный Java-код внутри Web-страниц. Perl - интерпретируемый язык, приспособленный для обработки произвольных текстовых файлов, извлечения из них необходимой информации и выдачи сообщений. Perl также удобен для написания различных системных программ. Этот язык прост в использовании, эффективен, но про него трудно сказать, что он элегантен и компактен. Perl сочетает в себе лучшие черты C, shell, sed и awk, поэтому для тех, кто знаком с ними, изучение Perl-а не представляет особого труда. Синтаксис выражений Perl-а близок к синтаксису C. В отличие от большинства утилит ОС UNIX Perl не ставит ограничений на объем обрабатываемых данных и если хватает ресурсов, то весь файл обрабатывается как одна строка. Рекурсия может быть произвольной глубины. Хотя Perl приспособлен для сканирования текстовых файлов, он может обрабатывать так же двоичные данные и создавать .dbm файлы, подобные ассоциативным массивам. Perl позволяет использовать регулярные выражения, создавать объекты, вставлять в программу на С или C++ куски кода на Perl-е, а также позволяет осуществлять доступ к базам данных, в том числе Oracle.РНР РНР (Personal Home Page Tools - средства для персональной домашней страницы) - это мощный кроссплатформенный набор средств, который располагается на сервере и предназначен для обработки специального кода, встраиваемого в HTML-страницу. Благодаря этому, появляется возможность легко создавать динамические сайты. Файлы, созданные таким образом, хранятся и обрабатываются на сервере, и когда посетитель запрашивает документ с РНР, скрипт обрабатывается не браузером посетителя, как например Java Script, а сервером, и посетителю передаются уже только результаты работы. Точно также работает CGI-программа, написанная на С или Perl. Но в отличии от CGI, код РНР можно встраивать в любое место HTML-странички, что является основным преимуществом по отношению к CGI. А кроме того, сам язык РНР очень прост для изучения, и не требует каких-либо специфических знаний. РНР был создан для работы в сети и превосходен для использования в этой области, однако он не приспособлен для создания больших и сложных проектов. Процессор сценариев РНР хорошо оптимизирован для времени оклика, необходимого Web-приложениям; он может быть включен в состав самого сервера, в результате чего возрастет производительность. Еще одно достоинство РНР – это, что он является «open source». Учитывая специфику выбранной темы курсовой работы – форум, оптимальным языком программирования для решения этой задачи был выбран РНР, так как он обладает всеми необходимыми качествами для создания подобных приложений и достаточно простой для перехода с других языков программирования. Выбор системы управления базами данных. Были рассмотрены следующие СУБД, реализующие реляционную модель базы данных: mSQL; MySQL; Microsoft SQL Server 2000; Oracle. Microsoft SQL Server 2000 - Функциональная, гибкая в настройке, масштабируемая реляционная СУБД, разработанная фирмой Microsoft. В основном, эта СУБД ориентирована на корпоративный сектор, как и большинство продуктов Microsoft. Oracle - СУБД, изначально ориентирована на обработку очень больших объемов данных и большую нагрузку на сервер. В подавляющем большинстве случаев используется только на крупных предприятиях в крупномасштабных проектах автоматизации. Учитывая особенности этой СУБД, далее ее не рассматриваем. MySQL – это еще одна реализация реляционной СУБД. Основными целями, преследуемыми при разработке которой, выступали скорость и стабильность, что и является основными достоинствами этой СУБД. К достоинствам MySQL можно отнести еще и то, что версия для UNIX распространяется бесплатно, что также немаловажно для российских условий. Кроме того, на сегодняшний день использование СУБД MySQL является стандартом де-факто при разработке Веб-приложений. К недостаткам MySQL можно отнести отсутствие поддержки механизма транзакций и хранимых процедур. Однако, несмотря на это, учитывая специфику разрабатываемого проекта, СУБД MySQL является оптимальным выбором. mSQL, наверняка, хорош для обучения в области проектирования приложений на основе СУБД. Но применить на деле практически нельзя. Много недостатков и нехватка документации делают данную СУБД непригодной для многих задач. В результате был выбран продукт MySQL 4.0.15 на платформе Windows 2000 Server. Выбор web-сервера. Для реализации проекта был выбран Apache, так как имеет следующие неоспоримые преимущества: открытость (исходный код поставляется вместе с инсталляционным пакетом); многообразие — существуют версии сервера почти для всех известных операционных систем и платформ; простота в конфигурировании (почти все параметры работы сервера задают, изменяя тексты лишь двух файлов); высокая скорость обработки запросов; легкость конфигурирования и стабильная работа дополнительных модулей (PHP, Perl); удобство администрирования; безопасность (найденные по всему миру уязвимости тут же закрываться выпущенными патчами (patch)). Кроме всего выше перечисленного веб сервер Apache признан многими компаниями использующими его как наибольшее надежный и отказоустойчивый веб сервер. MySQL является самой распространенной СУБД для веб приложений и в большинстве случаев используется именно в связке с веб сервером Apache. Для разработки Web-сайта будет использоваться сервер баз данных MySQL, и язык сценариев PHP. 3.2 Разработка интерфейсаРазработанный сайт состоит из множества страниц, которые может просматривать пользователь, а именно: главная; информация о сайте; каталог файлов; регистрация; каталог статей; блог; форум; фотоальбомы; гостевая книга; редактирование статей. Связь между модулями осуществляется посредством гиперссылок и переменных. Использование каскадных таблиц стилей CSS (файл style.css) позволяет использовать один дизайн для всех web-страницсайта. На главной странице представлена следующая информация: Навигационное меню Форма авторизации Список последних статей Главная страница представлена на рисунке 1.1. Все остальные страницы представлены в Приложении 1.
Рис.3.1. Структура страниц Рис.3.2. Страница «Главная» 3.3 Программная реализация алгоритмов Любая страница, запрашиваемая пользователем, выводится как часть страницы Index.php. session_start(); include("config.php"); ?> include("top.php");?>
include("niz.php");?> Рассмотрим реализацию некоторых алгоритмов сайта: Авторизация: session_start(); include ("db_connect.php"); if (isset($_GET['go'])) { $login=$_GET['login']; $pass=$_GET['Password']; if($login!='' AND $pass!='') { $q1 = "select * from user where Log like \"".$login."\"" ; $q2 = "select * from user where Password like \"".$pass."\""; $res1=mysql_query($q1); $res2=mysql_query($q2); $nr=mysql_num_rows($res1); $nr1=mysql_num_rows($res2); if($nr===1 and $nr1===1) { $r=mysql_fetch_array($res1); $_SESSION['user']=$r['Log']; $_SESSION['password']=$r['Password']; $_SESSION['SID'] = $r['id_user']; print "\n"; } else {echo 'неверый логин или пароль'; }}}?> Выводы: В данном разделе рассмотрены некоторые алгоритмы Web-сайта. Разработанный сайт магазин состоит из множества страниц, которые может просматривать пользователь. Рассмотрена структура базы данных – атрибуты и сущности. 4. ТЕСТИРОВАНИЕ И ОТЛАДКАВ ходе разработки сайта было проведено несколько изменений. Самым первым изменением стало проектирование страниц как модулей, таким образом, все запрашиваемые страницы выводятся как часть главной страницы Index.php, в которой производится вывод верхней часть с навигационным меню, основной части и нижней части страницы. В ходе разработки сайта было проведено несколько изменений. Одним из них было изменение в форме регистрации. Были исправлены некоторые недочеты по интерфейсу сайта. В процессе тестирования рабочей версии проекта были найдены некоторые недоработки и недостатки. При разработке была забыта возможность перехода на страницы редактирования только тех пользователей, который изначально добавляли информацию. Были приняты меры по устранению недостатков. Выводы: В данном разделе были рассмотрены некоторые недостатки и недоработкиWeb-сайта, которые впоследствии были исправлены. ЗАКЛЮЧЕНИЕПри создании сайта была применена древовидная структура, т.е. с главной страницы можно перейти по ссылкам на другие страницы. Сайт разработан на языке программирования - PHP, с помощью среды разработки - Macromedia Dreamweaver. Разработана структура сайта и структура, используемой базы данный. Рассмотрены основные сущности и их атрибуты. Разработан сайт, который предоставляет возможность регистрации, просмотра списка статей, форумов и пользователей. Также предоставляется возможность добавлять, редактировать и удалять статьи и прочие данные, а также личную информацию, которые ранее были добавлены данным пользователем. Зарегистрированные пользователи могут добавлять статьи и личную информацию о себе. Произведено тестирование, в результате которого были найдены некоторые не существенные неполадки и приняты все меры по их устранению. При выполнении данной курсовой работы были изучены: язык сценариев PHP; СУБД MySQL; СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫТомсон Лаура. Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон, Люк Веллинг. — 2-е изд., испр. — СПб: ООО «ДиаСофтЮП», 2003. — 672 с. Химоменко А.Н., Цыганков В.М., Мальцев М.Г. Базы данных: Учебник для высших учебных заведений / Под ред. проф. А.Д. Хомоненко. - СПб.: Корона принт. 2000. - 416 с. Мамаев Е.В. Microsoft® SQL Server 2000.-СПб.: БХВ-Петербург,2001.-1280 с.: ил. Котеров Д. В. Самоучитель PHP 4. — СПб.: БХВ-Петербург, 2001. — 576 с.: ил. Шкарина Л.Н. Методические рекомендации по выполнению научно-исследовательских работ для студентов информационных специальностей университета / Вестник Хакасского гос. ун-та им. Н.Ф. Катанова. Выпуск 4. Серия 1: Информатика. - Абакан: Изд-во ХГУ им. Н.Ф. Катанова. 2001.- 251 с. Модульное программирование на PHP или как написать маленький портал. - www.webscript.ru Сессии в PHP. Алексей Куликов. - www.webscript.ru Технологии разработки программного обеспечения: Учебник для вузов. 3-е изд./С.А. Орлов. – Спб.: Питер, 2004. – 527 с.: ил. http://dreamweaver3.narod.ru/ http://dmsdesign.ru/html-edit1.html http://www.metodlab.ru/technology/perl.shtml http://www.domovoy.org/states.php?view=php&name=Php&full=10 ПРИЛОЖЕНИЕ П.1. Внешний вид сайта Рис.1. Страница «Главная» Рис.2. Аутентификация Рис.3. Страница «Регистрация нового пользователя» Рис.4. Ошибка регистрации Рис.6. Страница «статьи» П.2 Листинги Index.php session_start(); include("config.php"); ?> include("top.php");?>
include("niz.php");?> Config.php $hostname=localhost; $hostuser=root; $dbname=Rabota; ?> Db_connect.php include('config.php'); $db=mysql_connect($hostname,$hostuser); if(!mysql_select_db($dbname,$db)) { echo "Ошибка не могу подключится к базе"; }?> top.php
|