《数据库系统原理课程设计报告》学生学籍管理系统组长:陈娇 20130516091组员:何露 20130516089聂雅瑞 20130516140陈媛媛 20130516137刘心 20130516136系别:计算机与信息科学学院专业班级:计算机科学与技术指导教师:王艳霞2015年6月11日目录1系统背景---------------------------------------4 2需求分析---------------------------------------42.1功能需求-------------------------------------------------42.2可行性分析-----------------------------------------------4 3数据库设计-------------------------------------53.1功能结构图-----------------------------------------------53.2流程图---------------------------------------------------53.3E-R图---------------------------------------------------63.4数据字典-------------------------------------------------7 4数据库实施-------------------------------------9 5数据库运行------------------------------------105.1系统登录窗口--------------------------------------------105.2系统管理员窗口------------------------------------------115.3系统教师窗口--------------------------------------------135.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 2008作为数据库管理系统,来实现学生学籍管理系统的各种功能。
SQL Server 2008属于主从式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口。
当然数据库管理系统,开发工具也可以是其他更高版,这样可以提高系统的性能,降低它的局限性。
(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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>登录验证页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093") or die('error');}//选择数据库mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>注册页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093");//选择数据库mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>登录验证页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093") or die('error');}//选择数据库mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>入库验证页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918091058","19474093");//选择数据库mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>出库验证页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093");//选择数据库mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><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","a0918224524","19474093") or die("数据库连接失败".mysql_error());//建立与数据库连接mysql_select_db("a0918224524",$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" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>修改密码页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093");//选择数据库mysql_select_db("a0918224524",$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>";}></html>8.注销操作:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>修改密码页面</title></head><body><?phpheader("content-type:text/html;charset=utf-8");//开启sessionsession_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","a0918224524","19474093");//选择数据库mysql_select_db("a0918224524",$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系统登录窗口;用户必须提供正确登录信息,才能启动系统。