Файл: Автоматизация учета расхода топлива и электроэнергии на предприятии Мосгостранс».pdf
Добавлен: 20.05.2023
Просмотров: 929
Скачиваний: 10
СОДЕРЖАНИЕ
1. Технико-экономическая характеристика предметной области и предприятия
1.1 Характеристика предприятия и его деятельности
1.2 Организационная структура управления предприятием
1.3 Выбор комплекса задач автоматизации и характеристика существующих бизнес процессов
2. Информационное обеспечение задачи
2.1 Информационная модель и её описание
2.2 Используемые классификаторы и системы кодирования
2.3 Характеристика нормативно-справочной, входной и оперативной информации
2.4 Характеристика результатной информации
3. Программное обеспечение задачи
3.1 Общие положения (дерево функций и сценарий диалога)
3.2 Характеристика базы данных
3.3 Структурная схема пакета (дерево вызова программных модулей)
3.4 Описание программных модулей
4. Контрольный пример реализации и его описание
- проведено проектирование web-приложения,
- реализована база данных и запросы на выборку к базе данных, разработан графический интерфейс пользователя,
- протестировано web-приложение,
- подготовлено руководство пользователя.
Практическая значимость исследования заключается в том, что разработанное web-приложение вносит определенный вклад в развитии web-представительства городской транспортной сети, и в дальнейшем данную технологию можно будет использовать для исследований в этой области.
Результаты тестирования web-приложения показали, что требования к функционалу web-приложения удовлетворены в полном объеме. Разрабатываемое web-приложение корректно реагирует на удаление, изменение данных. При вводе входной информации осуществляется контроль на допустимость вводимых значений. Редактирование данных не нарушает целостности базы данных.
СПИСОК ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
- Сханова С.Э. Основы транспортно-экспредиционного обслуживания – М.: Academia, 2011, -432 с.
- Пассажирский транспорт. – М.: Адонис, 2012. – 231 с.
- Логистика. Общественный пассажирский транспорт / Л.Б. Миротин, М: Экзамен, 2014. – 224 с
- Астахова И.Ф. SQL в примерах и задачах: учеб. пособие / И.Ф. Астахова, А.П. Толстобров, В.М. Мельников. – Мн.: Новое знание, 2012. – 176 с.
- Астахова И.Ф. СУБД: язык SQL в примерах и задачах / И.Ф. Астахова. – М.: «Физматлит», 2011. – 168 с.
- Вендров А.М. Проектирование программного обеспечения экономических информационных систем / А.М. Вендров. – М.: Финансы и статистика, 2012. – 352 с.
- Вигерс Б. Разработка требований к программному обеспечению / Б. Вигерс. – М.: BHV, 2014. – 736 с.
- Глушаков С.В. Базы данных / С.В. Глушаков, Д.В. Ломотько. – М.: ООО «Издательство ACT», 2012. – 415 с.
- Голдстайн А. HTML5 и CSS3 для всех / А. Голдстайн, Л. Лазарис, Э. Уэйл. – М.: Эксмо-Пресс, 2012. – 368 с.
- Голицына О.Л. Базы данных: учебное пособие / О.Л. Голицына, Н.В. Максимов, И.И. Попов. – М.: ФОРУМ: ИНФРА-М, 2011. – 268 с.
- Дакетт Д. HTML и CSS. Разработка и дизайн веб-сайтов / Д. Дакетт. – М.: Эксмо, 2013. – 480 с.
- Дунаев В. HTML, скрипты и стили / В. Дунаев. – М.: BHV, 2015. – 824 с.
- Жадаев А. PHP для начинающих / Жадаев А. – М.: Питер, 2014. – 288 с.
- Информационные технологии в управлении предприятием. Антология. – М.: Три квадрата, 2011. – 160 с.
- Кузин А.В. Базы данных / А.В. Кузин, С.В. Левонисова. – М.: Академия, 2012. – 320 с.
- Кумскова И.А. Базы данных / И.А. Кумскова. – М.: КноРус, 2012. – 488 с.
- Мишенин А.И. Теория экономических информационных систем / А.И. Мишенин. – 4-е изд., доп. и перераб. – М.: Финансы и статистика, 2007. – 240 с.
- Хопкинс К. PHP. Быстрый старт / К. Хопкинс. – М.: Эксмо-Пресс, 2014. – 160 с.
- Фролов А. В., Фролов Г. В. Базы данных в Интернете: практическое руководство по созданию Web-приложений с базами данных 2015
- Волков А. А. Тесты ТРС// Системы Управления Базами Данных № 2 2012
- Алекс Макмен, Крис Брукс, Стив Басби, Альманах программиста. Том 1. 2012
- Хомоненко А. Д. Базы данных, С.-П., 2014, Корона
- Лодон Дж., Лодон К. Управление информационными системами. 7-е изд. /Пер. с англ. под ред. Д.Р. Трутнева. – СПб.: Питер, 2015. – 912 с.: ил. – (Серия «Классика МВА»).
- Реутов А.П., Черняков М.В., Замуруев С.Н. Автоматизированные информационные системы: методы построения и исследования. - Издательство: Радиотехника, 2010. - 328 с.
- Рудинский И.Д. Технология проектирования автоматизированных систем обработки информации и управления. Учебное пособие для вузов. – М.: Горячая линия–Телеком, 2011. – 304 с.: ил.
- Пошаговое руководство по созданию, управлению/ Эксмо – 2008.- 487с. Управление проектом по созданию интернет-сайта Издательство: Альпина Паблишер, 2013 г. - 337 с.
- Якоб Нильсен, Хоа Лоранжер «Web-дизайн. Удобство использования Web-сайтов» Издательство «Вильямс». 2012г .- 376 с.
- Билл Скотт, Тереза Нейл «Проектирование веб-интерфейсов» 2010 г. Издательство: Символ-Плюс, - 352 с.
- Мэтью МакДональд «Создание Web-сайтов. Основное руководство» 2012 г. Издательство: Эксмо , - 768 с.
- Й. Якобсен. Концепция разработки Web-сайтов. Как успешно разработать Web-сайт с применением мультимедиа-технологий. - НТ Пресс, 2011г. - 512 с.
- А.П. Алексеев. Введение в Web-дизайн. - М.: СОЛОН-ПРЕСС, 2011г. - 192 с.
- Билл Скотт, Тереза Нейл «Проектирование веб-интерфейсов» 2012 г. Издательство: Символ-Плюс, - 352 с.
- Гото Г, Котлер Э. Web-дизайн. - СПб: Символ Плюс, 2011.
- Дж.Н. Роббинс. Web-дизайн. Справочник. - М.: Кудиц-Пресс, 2012.
- Дж.Н. Роббинс. Разработка приложений для электронной коммерции. - СПб: Питер Бук, 2011.
- Леонтьев А.А. Web-дизайн. Руководство пользователя. - М.: Центр, 2010.
Приложение А DDL-скрипт
CREATE TABLE company
(
idcompany integer NOT NULL AUTO_INCREMENT,
company varchar(80) NULL ,
address varchar(80) NULL ,
phone varchar(80) NULL ,
info varchar(80) NULL,
PRIMARY KEY (idcompany)
)
;
CREATE TABLE rating
(
idrating integer NOT NULL AUTO_INCREMENT,
month integer NULL ,
year integer NULL ,
traffic integer NULL ,
fuel integer NULL ,
idtransport integer NOT NULL,
PRIMARY KEY (idrating)
)
;
CREATE TABLE transport
(
idtransport integer NOT NULL AUTO_INCREMENT,
vin varchar(80) NULL ,
pts varchar(80) NULL ,
model varchar(80) NULL ,
number varchar(80) NULL ,
capacity integer NULL ,
idworker integer NOT NULL ,
idcompany integer NOT NULL ,
idtypetransport integer NOT NULL ,
PRIMARY KEY (idtransport)
)
;
CREATE TABLE trip
(
idtrip integer NOT NULL AUTO_INCREMENT,
trip varchar(80) NULL ,
file varchar(80) NULL ,
fuelnorm integer NULL ,
trafficnorm integer NULL ,
idtypetransport integer NOT NULL ,
PRIMARY KEY (idtrip)
)
;
CREATE TABLE typetransport
(
idtypetransport integer NOT NULL AUTO_INCREMENT,
typetransport varchar(80) NULL ,
PRIMARY KEY (idtypetransport)
)
;
CREATE TABLE worker
(
idworker integer NOT NULL AUTO_INCREMENT,
worker varchar(80) NULL ,
phone varchar(80) NULL ,
seniority datetime NULL ,
post varchar(80) NULL ,
datebirth datetime NULL ,
login varchar(80) NULL ,
parol varchar(80) NULL ,
idcompany integer NOT NULL ,
PRIMARY KEY (idworker)
)
;
ALTER TABLE rating
ADD CONSTRAINT R_5 FOREIGN KEY (idtransport) REFERENCES transport(idtransport)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE rating
ADD CONSTRAINT R_6 FOREIGN KEY (idtransport) REFERENCES trip(idtrip)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE transport
ADD CONSTRAINT R_1 FOREIGN KEY (idworker) REFERENCES worker(idworker)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE transport
ADD CONSTRAINT R_2 FOREIGN KEY (idcompany) REFERENCES company(idcompany)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE transport
ADD CONSTRAINT R_3 FOREIGN KEY (idtypetransport) REFERENCES typetransport(idtypetransport)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE trip
ADD CONSTRAINT R_7 FOREIGN KEY (idtypetransport) REFERENCES typetransport(idtypetransport)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
ALTER TABLE worker
ADD CONSTRAINT R_8 FOREIGN KEY (idcompany) REFERENCES company(idcompany)
ON DELETE NO ACTION
ON UPDATE NO ACTION
;
Приложение Б Код программы
<?php
$Mode=$_COOKIE["Mode"];
$idrequest=$_COOKIE["idrequest"];
$idplace=$_COOKIE["idplace"];
$worker=$_COOKIE["worker"];
$idworker=$_COOKIE["idworker"];
$dblocation = "localhost";
$dbname = "transport";
$dbuser = "root";
$dbpasswd = "";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
mysql_set_charset("cp1251", $dbcnx);
?>
<?
require "option.php";//файл с параметрами подключения к БД
$step=$_REQUEST["step"];
if ($step==2)//выход
{
setcookie ( 'Mode', "");
$Mode="";
$step=0;
}
if ($step==1)
{
$login=$_POST["login"];
$parol=$_POST["parol"];
$SET_worker=mysql_query("select * from worker where login='$login' and parol='$parol'");
$COUNT_worker=mysql_num_rows($SET_worker);
if ($COUNT_worker==0)
{
?>
<script language="javascript">
alert("Не верный ввод!");
history.back();
</script>
<?
exit();
}
if ($COUNT_worker>0)
{
$f=mysql_fetch_array($SET_worker);//считывание текующей записи
$idworker=$f["idworker"];
setcookie ( 'idworker', $idworker);
$Mode=$f["post"];
setcookie ( 'Mode', $Mode);
$worker=$f["worker"];
setcookie ( 'worker', $worker);
if ($Mode=="Менеджер")
{
?>
<script language="javascript">
location.href='company.php';
</script>
<?
}
if ($Mode=="Администратор")
{
?>
<script language="javascript">
location.href='user.php';
</script>
<?
}
}
else
{
?>
<script language="javascript">
alert("Не верный ввод!");
history.back();
</script>
<?
}
}
?>
<html >
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Городской пассажирский транспорт</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="header-wrapper1">
<div id="logo">
<img src="images/лого.jpg" width="150" height="100">
</div>
<div id="header1" class="container">
<?
require "menu.php";
?>
</div>
</div>
<!-- end #header -->
<br>
<table width="100%" height="83%">
<tr>
<td>
<?
if ( $Mode=="")
{
?>
<form name="form2" onaction="this.form.action='default.php?step=1'" method="post" >
<table align="center">
<tr>
<td>
Авторизация:
</td>
</tr>
<tr>
<td>
Логин:
</td>
</tr>
<tr>
<td>
<input name="login" value="" type="text" >
</td>
</tr>
<tr>
<td>
Пароль:
</td>
</tr>
<tr>
<td>
<input name="parol" value="" type="password" >
</td>
</tr>
<tr>
<td align="right"><input name="button" type="button" onClick="this.form.action='index.php?step=1'; this.form.submit();" value="Вход" width="600"></tr>
</table>
</form>
<?
}
else
{
?>
<script language="javascript">
//location.href='request.php';
</script>
<?
}
?>
</td>
</tr>
<tr>
<td valign="bottom">
<div id="footer">
<p>Copyright (c) 2018. All rights reserved.</p>
</div>
</td>
</tr>
</table>
</body>
</html>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<div id="menu" >
<ul>
<?
if ($Mode=="Менеджер")
{
?>
<li><a href="transport.php">Транспорт</a></li>
<li><a href="trip.php">Маршруты</a></li>
<li><a href="company.php">Организации</a></li>
<li><a href="typetransport.php">Тип транспорта</a></li>
<?
}
?>
<?
if ($Mode=="Администратор")
{
?>
<li><a href="user.php">Пользователи</a></li>
<?
}
?>
<?
if ($Mode!="")
{
?>
<li><a href="index.php?step=2">Выход</a></li>
<?
}
?>
</ul>
</div>
<?
require "option.php";//файл с параметрами подключения к БД
$idtransport = $_COOKIE["idtransport"];
if (isset ($_POST['ArrTransport']))
{
$Arr=$_POST['ArrTransport'];
$idtransport=$Arr[0];
setcookie ( 'idtransport', $idtransport);
}
date_default_timezone_set("Europe/Moscow");
$year=date("Y");
?>
<html >
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>Городской пассажирский транспорт</title>
<link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
<div id="wrapper">
<div id="header-wrapper1">
<div id="logo">
<img src="images/лого.jpg" width="150" height="100">
</div>
<div id="header1" class="container">
<?
require "menu.php";
?>
</div>
</div>
<!-- end #header -->
<br>
<form name="form2" method="post" >
<?
$s="select model from transport where idtransport=$idtransport";
$r=mysql_query($s);
$f=mysql_fetch_array($r);//считывание текующей записи
$model=$f['model'];
?>
<div style="font-size:22px; color:#000" align="center">Показатели транспорта (модель "<? echo $model?>")</div>
<?
$filter=$_GET["filter"];//считывание параметра фильтра
$s="select * from rating, transport, trip where transport.idtransport=rating.idtransport and trip.idtrip=rating.idtrip and rating.idtransport=$idtransport ";
if ($filter==1)/*есть ли сортировка данных*/
{
$idtrip = $_POST['idtrip'];
$s=$s." and trip.idtrip=$idtrip";
$month = $_POST['month'];
$s=$s." and month=$month";
if (isset ($_POST['year']))
{
$year = $_POST['year'];
$s=$s." and year=$year";
}
if (isset ($_POST['control']))
{
$control=$_POST['control'];
$s=$s." and $control";
}
}
$s=$s." ORDER BY trip, year, month";
$r=mysql_query($s);
?>
<div align="right">
<br>
Фильтр по маршруту:
<select name="idtrip" style="height:22; width:auto" >
<option selected=selected value="trip.idtrip">Все</option>
<?
$d=mysql_query( "select * from trip order by trip");
for ($i=0;$i<mysql_num_rows($d);$i++)
{
$m=mysql_fetch_array($d);
echo "<option value=".$m["idtrip"];
if ($m["idtrip"]==$idtrip)
echo " selected=selected";
echo ">".$m["trip"];
echo "</option>";
}
?>
</select>
Фильтр по месяцу:
<select name="month" style="height:22; width:auto" >
<option selected=selected value="month">Все</option>
<option value="'Январь'" <? if ($month=="'Январь'") echo "selected";?> >Январь</option>
<option value="'Февраль'" <? if ($month=="'Февраль'") echo "selected";?> >Февраль</option>
<option value="'Март'" <? if ($month=="'Март'") echo "selected";?> >Март</option>
<option value="'Апрель'" <? if ($month=="'Апрель'") echo "selected";?> >Апрель</option>
<option value="'Май'" <? if ($month=="'Май'") echo "selected";?> >Май</option>
<option value="'Июнь'" <? if ($month=="'Июнь'") echo "selected";?> >Июнь</option>
<option value="'Июль'" <? if ($month=="'Июль'") echo "selected";?> >Июль</option>
<option value="'Август'" <? if ($month=="'Август'") echo "selected";?> >Август</option>
<option value="'Сентябрь'" <? if ($month=="'Сентябрь'") echo "selected";?> >Сентябрь</option>
<option value="'Октябрь'" <? if ($month=="'Октябрь'") echo "selected";?> >Октябрь</option>
<option value="'Ноябрь'" <? if ($month=="'Ноябрь'") echo "selected";?> >Ноябрь</option>
</select>
Фильтр по году:
<input size="3" name="year" value="<? echo $year;?>" type="text" >
Контроль норм:
<input name="control" value="(traffic>trafficnorm or fuel>fuelnorm)" type="checkbox" <? if ($control) echo "checked"; ?>>
<br><br>
<input type="button" name="button1" onclick="this.form.action='rating.php?filter=1'; this.form.submit();" value="Фильтр">
<input type="button" name="button2" onclick="this.form.action='rating.php?filter=0'; this.form.submit();" value="Очистить">
</div>
<br>
<input type="button" name="button4" onclick="this.form.action='updrating.php?upd=0&step=1'; this.form.submit();" value="Добавить">
<input type="button" name="button4" <? if (mysql_num_rows($r)==0) {?> disabled="disabled"<? }?> onclick="this.form.action='updrating.php?upd=1&step=1'; this.form.submit();" value="Редактирование">
<input type="button" name="button" <? if (mysql_num_rows($r)==0) {?> disabled="disabled"<? }?> onclick="qwest=window.confirm('Вы действительно хотите удалить запись?'); if (qwest) {this.form.action='delrating.php'; this.form.submit();}" value="Удалить">
<input type="button" name="button" <? if (mysql_num_rows($r)==0) {?> disabled="disabled"<? }?> onclick="this.form.action='ratingtoexcel.php?filter=<? echo $filter;?>&model=<? echo $model;?>'; this.form.submit();" value="Экспорт в Excel">
<input type="button" name="button4" onclick="this.form.action='transport.php'; this.form.submit();" value="Назад">
<table WIDTH=100% border=1 cellspacing=0 cellpadding=3>
<tr>
<td ><font color=white> </font></td>
<td align="center" valign="middle"><h5 style="color:#000">Маршрут</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Месяц</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Год</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Пассажиропоток</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Норма пассажиропотока</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Расход топлива</h5></td>
<td align="center" valign="middle"><h5 style="color:#000">Норма топлива</h5></td>
</tr>
<?
for ($i=0;$i<mysql_num_rows($r);$i++)//вывод данных в цикле по количеству записей
{
$f=mysql_fetch_array($r);//считывание текующей записи
if ( ($f['traffic']>$f['trafficnorm']) or ($f['fuel']>$f['fuelnorm']) )
echo "<tr bgcolor=#FF6699>";
else
echo "<tr>";
if ($i==0)
echo "<td><input type=radio checked=checked name=Arr[] value=".$f ['idrating']."> </td>";
else
echo "<td><input type=radio name=Arr[] value=".$f ['idrating']."> </td>";