资源描述
《数据库系统原理课程设计汇报》
学生学籍管理系统
组 长: 陈 娇 0516091
组 员: 何 露 0516089
聂雅瑞 0516140
陈媛媛 0516137
刘 心 0516136
系 别: 计算机和信息科学学院
专业班级: 计算机科学和技术
指导老师: 王艳霞
6月11日
目录
1 系统背景---------------------------------------4
2 需求分析---------------------------------------4
2.1 功效需求-------------------------------------------------4
2.2 可行性分析-----------------------------------------------4
3 数据库设计-------------------------------------5
3.1 功效结构图-----------------------------------------------5
3.2 步骤图---------------------------------------------------5
3.3 E-R图 ---------------------------------------------------6
3.4 数据字典-------------------------------------------------7
4 数据库实施-------------------------------------9
5 数据库运行------------------------------------10
5.1 系统登录窗口--------------------------------------------10
5.2 系统管理员窗口------------------------------------------11
5.3 系统老师窗口--------------------------------------------13
5.4 系统学生窗口--------------------------------------------14
6 开发环境--------------------------------------15
7 总结------------------------------------------16
8 参考文件--------------------------------------16
【摘 要】学生学籍管理工作是高等教育中一个极为关键步骤,是整个院校管理关键和基础。面对种类繁多数据和报表,手工处理方法已经极难适应该代化管理要求。所以改变传统管理模式,利用现代化手段进行科学管理,已经成为整个教育系统亟待处理问题。
【关键字】学生学籍管理系统,数据库,教务管理,实体关系图(E-R图),数据字典,数据流图
1系统背景
伴随学校规模不停扩大,专业、班级、学生数量急剧增加,相关学生学籍多种信息量也成倍增加,而现在很多高校学生学籍管理仍停留在复杂人工操作上,反复工作较多,工作量大,效率低,所以,需要开发学生学籍管理系统来提升管理工作效率。学生学籍管理系统在教务方面规范管理、快速查询方面含有较大实用意义。它提升了信息开放性,大大地改善了学生、老师对其最新信息查询正确性。再加上教学体制不停改革,尤其是学分制、选课制展开和深入,使用一款适合教务管理系统将愈加迫切。
2需求分析
2.1功效需求
(1)基础功效需求
经过对各个用户调查,该学生学籍管理系统有以下需求:
1) 系统管理:实现系统管理人员对系统管理,提供添加、修改和删除用户,更改密码功效。
2) 教务管理:实现教务管理人员对系统管理,包含课程安排,成绩审核,学生成绩管理,学生学籍信息及老师信息管理等功效。提供各权限人员对信息录入、修改、删除等操作。
3) 基础信息:实现显示学生和老师和课程基础信息(包含学生学籍信息和学生所修课程信息,老师基础信息)。
4) 选课:实现在一定范围内学生选择课程,选择老师。
5) 查询:包含实现学生查询,老师查询。学生查询包含自己基础信息,自己课程,成绩等,老师查询包含查询自己信息,学生信息,自己所带班学生和学生成绩等。
(2)用户界面需求
学籍管理系统提供给用户界面,此界面要求操作清楚,页面美观,并尽可能为用户查询操作提供方便。教务处能经过此界面完成多种基础信息录入、修改和删除功效,也能经过此界面控制管理整个用户群;老师经过此界面可完成教学班级信息查询和成绩管理功效;学生经过此界面关键完成选课和成绩、个人信息查询等功效。
2.2可行性分析
可行性分析是对系统进行全方面、概要分析。经过调查分析,本系统设计关键有以下三个可行性:
(1)操作可行性
系统操作简单,易于了解,只需经过简单指导,上手较快,教务人员、老师和学生均能进行操作,运行环境要求低。
(2)技术可行性
系统在Windows 7 开发环境下,利用VC++开发工具,并使用SQL Server 作为数据库管理系统,来实现学生学籍管理系统多种功效。SQL Server 属于主从式数据库服务器这也是主从式数据库服务器特点,服务器本身重在数据管理,为用户端应用程序提供一致接口。当然数据库管理系统,开发工具也能够是其它更高版,这么能够提升系统性能,降低它不足。
(3)经济可行性
采取新学生学籍管理系统可替换原系统手工管理工作,降低人工开支,节省资金,而且可大大提升数据信息取得,缩短数据信息处理时间,提升学生信息利用率,使教学质量更进了一个台阶。
3数据库设计
3.1功效结构图
依据系统功效要求,能够将系统分解成多个功效模块来分别设计,功效模块图以下:
学籍管理处
系统管理员
学生
老师商店
修改老师信息
修改老师信息
学生成绩查询
录入学生信息
修改学生信息
修改学生成绩
学生成绩查询
学生成绩录入
查询
选课
学生选课查询
3-1 功效结构图
3.2 步骤图
学生学籍管理系统需求分析关键是对学籍管理信息系统业务步骤进行描述,经过采取步骤图中部分图形来对学生学籍管理活动进行规范化说明,以下图如示:
3-2 系统业务流图
3-3 系统数据流图
3.3 E-R图
概念结构设计通常是使用E-R图对它描述工具进行设计,对需求分析阶段搜集到数据进行分类、组织(聚集),形成实体、实体属性,标识实体码,确定实体之间联络类型,设计E-R图。
系统用户信息 (用户名、口令)
学生信息 (学号、姓名、性别、年纪、所在系)
老师信息 (姓名、密码)
管理员信息 (姓名、密码)
课程信息 (课程号、课程名、时间、地点)
选课统计信息 (学号、学生、课程号、成绩、学分)
全局E-R图以下:
3-4 数据库E-R概念模型
3.4数据字典
学生学籍管理系统各项具体功效实现需要建立相关表格,以下:
3-5 User(用户)表
3-6 Manger表
3-7 Teacher表
3-8 Student表
3-9 SC表
3-10 xuanke(选课)表
4数据库实施
1.连接数据库实现:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录验证页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['username'];
$pwd=$_POST['password'];
$repwd=$_POST['repassword'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次密码输入不一致,请重新输入');</script>";
echo"<script>location='dl.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost:3306","a","19474093") or die('error');}
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
$query="select * from user where user='$name' and pwd='$pwd'";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
if($numrows==0)
{echo "<script>alert('该用户没有注册');</script>";
echo"<script>location='zc.php'</script>";
}else{if($name=="tsoft"&&$pwd=="111"){
echo "<script>alert('恭喜您,登录成功');</script>";
echo"<script>location='kc.php'</script>";
}else{
echo "<script>alert('恭喜您,登录成功');</script>";
echo"<script>location='yh.php'</script>";}
}
?>
</body>
</html>
2用户注册操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>注册页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['username'];
$pwd=$_POST['password'];
$repwd=$_POST['repassword'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次密码输入不一致,请重新输入');</script>";
echo"<script>location='zc.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost:3306","a","19474093");
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
//经过php进行insert操作
$sqlinsert="insert into user(user,pwd) values('{$name}','{$pwd}')";
//添加用户信息到数据库
mysql_query($sqlinsert);
mysql_close($conn);//从结果中拿出一行
echo "<script>alert('注册成功,请登录');</script>";
echo"<script>location='dl.php'</script>";}
?>
</body>
</html>
3.登录操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登录验证页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['username'];
$pwd=$_POST['password'];
$repwd=$_POST['repassword'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次密码输入不一致,请重新输入');</script>";
echo"<script>location='dl.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost:3306","a","19474093") or die('error');}
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
$query="select * from user where user='$name' and pwd='$pwd'";
$result=mysql_query($query);
$numrows=mysql_num_rows($result);
if($numrows==0)
{echo "<script>alert('该用户没有注册');</script>";
echo"<script>location='zc.php'</script>";
}else{if($name=="tsoft"&&$pwd=="111"){
echo "<script>alert('恭喜您,登录成功');</script>";
echo"<script>location='kc.php'</script>";
}else{
echo "<script>alert('恭喜您,登录成功');</script>";
echo"<script>location='yh.php'</script>";}
}
?>
</body>
</html>
4.入库操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>入库验证页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['name'];
$pwd=$_POST['number'];
$repwd=$_POST['renumber'];
//判定数量是否一致
if($pwd!=$repwd){
echo"<script>alert('两次数量输入不一致,请重新输入');</script>";
echo"<script>location='rk.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost:3306","a","19474093");
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
//经过php进行insert操作
$sql="select * from kc where name='$name'";
$result=mysql_query($sql,$conn);
$num=mysql_num_rows($result);
if($num==0){
$sqlinsert="insert into kc(name,num) values('{$name}','{$pwd}')";
//添加用户信息到数据库
mysql_query($sqlinsert);
mysql_close($conn);
echo "<script>alert('入库成功,请查询');</script>";
echo"<script>location='cx.php'</script>";}
else{
$exec="update kc set sl=sl+$pwd where name='$name'";
mysql_query($exec,$conn);
mysql_close($conn);
echo "<script>alert('入库成功,请查询!');</script>";
echo"<script>location='cx.php'</script>";
}
}
?>
</body>
</html>
5.出库操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>出库验证页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['num'];
$pwd=$_POST['sl'];
$repwd=$_POST['resl'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次数量输入不一致,请重新输入');</script>";
echo"<script>location='rk.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost:3306","a","19474093");
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
//经过php进行del操作
$query="select sl from kc where num='$name'";
$num=mysql_query($query,$conn);
$exec="update kc set sl=sl-$pwd where mc='$name'";
mysql_query($exec,$conn);
mysql_close($conn);
echo "<script>alert('出库成功,请查询');</script>";
echo"<script>location='cx.php'</script>";}
echo mysql_error();
?>
</body>
</html>
6.修改操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="file:///D|/shujuku/cx.css" rel="stylesheet" />
<title>查询页面</title>
<style type="text/css">
body{background-image:url(file:///D|/shujuku/images/bj3.jpg)}
body{ font-size:24px;
background-repeat:no-repeat; background-size:cover;
z-index:-1}
</style>
</head>
<body>
<table width="609" height="134" border="1" cellpadding="0" cellspacing="0" bgcolor="#9e7db4" align="center">
<!--表1-->
<form name="myform" method="post" action="<?php echo $_SERVER['file:///D|/shujuku/PHP_SELF']?>">
<!--action="<?php echo $_SERVER['PHP_SELF']?>,在浏览器看源代码结果就是action="/cx.php"-->
<tr>
<td width="605" height="100" bgcolor="#009933"><div align="center"><h1 style=" color:#000;font-size:25px">请输入快递编号</h1><input name="txt_book" type="text" id="txt_book" size="25" />
<input type="submit" name="Submit" value="查询" />
</div></td>
</tr>
<!--表1第一行为表单-->
</form>
<tr valign="top" bgcolor="#ffffff">
<!--表1第二行开始-->
<td height="160"><br />
<table width="572" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#000000">
<!--表2-->
<tr align="center" bgcolor="#00CC66" >
<td width="66" height="90" bgcolor="#00CC66"><h1 style=" color:#000;font-size:20px">快递编号</h1></td>
<td width="167" bgcolor="#00CC66"><h1 style=" color:#000;font-size:20px">类型</h1></td>
</tr>
<?php
$link = mysql_connect("localhost:3306","a","19474093") or die("数据库连接失败".mysql_error());//建立和数据库连接
mysql_select_db("a",$link);//选择数据库
mysql_query("set names utf8");
if (isset($_POST["Submit"])){
$txt_book = $_POST["txt_book"];
$sql = mysql_query("select * from kc where num like '%".trim($txt_book)."%'");
$info = mysql_fetch_object($sql);
if($info){
do{
?>
<tr align="left" bgcolor="#FFFFFF">
<td align="center" style=" font-size:20px; "> <?php echo $info->num;?></td>
<td align="center" style="font-size:20px; "><?php echo $info->type;?></td>
</tr>
<?php
}
while($info = mysql_fetch_object($sql));
mysql_free_result($sql);
mysql_close($link);}else{
//假如检索不存在,则输出对应提醒信息
echo "<div align='center' style='color:#ff0000; font-size:12px'>对不起,你检索快递信息不存在!</div>";}
}
?>
</table></td>
<!--表2结束-->
</tr>
<!--表1第二行结束-->
</table>
</body>
</html>
7.修改密码操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>修改密码页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['name'];
$pwd=$_POST['password'];
$repwd=$_POST['repassword'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次密码输入不一致,请重新输入');</script>";
echo"<script>location='xgmm.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost","a","19474093");
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
//经过php进行insert操作
$sqlinsert="update user set password='{$pwd}' where username='{$name}'";
//添加用户信息到数据库
mysql_query($sqlinsert);
mysql_close($conn);//从结果中拿出一行
echo "<script>alert('修改成功,请重新登录');</script>";
echo"<script>location='dl.php'</script>";}
?>
</body>
</html>
8.注销操作:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">
<html xmlns="">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>修改密码页面</title>
</head>
<body>
<?php
header("content-type:text/html;charset=utf-8");
//开启session
session_start();
//接收表单传输用户名和密码
$name=$_POST['name'];
$pwd=$_POST['password'];
$repwd=$_POST['repassword'];
//判定密码是否一致
if($pwd!=$repwd){
echo"<script>alert('两次密码输入不一致,请重新输入');</script>";
echo"<script>location='xgmm.php'</script>";
}
else{
//经过php连接到mysql数据库
$conn=mysql_connect("localhost","a","19474093");
//选择数据库
mysql_select_db("a",$conn);
//设置用户端和连接字符集
mysql_query("set names utf8");
//经过php进行insert操作
$sqlinsert="update user set password='{$pwd}' where username='{$name}'";
//添加用户信息到数据库
mysql_query($sqlinsert);
mysql_close($conn);//从结果中拿出一行
echo "<script>alert('修改成功,请重新登录');</script>";
echo"<script>location='dl.php'</script>";}
?>
</body>
</html>
5数据库运行
5.1系统登录窗口;
用户必需提供正确登录信息,才能开启系统。在系统登录窗口中,用户需要输入用户名和口令。以下图所表示:
5-1 登录窗口
5.2新用户注册窗口
5-2 新用户注册窗口
5.3密码修改窗口
5-3 密码修改窗口
5.4入库窗口
5-4 入库窗口
5.5出库窗口
5-4 出库窗口
5.6快递查询窗口
5-6 快递查询窗口
5.7关键功效展示
5-7 界面关键功效
6开发及运行环境
开发和运行环境选择会影响到数据库设计,本系统开发和运行环境以下:
开发环境:Windows 7
开发工具:VC++
数据库管理系统:SQL Server
本系统在Windows 7 开发环境下,利用VC++开发工具,并使用SQL Server 作为数据库管理系统,来实现学生学籍管理系统各个模块和它们功效,形成一个立体学籍管理系统。
7总结
经过一个多月设计,学生学籍管理系统基础开发完成,在系统各个模块中表现了它功效,针对高校学生学籍工作方面进行设计,同时该系统也是为了方便于老师和学生部分信息操作,为高校节省了管理成本,提升学校工作效率。该系统界面简单大方,很方便用户操作,同时,也为以后系统扩展留出了足够空间。
在本系统设计过程中,对数据库应用这一门课程有了更深一步了解。我们把课堂上所学理论知识和实践联络起来,在所要开发系统中逐步学会了融会贯通。一样经过对SQL应用,也使我们熟练和巩固了对SQL了解。这么我们对开发系
展开阅读全文