Общая характеристика и функциональное назначение проектируемого программного обеспечения, требования к нему. Разработка и описание интерфейса клиентской и серверной части. Описание алгоритма и программной реализации приложения. Схема базы данных.
При низкой оригинальности работы "Разработка приложений клиент-сервер для сетей TCP/IP с использованием CGI-интерфейса", Вы можете повысить уникальность этой работы до 80-100%
Компьютерные сети - это средство для удобного обмена информацией между пользователями, так же они реализуют обработку данных, которая распределена между двумя объектами: клиентом и сервером. Должна быть создана база данных, содержащая сведения о событиях, а точнее, время и дату, заголовок и описание события. Серверная часть представляет собой CGI-приложение, предназначенное для формирования клиентских HTML-страниц на основе информации из базы данных событий, и внесения изменений в базу данных, в соответствии с информацией, полученной от клиентской части. Соответствующие РНР-сценарии должны создавать необходимые таблицы, считывать необходимые данные из строк таблицы (которые соответствуют каким-либо событиям) в базе данных, а также удалять строки и редактировать соответственно. При правильном заполнении данных полей осуществляется переход на страницу, содержащую таблицу, состоящую из строк, каждая из которых соответствует какому-либо событию, и столбцов: с датой создания события, заголовком и описанием события.В ходе выполнения задания на курсовое проектирование было создано программное обеспечение на языке РНР, предназначенное для обслуживания базы данных событий, а именно разработано приложение клиент-сервер, предназначенное для обслуживания базы данных событий, соответствующее всем изложенным в задании требованиям.$query = «create table events (id int(11) not null auto_increment, datetime datetime not null default "0000-00-00 00:00:00", title varchar(255) not null, description varchar(255) not null, unique id (id))»; mysql_query($query); $query_indetif = «create table user (nickname varchar(10) not null, password varchar(10) not null, primary key (id))»; mysql_query ($query_ins); $dbh = mysql_connect ($db_srvname, $db_user, $db_password) or die ("Невозможно установить соеденение с базой данных.
Введение
Компьютерные сети - это средство для удобного обмена информацией между пользователями, так же они реализуют обработку данных, которая распределена между двумя объектами: клиентом и сервером. В связи с этим специалист в области компьютерных сетей обязан обладать знанием технологий клиент-сервер, обеспечивающих взаимодействие между пользователями сети, а также знанием языка гипертекстовой разметки документов, необходимого для создания собственных Web-страниц. Одним из наиболее мощных и популярных инструментов, позволяющих реализовать данную технологию, является CGI-интерфейс. CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web-сервер. Он обозначает набор соглашений, которые должны соблюдаться Web-серверами, при выполнении ими различных Web-приложений.
Поэтому цель данного курсового проекта разработка приложения архитектуры клиент-сервер, для сетей TCP/IP с использованием CGI-интерфейса, языка разметки гипертекстовых документов HTML и языка PHP.
В качестве языков программирования для реализации цели проекта выбраны языки HTML и PHP. Данный выбор обусловлен массовым применением языка HTML и CGI-интерфейса для создания веб-страниц в сети Internet и широким использованием языка сценариев общего назначения PHP с открытым исходным кодом.
PHP - это скрипт-язык (scripting language), встраиваемый в HTML, который интерпретируется и выполняется на сервере. В PHP включена поддержка многих баз данных. MYSQL - компактный многопоточный сервер баз данных. MYSQL характеризуется большой скоростью, устойчивостью и легкостью в использовании.
Актуальность данной темы обусловлена: - бурным развитием Internet-технологий и широким внедрением их в производство;
- широким распространением сетей на базе протоколов TCP/IP.
1. Постановка задачи
Целью проекта является разработка приложения клиент-сервер, предназначенного для обслуживания базы данных событий, представляющей собой ежедневник пользователя. Перед началом разработки приложения были определены основные требования, которым оно должно соответствовать.
Программа администрирования раздела событий должна состоять из двух частей: клиентской и серверной.
Должна быть создана база данных, содержащая сведения о событиях, а точнее, время и дату, заголовок и описание события.
Клиентская часть программы представляет собой набор интерфейсных HTML-страниц предназначенных для: - просмотра событий за заданный интервал времени;
- редактирования, удаления и добавления событий в базу данных;
- аутентификация пользователя ежедневника;
- изменение пароля пользователя ежедневника.
Серверная часть представляет собой CGI-приложение, предназначенное для формирования клиентских HTML-страниц на основе информации из базы данных событий, и внесения изменений в базу данных, в соответствии с информацией, полученной от клиентской части.
Запись в базе данных в обязательном порядке должна содержать следующие поля: - дата события;
- заголовок события;
- описание события.
Также была отмечена необходимость задания параметров соединения с базой данных и ее выбора для удобства установки приложения. Соответствующие РНР-сценарии должны создавать необходимые таблицы, считывать необходимые данные из строк таблицы (которые соответствуют каким-либо событиям) в базе данных, а также удалять строки и редактировать соответственно. Для чего должны быть реализованы функции создания, удаления, редактирования и считывания строк из базы данных, для создания, удаления, редактирования и просмотра соответствующих этим строкам событий.
2. Функциональное назначение разрабатываемого ПО
Разрабатываемое программное обеспечение предназначено для выполнения следующих функций: - просмотр ежедневника пользователя, содержащего сведения о событиях;
- его редактирование (добавление, изменение, удаление отдельных записей);
- администрирование базы данных.
Главным назначением разрабатываемого программного обеспечения является удобный способ ведения учета важных событий. Поэтому данное программное обеспечение должно быть удобным для пользователя в смысле наглядности, компактности, гибкости и скорости доступа к информации.
3. Разработка и описание интерфейса
3.1 Интерфейс клиентской части
Интерфейс пользователя является важной составляющей успешного проекта. Пользователь осуществляет управление работой приложения путем заполнения HTML-форм.
Главная страница, с которой пользователь начинает свою работу, содержит заголовок и два поля для ввода имени пользователя и пароля, а так же кнопку «Вход».
При правильном заполнении данных полей осуществляется переход на страницу, содержащую таблицу, состоящую из строк, каждая из которых соответствует какому-либо событию, и столбцов: с датой создания события, заголовком и описанием события. Непосредственно под таблицей список возможных действий, например, просмотр списка событий за день, за неделю, просмотр конкретного события или добавление записи. В форме любое событие, которое интересует пользователя, может быть выбрано путем установления галочки напротив него, затем также выбирается действие удаление по отношению к нему.
Напротив каждого события в поле «Удаления» существует возможность установить метку и при нажатии кнопки «Удалить» из таблицы будет удалена определенная запись.
Для редактирования какой-либо записи необходимо активизировать гиперссылку ее заголовка, в результате чего появится форма для изменения значений полей, эта же форма предназначена для создания новой записи в случае активизации гиперссылки «Добавить запись». Вид ее приведен на рисунке 3.
Для изменения существующего пароля необходимо щелкнуть гиперссылку «Сменить пароль», что повлечет за собой появления на экране формы, в которой предусмотрено поле для ввода нового пароля и кнопка «Сменить». После установления нового пароля осуществляется возврат на первую страничку регистрации.
Исходный код РНР главной страницы, формы для входа на сайт, формы для добавления записи, формы для изменения пароля в файлах «index.php», «login.php», «addrecord.php», «password.php» приведен в приложении А.
3.2 Интерфейс серверной части программный интерфейс алгоритм серверный
Приложение клиент - сервер работает по следующему принципу. Клиент формирует запросы серверу на использование его ресурсов (база данных). Сервер, определенный заранее, выполняет запросы, поступающие от клиентов. Результат выполнения запроса передается клиенту. Клиент обрабатывает полученные данные и представляет результаты обработки в виде, удобном для пользователя.
После выбора действия происходит передача параметров из клиентской в серверную часть посредствам гиперссылок. После чего серверная часть анализирует полученные параметры и выполняет необходимые операции. При активизации ссылки «Добавить запись» формируется страничка с формами подлежащая заполнению. Результат заполнения анализируется одним из файлов серверной части «addrecord.php». В зависимости от результата анализа осуществляется либо добавление записи в базу данных, либо выдача сообщения о некорректном заполнении форм. При активизации других ссылок обработка данных в серверной части производится другими файлами по аналогичному алгоритму.
4. Описание алгоритма и программной реализации приложения
Алгоритм работы приложения начинается с проверки соответствия пароля и имени пользователя. В случае нахождения такого соответствия производиться доступ пользователя к ежедневнику. То есть осуществляется поочередный вывод строк Ak таблицы, где k - это порядковый номер строки, содержащей сведения о событии A. Вывод осуществляется в цикле, для реализации которого был инициализирован счетчик переменной k, изначально обнуленной. В данном алгоритме i - общее количество записей в таблице.
Далее следует проверка наличия выбора какого-либо действия. В зависимости от этого выбора осуществляются процедуры следующих действий: - вывода события или списка событий за определенный интервал времени;
- удаления выбранного события или нескольких событий из базы данных;
- редактирования выбранного события;
- добавления события в базу данных.
Алгоритм работы приложения приведен в приложении А на рисунке А.1.
Каждая из процедур реализована в отдельных алгоритмах.
Вывод списка событий осуществляется в цикле, где проверяется условие того, входит ли дата события TAK в заданный интервал времени T. Если да, то выводится событие Ak и k увеличивается на единицу. Алгоритм процедуры просмотра информации из базы данных приведен в приложении А на рисунке А.2.
Алгоритм удаления событий осуществляется аналогично, разница состоит в том, что проверяется условие, выбрана ли в таблице запись Ak, и если оно верно, то эта запись подлежит удалению. Алгоритм процедуры удаления информации из базы данных приведен в приложении А на рисунке А.3.
Для алгоритма процедуры редактирования выбранного события, так же организован цикл проверки наличия выбранной записи, а затем действия ввода новых значений для полей Ak и их сохранение. Алгоритм процедуры удаления информации из базы данных приведен в приложении А на рисунке А.4.
Алгоритм добавления записи состоит из действий ввода значений полей новой записи и сохранения ее в базе данных. Он приведен в приложении А на рисунке А.5.
В соответствии с представленными алгоритмами была разработана их программная реализация на языках HTML и PHP. Текст программы приведен в приложении Б.
5. Описание схемы базы данных
Для работы приложения было создано две таблицы. Первая содержит строки, каждая из которых соответствует одному событию ежедневника. Для каждого события определены поля: порядковый номер, время и дата заголовок, описание. В таблице 1 приведено соответствие заголовков полей и содержащихся в этих полях данных.
Таблица 1 - Типы полей базы данных событий id datetime title description unique
Порядковый номер Дата и время записи события Заголовок события Описание события Метка
Вторая таблица содержит список пользователей, где для каждого из них существуют поля: порядковый номер, имя пользователя и пароль. В таблице 2 приведено соответствие заголовков полей базы данных пользователей и содержащихся в этих полях данных.
Таблица 2 - Типы полей базы данных пользователей nickname password id
Имя пользователя Пароль Порядковый номер
Создание таблиц программно реализовано в файле CREATEDB.php, листинг которого приведен в приложении Б.
Вывод
В ходе выполнения задания на курсовое проектирование было создано программное обеспечение на языке РНР, предназначенное для обслуживания базы данных событий, а именно разработано приложение клиент-сервер, предназначенное для обслуживания базы данных событий, соответствующее всем изложенным в задании требованиям.
В результате выполнения работы освоены навыки создания приложений типа клиент-сервер на языках программирования PHP, HTML с использованием СУБД MYSQL.
Задание на курсовое проектирование выполнено в полном объеме.