Разработка информационной системы "Ремонт локомотива"

Автор работы: Пользователь скрыл имя, 06 Февраля 2013 в 07:34, курсовая работа

Описание работы

Разработки информационной системы нужна для реализации части системы, помогающей инженерам работать с оборотом локомотивов в ремонте. На начальном этапе эту систему можно будет использовать, например, как обучающую. База данных содержит 11 таблиц из которых можно получить любую информацию с помощью различных запросов.

Содержание работы

Введение
1.Предметная область
1.1 Описание предметной области
1.2 Механическая часть локомотивов
2. Описание приложения клиент-сервер
2.1 Приложение клиент-сервер
2.2 Приложение клиент-сервер и реляционная база данных
2.3 Работа проектируемого клиент-серверного приложения
3. Работа проектируемой базы данных
3.1 Физическая структура базы данных
3.2 Выделение связей между сущностями
3.3 Логическая структура базы данных
4.Программное описание
Приложения
Заключение
Список литературы

Файлы: 1 файл

отчёт.docx

— 1.60 Мб (Скачать файл)

 

  1. Depo (депо) – сущность описывающая депо.

Название поля

Описание

1.

id_depo

Идентификатор депо (ключевое поле).

2.

name

Номер депо

3.

otdelenie

Идентификатор отделения


 

  1. Remont (ремонт) – сущность содержащая информацию о ремонтах.

Название поля

Описание

1.

id_rem

Идентификатор Типа вагона (ключевое поле).

2.

Type_rem

Тип ремонта

3.

Id_lok

Идентификатор локомотива


 

 

  1. Type_rem (тип ремонта) – сущность описывающая типы ремонтов.

Название поля

Описание

1.

id_type

Идентификатор типа ремонта (ключевое поле).

2.

name

Название типа


 

  1. Otkaz (отказ) – сущность описывающая все зарегистрированные отказы.

Название поля

Описание

1.

id_otkaz

Идентификатор отказа (ключевое поле).

2.

num_lok

Номер локомотива

3.

doroga

Дорога

4.

otdelenie

Отделение

5.

depo

Депо

6.

data

Дата

7.

detal

Деталь


 

  1. Detal (Деталь) – сущность описывающая детали.

Название поля

Описание

1.

id_detal

Идентификатор детали (ключевое поле).

2.

vid

Вид оборудования к которому она относится

 

detal

Название

 

deistvie

Действия которые могут  производится с этими деталями


 

  1.  Oborudovanie (Статус билета) – сущность описывающая механическую часть локомотива.

Название поля

Описание

1.

Id_vid

Идентификатор вида оборудования (ключевое поле).

2.

vid

Название оборудования


 

3.2 Выделение связей между сущностями.

 

Дорога и  отделение

«один ко многим», так как  одна дорога может имеет несколько  отделений

Отделение и  депо

«Один ко многим», так как  одному отделению соответствует несколько депо.

Депо и  локомотив

«Один ко многим», так как  на одно депо приходится несколько  локомотивов Ремонт и локомотив

«Один ко многим», так как  один локомотив может проходить  не один ремонт

Локомотив и  тип локомотива

 «Один ко многим»,  так как к одному типу может  относится несколько локомотивов.

Ремонт и  тип ремонта

 «Один ко многим»,  так как один тип ремонта может быть выполнен несколько раз.

Оборудование  и деталь

«Один ко многим», так как  на один тип оборудования приходится несколько деталей.

 

 

3.3 Логическая структура базы данных:

 

 

 

 

 

 

 

 

4.Программное описание.

Код  реализующий вход в систему. (приложение 1)

<?php

// Страница авторизации

// Соединение с сервером  БД

$link= mysql_connect("localhost", "root", "") or die (mysql_error ());

 

 mysql_query("set names cp1251",$link);//установление кодировки

 

// Выбор БД

mysql_select_db("remont_lok") or die(mysql_error());

if(isset($_POST['ok']))

{

# Вытаскиваем из БД  запись, у которой логин равняется  введенному

$login=$_POST['login'];

    $query = mysql_query("SELECT id,password FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."' LIMIT 1");

    $data = mysql_fetch_array($query);

# Сравниваем пароли

if ($_POST['login'] and $_POST['password'] != '')

   

   {

if($data['password'] == $_POST['password'])

    {

if ($_POST['login']=='admin')

{

header("Location: admin.php");

exit();    

}

else

{

header("Location: polz.php");

exit();

}

}

   else

   {

print "<P align='center'><FONT size='5' color=orange>";

        print "Вы ввели неправильный логин/пароль";

print "<P align='center'><a href=http://localhost/kurs1/registr.php>Регистрация</a>";

print "</font>";

    }

}

 

 

 

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

</head>

<BODY>

<P align="center"> <FONT size="6"><B>Введите логин и пароль:</B></FONT>

<BR>

<FORM method="POST"  onsubmit="return preobr_form ( );">

</font>

<TABLE border=0 width=35% cellpadding=5% align=center>

<TR>

<TD rowspan="2">

<img src="img/zamok.jpeg">

<TD align=center><FONT size="5" color=green>

Логин: </FONT>

<TD align=center>

<input name="login" type="text"><br>

<TR>

<TD align=center><FONT size="5" color=green>

Пароль: </FONT>

<TD align=center>

<input name="password" type="password"><br>

<TR>

<TD align=center colspan="3">

<input type="submit" name="ok" value="Войти">

</table>

</form>

</body>

</html>

 

Код  реализующий регистрацию .(приложение 2)

 

<?php

 

// Страница регситрации  нового пользователя

 

mysql_connect("localhost", "root", "");

mysql_select_db("remont_lok");

 

 

if(isset($_POST['submit']))

{

    $err = array();

    # проверям логин

    if(!preg_match("/^[a-zA-Z0-9]+$/",$_POST['login']))

    {

        $err[] = "Логин может состоять только  из букв английского алфавита  и цифр";

    }

    if((strlen($_POST['login']) < 3) or (strlen($_POST['login'])>30))

    {

        $err[] = "Логин должен быть не меньше 3-х символов и не больше 30";

    }

    # проверяем, не  сущестует ли пользователя с  таким именем

    $query = mysql_query("SELECT COUNT(id) FROM users WHERE login='".mysql_real_escape_string($_POST['login'])."'");

    if(mysql_result($query, 0) > 0)

    {

        $err[] = "Пользователь с таким логином  уже существует в базе данных";

    }

    # Если нет ошибок, то добавляем в БД нового  пользователя

    if(count($err) == 0)

    {

         $login = $_POST['login'];

        # Убираем лишние пробелы и делаем двойное шифрование

        $password = ($_POST['password']);

        mysql_query("INSERT INTO users SET login='".$login."', password='".$password."'");

        header("Location: login.php"); exit();

    }

    else

    {

        print "<b>При регистрации произошли  следующие ошибки:</b><br>";

        foreach($err AS $error)

        {

            print $error."<br>";

        }

    }

}

 

?>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

 

</head>

 

<P align="center"> <FONT size="6"><B>Регистрация:</B></FONT>

<HR align="center" width=60% size=1%>

<BR>

<FORM method="post"  onsubmit="return preobr_form ( );">

<P align="center">

<TABLE border=0 width=35% cellpadding=5% align=center>

<TR>

<TD rowspan="2">

<img src="img/klu2.jpeg">

<TD align=center valign=center ><FONT size="5" color=green>

Логин: </FONT>

<TD align=center>

<input name="login" type="text"><br>

<TR>

<TD align=center><FONT size="5" color=green>

Пароль: </FONT>

<TD align=center>

<input name="password" type="password"><br>

<TR>

<TD align=center colspan="3">

<input name="submit" type="submit" value="Зарегистрироваться">

</table>

<BR>

<HR align="center" width=60%  size=1%>

</form>

</body>

</html>

 

 

 Код реализующий страницу  заполнения формы для ремонта. (приложение 3)

<HTML>

<HEAD>

<TITLE> Ремонт локомотива

</TITLE>

</head>

<BODY bgcolor="">

<img src="pic/3.jpeg" align="right">

<p> <h1 align="center"><font color="black"> Пункт технического обслуживания локомотивов </h1>

<hr width=80% align="center">

<center>  <b> <big> <h3> Пожалуйста,заполните данные. </h3> </big> </b>    </center>

<hr width=50% align="center">

<form id="frm"  method="post" action="rem.php" >

<table border=6 cellspacing=7 align="center" bgcolor="red" >

 

<?php

 

// Соединение с сервером БД

$link= mysql_connect("localhost", "root", "") or die (mysql_error ());

         mysql_query("set names cp1251",$link);//установление кодировки

// Выбор БД

     mysql_select_db("remont_lok") or die(mysql_error());

 

function is_sel($a, $field)

{

  $b = isset($_POST[$field])?$_POST[$field]:NULL;

  if($a == $b) return 'selected="selected"';

}

?>

 

<tr><th align="right"> Дорога: <td>

<? 

       // создаем  динамические выпадающие списки

      // выводим  все строки из столбца name таблицы  doroga

$res=mysql_query('SELECT * FROM doroga');

      echo "<select id=\" doroga\" name=\"doroga\"

                            onchange=\"document.getElementById('frm').submit()\" >

                 <option  value=''>- Выберите дорогу -</option>"; 

     while($row = mysql_fetch_array($res))

              echo "<option ".is_sel($row['id_doroga'],'doroga')." value='" . $row['id_doroga'] . "'>" .                                 $row['name'] . "</option>\r\n";

              echo "</select>"; 

?>

       <tr><th align="right"> Отделение: <td>

 <?

       if(isset($_POST['doroga']))

         {

  $res=mysql_query('SELECT * FROM otdelenie WHERE doroga="'.(int)$_POST['doroga'].'"');

       echo "<select id=\" otdelenie\" name=\"otdelenie\" onchange=\" document.getElementById('frm').submit();\" >

        <option  id=\"otdelenie\" value=''>- Выберите отделение -</option>";

     while($row = mysql_fetch_array($res))

       echo "<option ".is_sel($row['id_otd'],'otdelenie')." value='" . $row['id_otd'] . "'>" . $row['name'] . "</option>\r\n";

       echo "</select>";

?>

<tr><th align="right"> Депо: <td>

 

<?

$region = isset($_POST['otdelenie'])?$_POST['otdelenie']:NULL;

if($region && $region !== 0)

{

  $res=mysql_query('SELECT * FROM depo WHERE otdelenie='.(int)$_POST['otdelenie']);

   echo "<select id=\"depo\" name=\"depo\" onchange=\"document.getElementById('frm').submit();\" >

    <option  value=''>- Выберите депо -</option>";

    while($row = mysql_fetch_array($res))

echo "<option ".is_sel($row['id_depo'],'depo')." value='" . $row['id_depo'] . "'>" . $row['name'] . "</option>\r\n";

      echo "</select>";

}

?>

<tr><th align="right"> Номер локомотива: <td>

<?

$depo = isset($_POST['depo'])?$_POST['depo']:NULL;

if($depo && $depo !== 0)

{

  $res=mysql_query('SELECT * FROM lokomotiv WHERE depo='.(int)$_POST['depo']);

    echo "<select id_lok=\" lokomotiv\" name=\"lokomotiv\" onchange=\"document.getElementById('frm').submit()\" >

    <option  value=''>- Выберите заводской номер локомотива -</option>";

      while($row = mysql_fetch_array($res))

      echo "<option ".is_sel($row['id_lok'],'lokomotiv')." value='" . $row['id_lok'] . "'>" . $row['num_lok'] . "</option>\r\n";

     echo "</select>";

}

 

?> 

<tr><th align="right"> Неисправная часть локомотива: <td>

<?

 

$res=mysql_query('SELECT * FROM oborudovanie');

echo "<select id_vid=\" oborudovanie\" name=\"oborudovanie\" onchange=\"document.getElementById('frm').submit()\" >

    <option  value=''>- Выберите неисправную часть -</option>";

    while($row = mysql_fetch_array($res))

    echo "<option ".is_sel($row['id_vid'],'oborudovanie')." value='" . $row['id_vid'] . "'>" . $row['vid'] . "</option>\r\n";

      echo "</select>"; 

 

?> 

<tr><th align="right"> Неисправная деталь: <td>

<?

$oborudovanie = isset($_POST['oborudovanie'])?$_POST['oborudovanie']:NULL;

if($oborudovanie && $oborudovanie !== 0)

{

  $res=mysql_query('SELECT * FROM detal WHERE vid='.(int)$_POST['oborudovanie']);

    echo "<select id_lok=\" detal\" name=\"detal\" onchange=\"document.getElementById('frm').submit()\" >

    <option  value=''>- Выберите неисправную деталь -</option>";

     while($row = mysql_fetch_array($res))

      echo "<option ".is_sel($row['id_detal'],'detal')." value='" . $row['id_detal'] . "'>" . $row['detal'] . "</option>\r\n";

Информация о работе Разработка информационной системы "Ремонт локомотива"