学生信用档案管理信息系统.docx
《学生信用档案管理信息系统.docx》由会员分享,可在线阅读,更多相关《学生信用档案管理信息系统.docx(28页珍藏版)》请在冰豆网上搜索。
学生信用档案管理信息系统
毕业设计
题目:
学生信用档案管理信息系统
系别:
信息处理与控制工程系
专业:
计算机应用专业
班级:
姓名:
指导教师:
摘要
本系统是以当前流行的Browser/Server(浏览器/服务器)结构和JSP语言及SQLSEVER数据库和TOMCAT作为服务器开发的学生信息信用档案管理系统。
本系统全面、真实地记录学生在校就读期间的各方面表现,使学生管理工作负责人、辅导员、班主任、学生家长能及时、全面地了解学生的成长轨迹;建立了一个与学生互动的信息平台(Email形式),以了解学生的需求、意见,有效地指导学生管理职业生涯;相关企业可以发布信息,为相关企业提供了毕业生的信息查询。
本系统还便于学院学生管理信息化。
关键字:
JSP、JAVA、SQLSEVER、JAVABEAN
Abstract
ThissystemiswithpresentandpopularBrowser/Server(browser/theserver)StructureandJSPlanguageandSQLSEVERdatabaseandasstudentmessagecreditfileadministrativesystemthatserverdevelopTOMCAT.Systemthiswritedownstudentdifferentfieldsattimewhentheschoolstudiesinbehaveoverall,true,makestudentmanagementdirector,counsellor,formmaster,parentsofstudentcanfindoutaboutstudents'growthorbitintime,inanall-roundway;Hassetupainformationplatforminteractingwithstudent(Email),inordertounderstandstudents'demand,suggestion,instructstudentshowtomanagethecareereffectively;Relevantenterprisescanissueinformation,hasofferedthegraduate'sinformationinquiryforrelevantenterprise.Thissystemisstillconvenientforinstitutestudenttomanagetheinformationization.Thissystemisstillconvenientforinstitutestudenttomanagetheinformationization.
Keywords:
JSP、JAVA、SQLSEVER、JAVABEAN
目录
摘要2
目录3
第1章概述4
第2章总体设计5
2.1.需求5
2.2.选择的软件解决方案,简单介绍优点及软件学院要求5
2.3.系统中的模块构成、分工、关系、主控模块(要求界面)5
2.3.1登陆模块5
2.3.2主控模块(主界面)5
2.3.3学生成绩管理模块5
2.3.4学生信息查询模块5
2.3.5密码管理模块5
2.3.6学生信息互动模块5
2.3.7注销模块5
2.3.8授权管理模块5
2.4.具体系统功能需求描述6
2.5.数据库设计ER图7
2.5.1ER图7
2.5.2数据库7
2.6.影响性能12
2.7.系统构架12
第3章登陆模块的开发13
3.1易登陆流程13
3.2登陆系统总体构架15
3.3班主任班级课程录入功能16
3.4模块的主要函数构架20
第4章遇到的问题及解决方法21
结束语22
致谢22
参考文献23
附录24
第1章概述
根据软件学院的需求,为其开发了学生信息信用档案管理系统。
该系统是针对学生就业、学校管理和企业聘用毕业生的现状与问题,充分利用互联网方便、快捷、高效的特点,给学生,学校,企业三方提供了一个信息交流的平台。
学校能够通过该系统全面记录学生在校的表现轨迹,同时,通过学生的表现可对其进行就业指导和规划。
企业能够通过该系统真实、全面地了解学生。
本小组成员经过几个月的努力,根据软件学院的需求,开发完毕学生信息信用档案管理系统。
该系统的功能符合用户需求,能够完成学生信息的输入、修改、查询,用户授权,留言信息发布,成绩管理,密码管理等功能。
在此次系统的开发过程中,我主要负责登陆,班主任模块(部分)的设计工作,以及部分后台数据库的设计。
本系统采用JSP开发,后台数据库使用SQLServer2000,调试环境为ApacheTomcat5.0。
本系统是Browser/Server(浏览器/服务器)结构,系统软件仅在服务器上安装,由于Java语言能够在任何操作系统上运行,所以我们的这个管理信息系统可以在不同的操作系统如windows2000/me/9x,unix下正常使用,具有较强的移植性。
第2章总体设计
2.1.需求
业务:
全面记录学生在校的表现轨迹,让企业了解学生;
通过学生的表现可对其进行就业指导和规划;
真实有效地记录学生在校的表现,包括各个方面;
提供给企业全方位的查询毕业生的方方面面的信息;
便于学院学生管理信息化。
2.2.选择的软件解决方案,简单介绍优点及软件学院要求
本系统是以Browser/Server(浏览器/服务器)结构和JSP语言及SQLServer2000数据库和ApacheTomcat5.0作为服务器开发的学生信用档案管理信息系统。
2.3.系统中的模块构成、分工、关系、主控模块(要求界面)
2.3.1登陆模块
2.3.2主控模块(主界面)
2.3.3学生成绩管理模块
2.3.4学生信息查询模块
2.3.5密码管理模块
2.3.6学生信息互动模块
2.3.7注销模块
2.3.8授权管理模块
模块关系图
图1模块关系图
2.4.具体系统功能需求描述
2.4.1登陆模块
用户必须选择一个有效身份,如教师或学生、学生家长等,然后填入相应的学号、密码或者教师姓名、密码。
该功能是确认用户身份及判断其权限的重要部分。
2.4.2主控模块
该模块是用户通过登陆密码及权限判断以后,根据用户的权限显示出其可以拥有的操作。
如:
成绩查询,修改密码,上传成绩等操作。
下面有截图显示。
2.4.3学生成绩管理模块
该模块主要是实现以下功能:
教师可以通过该模块给所开课班级录入该班级所有学生本门课程的学习成绩。
其他用户可以查询权限允许内的学生的成绩。
如:
学生可以查询本人的成绩,班主任可以查询所管理班级的所有学生的成绩。
教辅人员可以查询所有学生的成绩等。
2.4.4学生信息查询模块
所有用户可以查询权限允许内的学生的基本信息以及其他信息。
如:
企业可以查询所有学生的信息,学生可以查询自己的信息,辅导员可以查询本专业所有学生的信息等。
2.4.5密码管理模块
系统提供给各个用户登陆密码以及修改密码的权限,以提高系统的安全可靠性,密码部分完全由最高控制员管理即DBA管理;可自行生成密码,更新密码等。
2.4.6学生信息互动模块
允许用户进行留言,用来反馈信息或者提出意见等。
如:
教辅人员可以通过本系统发布首页的院内通知,进行相关的信息留言操作。
2.4.7注销模块
在用户退出本系统时进行注销操作。
2.4.8授权管理模块
高级用户可以给下级用户进行授权操作。
如:
院领导可以对教师和教辅人员进行授权管理;总支书记可以通过本系统对班主任和辅导员进行授权管理;
2.5.数据库设计ER图
2.5.1ER图
数据库是现代信息管理系统等计算机系统的基础。
对后台数据库的设计是基础的也很重要的环节,本系统以后功能的实现将依赖于我们所建立的数据库,它对整个系统的性能有着很大的影响。
由于我们是第一次自己设计数据库,所以还有很多地方考虑不到,数据库设计不是很理想,导致其后的开发,模块组合时遇到很多困难。
根据对用户需求以及本系统各模块的分析,我们得到了用ER图(见图4)描述的数据库概念模型。
图2ER图
2.5.2数据库
考虑到本系统是应用于网络环境中,并根据该系统的规模,以及上面分析得到的系统的ER图,我们只建立了一个数据库stuinf,并设置数据源为Design。
在此数据库的基础上建立起如下一些主要数据表:
(1)学生基本信息表(7)成绩表
(2)学生其他信息表(8)课程表
(3)家长表(9)奖惩情况表
(4)教师表(10)政治素质表
(5)权限表(11)留言表
(6)班级表(12)通知表
数据库中主要数据表的结构如下:
注:
“允许空”列中,0表示不能为空,1表示可以为空。
1.学生基本信息表
列名
数据类型
长度
允许空
学号
varchar
10
0
姓名
varchar
20
0
密码
varchar
10
0
曾用名
varchar
20
1
出生年月
varchar
10
0
性别
bit
1
0
民族
varchar
10
0
籍贯
varchar
10
0
政治面貌
varchar
10
0
婚姻状况
bit
1
0
身体状况
varchar
10
1
身份证号码
varchar
18
0
身高
float
8
0
体重
float
8
0
入学年份
varchar
4
0
入学方式
varchar
10
0
学习形式
varchar
10
0
培养层次
varchar
20
0
专业类别
varchar
20
0
毕业性质
varchar
20
0
毕业证号
varchar
30
0
毕业时间
varchar
10
0
学位
varchar
20
0
学位证号
varchar
30
0
气质类型
varchar
50
0
专业
varchar
40
0
班级
varchar
20
0
学制
varchar
10
0
宿舍电话
varchar
15
0
家庭住址
varchar
200
0
家庭电话
varchar
15
1
邮编
varchar
6
0
个人特长
varchar
100
1
个人爱好
varchar
100
1
缴费情况1
int
4
1
缴费情况2
int
4
1
缴费情况3
int
4
1
缴费情况4
int
4
1
问题学生
varchar
200
1
2.学生其他信息表
列名
数据类型
长度
允许空
学号
varchar
10
0
道德素养
varchar
200
1
社团活动和社会工作
varchar
200
1
技能培训
varchar
200
1
专业素质技能
varchar
200
1
个人能力
varchar
200
1
个人需求
varchar
200
1
备注
varchar
200
1
3.家长表
列名
数据类型
长度
允许空
学号
varchar
10
0
密码
varchar
10
0
父亲姓名
varchar
20
0
父亲政治面貌
varchar
20
1
父亲单位
varchar
100
1
父亲职务
varchar
20
1
母亲姓名
varchar
20
0
母亲政治面貌
varchar
20
1
母亲单位
varchar
100
1
母亲职务
varchar
20
1
父母联系电话
varchar
15
1
主要社会关系
varchar
200
1
4.教师表
列名
数据类型
长度
允许空
姓名
varchar
20
0
职务
varchar
20
0
密码
varchar
10
0
专业
varchar
20
1
5.权限表
列名
数据类型
长度
允许空
角色
varchar
20
0
密码管理
bit
1
1
查看学生信息
bit
1
1
奖学金排名
bit
1
1
信息互动留言
bit
1
1
查询学生信息
bit
1
1
通知管理
bit
1
1
重修缓考成绩录入
bit
1
1
成绩录入
bit
1
1
班级课程录入
bit
1
1
院领导权限管理
bit
1
1
总支书记权限管理
bit
1
1
添加学生基本信息
bit
1
1
修改学生基本信息
bit
1
1
添加学生其他信息
bit
1
1
修改学生其他信息
bit
1
1
6.班级表
列名
数据类型
长度
允许空
班级名
varchar
20
0
所属专业
varchar
40
0
班主任
varchar
20
0
辅导员
varchar
20
0
人数
tinyint
1
0
7.成绩表
列名
数据类型
长度
允许空
学号
varchar
10
0
课程名
varchar
30
0
考试学期
varchar
20
0
学分
decimal
5
0
平时成绩
decimal
5
0
考试成绩
decimal
5
0
总成绩
decimal
5
0
重修
bit
1
0
缓考
bit
1
0
加分
tinyint
1
0
8.课程表
列名
数据类型
长度
允许空
课程名
varchar
30
0
开课学期
varchar
20
0
开课班级
varchar
20
0
授课老师
varchar
20
0
开课专业
varchar
20
0
课程种类
varchar
8
0
课程性质
varchar
4
0
考试类别
varchar
4
0
课程学分
decimal
5
0
课程课时
tinyint
1
0
学生总数
tinyint
1
0
9.奖惩情况表
列名
数据类型
长度
允许空
学号
varchar
10
1
班级号
varchar
15
1
奖惩时间
varchar
20
0
奖励项目
varchar
30
1
集体奖项
varchar
30
1
惩罚项目
varchar
30
1
10.政治素质表
列名
数据类型
长度
允许空
学号
varchar
10
0
入党申请书
varchar
20
1
党课学习
varchar
20
1
入党积极分子
varchar
20
1
预备党员
varchar
20
1
党员
varchar
20
1
思想汇报
varchar
2000
1
党组织生活
varchar
2000
1
模范带头作用
varchar
2000
1
团组织生活
varchar
2000
1
党团职务
varchar
20
1
11.留言表
列名
数据类型
长度
允许空
时间
varchar
100
0
接受者
varchar
20
0
接受者身份
varchar
20
0
发送者
varchar
20
0
发送者身份
varchar
20
0
留言主题
varchar
100
1
留言内容
varchar
8000
0
留言时间
varchar
100
0
备注
varchar
20
1
12.通知表
列名
数据类型
长度
允许空
时间
varchar
10
0
主题
varchar
100
0
内容
varchar
8000
1
单位
varchar
20
0
点击率
decimal
9
0
2.6.影响性能
2.6.1硬件服务器配置;
2.6.2软件服务器配置;
2.6.3网络质量。
2.7.系统构架
2.7.1物理系统构架:
本系统是建立在当今流行的B/S结构之上,采用传统的客户机/服务器
物理构架,使系统的客户端使用的简单性。
图3服务器与客户端连接图
2.7.2应用系统架构:
在应用系统构架上,采用客户端与应用服务器联系,应用服务器与数据库服务器联系的方式,如下图:
图4三层架构
应用系统的这种构架,确保了数据库的安全性,可靠性,使客户端无法直接与数据库联系,更增强了数据库数据的有效性。
如客户端正在上传文件,由于某些原因而中断,因为先是客户端与服务器打交道,所以数据库不受此影响,否则数据库中的数据可能不正确,或出现异常数据等难以预料错误。
所以客户只与服务器打交道,服务器与数据库打交道.
第3章登陆模块的开发
以下主要介绍我做的登陆模块以及班主任班级课程录入功能:
3.1易登陆流程
首先介绍一下登陆时候的流程,在模块中就是由prelogin.jsp从index.jsp得到一个角色参数role,并且放到session中,(放在session中的值可以从其他的任何页面中调用使用函数
role=(String)session.getAttribute("role");即可得到session中的role值)其中JSP代码如下:
<%
Stringrole=request.getParameter("role");
if(role==null)
role="";
role=codeString(role);
session.setAttribute("role",role);
response.sendRedirect("login.jsp");%>
图5登陆流程图
再到login.jsp页面,根据角色确定BEAN要查的表(学生查学生基本信息表,家长查家长表,教师查教师表)和动态显示登陆页面(即学生显示学号,密码;家长显示子女学号,密码;班主任显示班主任姓名;以次类推。
见图7),其中JSP代码如下:
<%
Stringrole="";
Stringtable="";//表名可以为学生基本信息表,家长表,教师表
Stringshowname="";//登陆页面所显示的文字
role=(String)session.getAttribute("role");
if(role.equals("学生"))
{
table="学生基本信息";
showname="学号";
}
elseif(role.equals("家长"))
{
table="家长";
showname="子女学号";
}
else
{if(role.equals("班主任"))
showname="班主任姓名";
elseif(role.equals("辅导员"))
showname="辅导员姓名";
elseif(role.equals("教师"))
showname="教师姓名";
elseif(role.equals("教辅人员"))
showname="教辅人员姓名";
elseif(role.equals("院领导"))
showname="院领导姓名";
elseif(role.equals("总支书记"))
showname="总支书记姓名";
elseif(role.equals("企业"))
showname="企业登陆ID";
elseif(role.equals("DBA"))
showname="DBA";
table="教师";
}
%>
然后到checkuser.jsp调用一个JavaBean(CheckUser.class)的实例checkuser,。
并使用这个实例的一些功能来完成对用户的判定以及其后框架页面的显示.而这个实例的功能则是实现处理页面并对SQLSEVER数据库的操作.下面的代码是设置Bean的属性值。
setPropertyname="checkuser"property="name"value="<%name%>">
seProperty>
setPropertyname="checkuser"property="password"value="<%=password%>">
setProperty>
setPropertyname="checkuser"property="table"value="<%=table%>">
setProperty>
setPropertyname="checkuser"property="role"value="<%=role%>">
setProperty>
然后调用checkuser.isValid()进行用户合法性判断。
在这个函数中,首先建立与后台SQLServer数据库的连接,然后通过查询数据库表,获取相对应的数据记录,比较输入的帐号、密码是否与数据库中对应的帐号、密码一致。
若一致则表明用户身份合法,登陆成功;否则提示登陆失败,“该帐号不存在”或者“输入密码错误”。
在判断密码用户名正确,确定了用户合法以后,再次连接数据库,根据当前用户角色查权限表(是什么角色就返回哪一行的值),并将这些权限信息加入session中提供给后面的页面使用,代码如下:
Connectioncon=DriverManager.getConnection("jdbc:
odbc:
design","","");
Statementstate=con.createStatement();
Stringcondition="select*from权限表where角色=\'"+role+"\'";
ResultSetrs=state.executeQuery(condition);
while(rs.next())
{
field1=String.valueOf(rs.getInt
(2));