скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыДипломная работа: Анализ информационной системы автосалона "Питер-Лада" и улучшение ее при помощи СУБД MySQL, PHP и HTML

Общеизвестно, что возможности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30-50 Мб, соответственно. Цифры, разумеется, представляют собой некие средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее существенно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры. Системы же на основе серверов баз данных могут поддерживать тысячи пользователей и сотни ГБ информации - дайте им только соответствующую аппаратную платформу.

Сервер баз данных предоставляет мощные средства защиты данных от несанкционированного доступа, невозможные в настольных СУБД. При этом, права доступа администрируются очень гибко - до уровня полей таблиц. Кроме того, можно вообще запретить прямое обращение к таблицам, осуществляя взаимодействие пользователя с данными через промежуточные объекты - представления и хранимые процедуры.

Для создания базы данных было решено использовать MySQL 5.0 благодаря её функциональности и простоте в использовании. MySQL - это популярная система управления базами данных (СУБД), очень часто применяемая в сочетании с PHP. MySQL - это система управления реляционными базами данных. В реляционной базе данных данные хранятся не все скопом, а в отдельных таблицах, благодаря чему достигается выигрыш в скорости и гибкости. Таблицы связываются между собой при помощи отношений, благодаря чему обеспечивается возможность объединять при выполнении запроса данные из нескольких таблиц. SQL как часть системы MySQL можно охарактеризовать как язык структурированных запросов плюс наиболее распространенный стандартный язык, используемый для доступа к базам данных.

MySQL - это ПО с открытым кодом. Применять его и модифицировать может любой желающий. Такое ПО можно получать по Internet и использовать бесплатно. При этом каждый пользователь может изучить исходный код и изменить его в соответствии со своими потребностями. Использование программного обеспечения MySQL регламентируется лицензией GPL (GNU General Public License), http://www.gnu.org/licenses/, в которой указано, что можно и чего нельзя делать с этим программным обеспечением в различных ситуациях.

MySQL состоит из двух частей: серверной и клиентской. Сервер MySQL постоянно работает на компьютере. Клиентские программы (например, скрипты PHP) посылают серверу MySQL SQL-запросы через механизм сокетов (то есть при помощи сетевых средств), сервер их обрабатывает и запоминает результат. То есть скрипт (клиент) указывает, какую информацио он хочет получить от сервера баз данных. Затем сервер баз данных посылает ответ (результат) клиенту (скрипту). Почему всегда передается не весь результат? Очень просто: дело в том, что размер результирующего набора данных может быть слишком большим, и на его передачу по сети уйдет чересчур много времени. Да и редко когда бывает нужно получать сразу весь вывод запроса (то есть все записи, удовлетворяющие выражению запроса). Например, нам может потребоваться лишь подсчитать, сколько записей удовлетворяет тому или иному условию, или же выбрать из данных только первые 10 записей. Механизм использования сокетов подразумевает технологию клиент-сервер, а это означает, что в системе должна быть запущена специальная программа — MySQL-сервер, которая принимает и обрабатывает запросы от программ. [10]

Для создания графического интерфейса было принято решение использовать PHP и HTML. PHP - это язык программирования, специально разработанный для написания web-приложений (сценариев), исполняющихся на Web-сервере. PHP и HTML тесно связаны: PHP генерирует HTML, а HTML содержит информацию, которая высылается в PHP. Значительным отличием PHP от какого-либо кода, выполняющегося на стороне клиента, например, JavaScript, является то, что PHP-скрипты выполняются на стороне сервера. Возможности PHP очень большие. Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI. Например, обрабатывать данных форм, генерировать динамические страницы, отсылать и принимать cookies. Но PHP способен выполнять и множество других задач. PHP — язык, который может быть встроен непосредственно в html -код страниц, которые, в свою очередь будут корректно обрабатываться PHP -интерпретатором. Очень важное преимущество PHP заключается в его «движке». «Движок» PHP не является ни компилятором, ни интерпретатором. Он является транслирующим интерпретатором. Такое устройство «движка» PHP позволяет обрабатывать сценарии с достаточно высокой скоростью.

РНР предоставляет в распоряжение разработчиков и администраторов гибкие и эффективные средства безопасности, которые условно делятся на две категории: средства системного уровня и средства уровня приложения.

Ø  Средства безопасности системного уровня

В РНР реализованы механизмы безопасности, находящиеся под управлением администраторов; при правильной настройке РНР это обеспечивает максимальную свободу действий и безопасность. РНР может работать в так называемом безопасном режиме (safe mode), который ограничивает возможности применения РНР пользователями по ряду важных показателей. Например, можно ограничить максимальное время выполнения и использование памяти (неконтролируемый расход памяти отрицательно влияет на быстродействие сервера). По аналогии с cgi-bin администратор также может устанавливать ограничения на каталоги, в которых пользователь может просматривать и исполнять сценарии РНР, а также использовать сценарии РНР для просмотра конфиденциальной информации на сервере (например, файла passwd).

Ø  Средства безопасности уровня приложения

В стандартный набор функций РНР входит ряд надежных механизмов шифрования. РНР также совместим с многими приложениями независимых фирм, что позволяет легко интегрировать его с защищенными технологиями электронной коммерции (e-commerce). Другое преимущество заключается в том, что исходный текст сценариев РНР нельзя просмотреть в браузере, поскольку сценарий компилируется до его отправки по запросу пользователя. Реализация РНР на стороне сервера предотвращает похищение нетривиальных сценариев пользователями, знаний которых хватает хотя бы для выполнения команды View Source. Поскольку РНР является встраиваемым (embedded) языком, он отличается исключительной гибкостью по отношению к потребностям разработчика. Хотя РНР обычно рекомендуется использовать в сочетании с HTML, он с таким же успехом интегрируется и в JavaScript, WML, XML и другие языки. Поскольку РНР не содержит кода, ориентированного на конкретный web-сервер, пользователи не ограничиваются определенными серверами (возможно, незнакомыми для них). Apache, Microsoft IIS, Netscape Enterprise Server, Stronghold и Zeus — РНР работает на всех перечисленных серверах. Поскольку эти серверы работают на разных платформах, РНР в целом является платформенно-независимым языком и существует на таких платформах, как UNIX, Solaris, FreeBSD и Windows 95/98/NT/2000/XP/2003. [8,9]

2.5 Реализация ИС автосалона «Питер-Лада»

Как уже отмечалось выше, в качестве средств реализации разработанной информационной системы с базой данных были выбраны MySQL, PHP.

Подключение к базе данных происходит следующим образом:

Settings.cfg

<?

$dbname = 'BD_Autosalon';

$hostname ='Localhost';

$usernameman = 'MefedAN';

$passwordman = '12345';

$usernamemech = 'Ruk_CTO';

$passwordmech = '123123';

$usernameboss = Direktor;

$passwordboss = 222111;

?>

При заходе на сайт ИС мы автоматически попадаем в меню авторизации. После ее прохождения определяются права на использование данной системы. Эта страница реализована следующим образом:

Index.html

<html>

<head> <title>Официальный диллер ОАО "АВТОВАЗ" </head>

<body>

<img src="AuthHeader.jpg"><br>

<table>

<tr>

<td>

<img src="LadaLogo.jpg" align=left><br>

<font face="Segoe Print">Вы собираетесь войти в систему.<br> Пожалуйста авторизуйтесь.

</td>

<td>

<img src="AuthLogo.jpg" align=right>

</td>

</tr>

<tr>

<Form ACTION = "auth.php" METHOD = "post">

<font face="Segoe Print">

<p >Пользователь: <input type="text" name="Login"></p>

<p>Пароль : <input type="password" name="Pass">

<input type="submit" value="Войти в ситему">

</font>

</tr>

</table>

<img src="Footter.jpg">

</html>

auth.php

<?

if (($_POST["Login"]=='Manager')&($_POST["Pass"]=='12345'))

{   

Header("Location: manager_menu.html");

}

elseif (($_POST["Login"]=='Ruk_CTO')&($_POST["Pass"]=='123123'))

{   

Header("Location: zakaz-nariad.php");

}

else

{

echo 'Неврный логин и/или пароль';

}

?>

<body>

<br>

<a href="index.html">Назад.</a>


После прохождения авторизации менеджером компании, загружается его личная страница.

Со страницы менеджера можно посмотреть модельный ряд автомобилей Lada, автомобили находящиеся в наличии, заказать дополнительное оборудование, или перейти в меню утилизации, нажав соответствующую кнопку в меню.

При авторизации как директор автосалона – открывается точно такое же меню как и у менеджеров, только с тем отличаем, что вместо кнопки «Утилизация» находится кнопка «Отчет за день». При нажатии на нее, выводится список всех автомобилей проданных за день. В этом списке указывается модель автомобиля, дата его сборки, а так же фамилия менеджера, составившего заказ. Под этими сведениями будет находиться общая сумма в рублях, от реализации за день. Данная таблица выполняется благодаря следующему РНР запросу:

usert1.php

<html>

<head> <title>Отчёт продаж за день</head>

<body>

<?

include ("settings.cfg");

$db = mysql_connect ($hostname,$usernameboss,$passwordboss); <---- mysql_select_db($dbname,$db);

$dt=date('Y-m-d');

$result = mysql_query("SELECT model_avto,data_sborki,FIO_manager FROM Zakazi WHERE data_oforml_zakaz=$dt",$db);

if(!$result)

{

echo "Возникла ошибка - ".mysql_error()."<br>";

echo $sql;

exit();

}

echo ("<table border ='1'>");

echo ("<tr><td>Модель автомобиля</td><td>Дата сборки</td><td>ФИО менеджера</td></tr>");

while ($tablerows = mysql_fetch_row($result))

{

echo("<tr><td>$tablerows[0]</td><td>$tablerows[1]</td><td>$tablerows[2]</td></tr> ");

}

$result = mysql_query("SELECT sum(predoplata) FROM Zakazi WHERE data_oforml_zakaz=$dt",$db);

if(!$result)

{

echo "Возникла ошибка - ".mysql_error()."<br>";

echo $sql;

exit();

}

echo "<tr><td collspan=2>Итого,руб:</td><td>$tablerows[0]</td></tr></table>";

echo "<a href=BossMenu.html> Назад </a>";

?>

</body>

</html>

Картинки с автомобилями являются кликабельными. Нажав на картинку с изображением нужной модели, менеджер попадает на страницу выбора комплектации и цвета нужного автомобиля.

Для окончательного оформления заказа следует нажать кнопку «Составить заказ».

Если в главном меню менеджера выбрать «Меню утилизации», будет загружена следующая страница:

Менеджер должен ввести необходимые данные об утилизируемом автомобиле в соответствующие поля. При вводе года автомобиля старше 2000, появится сообщение об ошибке. Так же сообщение об ошибке «Автомобиль уже подвергнут утилизации!» возникнет в том случае, если по каким-то причинам данные об утилизируемом автомобиле уже содержатся в таблице Utiliz.

Данная страница реализована следующим образом:

Utilz.html

<html>

<head> <title>Официальный диллер ОАО "АВТОВАЗ" </head>

<body>

<img src="UtilHeader.jpg"><br>

<table>

<tr>

<td>

<img src="UtilSchema.jpg" align=left><br>

</td>

<td>

<Form ACTION = "AddUtil.php" METHOD = "post">

<font face="Segoe Print">

Введите следующие данные, необходимые для утилизации:

<p> Марка: <input type="text" name="Marka"></p>

<p> Год выпуска: <input type="text" name="God_v"></p>

<p> VIN: <input type="text" name="VIN"></p>

<p> Собственник (ФИО): <input type="text" name="Vladelec"></p>

<input type="submit" value="Подтвердить данные">

<a href="manager_menu.html"> Назад. </a>

</td>

</table>

<img src="Footter.jpg">

</html>

AddUtil.php

<?

include ("settings.cfg");

$db = mysql_connect ($hostname,$usernameman,$passwordman);

mysql_select_db($dbname,$db);

$result = mysql_query("SELECT VIN FROM Utiliz",$db);

if(!$result)

{

echo "Возникла ошибка - ".mysql_error()."<br>";

echo $sql;

exit();

}

while ($tablerows = mysql_fetch_row($result))

{

if ($tablerows[0]==$_POST["VIN"])

{

echo 'Такая машина уже подвергнута утилизации!';

echo '<a href = Utiliz.html> Назад </a>';

exit();

}

}

$query = "INSERT INTO Utiliz VALUES ('$_POST[Marka]','$_POST[God_v]','$_POST[VIN]','$_POST[Vladelec]');";

$result = mysql_query($query,$db);

if(!$result)

{

 echo "Возникла ошибка - ".mysql_error()."<br>";

 echo $sql;

 exit();

}

echo 'Машина принята на утилизацию!';

echo '<a href = Utiliz.html> Назад </a>';

?>

На этой странице администратор СТО должен ввести данные о заявленных клиентом неисправностях, дате начала ремонта, описать выявленные неисправности после диагностики (осмотра), дату и время окончания ремонта и стоимость работ согласно прейскуранту. Эти данные записываются в базу, в таблицу СТО. Стоит заметить, что мастеру не нужно каждый раз вводить номер заказ-наряда, так как при каждом входе номер заказ-наряда увеличивается на единицу, что позволяет избежать ошибок.

Эта страница реализована следующим образом:

zakaz-nariad.php

<html>

<head> <title>Официальный диллер ОАО "АВТОВАЗ" </head>

<body>

<img src="MechHeader.jpg"><br>

<table>

<tr>

<td>

<img src="LadaLogo.jpg" align=left><br>

<Form ACTION = "AddZakaz.php" METHOD = "post">

<font face="Segoe Print">


Необходимо ввести следующие данные:

<p> Номер заказ-наряда: <input type="text" name="number_zakaz_naryda" value="<!number_zakaz_naryda >"></p>

<?

include ("settings.cfg");

$db = mysql_connect ($hostname,$usernamemech,$passwordmech);

mysql_select_db($dbname,$db);

$result = mysql_query("SELECT Max(Number)+1 FROM CTO",$db);

if(!$result)

{

echo "Возникла ошибка - ".mysql_error()."<br>";

echo $sql;

exit();

}

$tmp = str_replace ("<!number_zakaz_naryda >",$result);

}

?>

<p> Заявленные неисправности: <input type="text" name="zayavlennie_neispravnosti"></p>

Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.