计科1201学生简历管理系统课程设计.docx
- 文档编号:28867159
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:25
- 大小:1.50MB
计科1201学生简历管理系统课程设计.docx
《计科1201学生简历管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《计科1201学生简历管理系统课程设计.docx(25页珍藏版)》请在冰豆网上搜索。
计科1201学生简历管理系统课程设计
序言 :
随着学校的规模不断过大,学生数量急剧增加,有关学生的各种信息量也成倍增加。
面对庞大的信息量需要有学生信息管理系统来提高学生管理工作的效率。
通过这样的系统可以做到信息的规范化管理、科学性统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。
本系统主要应用于学校学生简历管理,总体任务是实现学生信息、关系的系统化、规范化和自动化,其主要任务是计算学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到了学生选课、针对这些要求设计了学生简历管理系统。
一、需求分析
1、可行性分析
(1)技术可行性
学院有一批有实践能力的学生,可以解决技术上的主要问题,另外,对学生本身管理工作的基本流程比较熟悉,便于系统的初步分析。
同时,现在的网络资源丰富,可以充分利用大量的课外资源,以解决设计中的主要的问题,既为学院的管理工作提供方便,又在一定程度上提高自己的知识水平和实践能力,对实际的学习也能起到巩固的作用。
(2) .经济可行性
由于,该系统可以由学院学生来完成,所以在开发成本上应该是比较低的,另外,在该系统的实际应用上,节省了大量的人力和财力,经济上是可行的。
2、综合功能需求分析
结合本校对于学生管理系统的实际工作要求,本系统开发主要的功能需求描述如下:
(1)界面要求:
界面简洁美观、操作简单明了、可视化程度高。
(2)权限管理要求:
设有管理员、教师和学生三个角色。
管理员拥有该系统中所有的操作权限。
教师具有基本部分功能的查询,以及对学生成绩以及综合教育学分和综合测评相关信息的录入、修改、查询和删除等权限。
学生只具备该系统中大部分功能的查询权限。
(3)学生成绩的管理:
主要包括学生成绩的录入、查询、修改、删除等功能。
其中由教师录入授课信息,并将所授班级的各学生的课程成绩录入、修改和删除。
而学生用户只能通过查询功能来查询自己的成绩。
对于学生的各科成绩,在系统进行生成以后,教师可以对成绩进行打印,以方便对于此数据的使用。
(4)学生档案管理:
由学生录入学生的基本档案信息,并可以查询和修改该信息。
同时,学生信息的删除,由管理员来实现。
由于原来学生档案信息的管理,主要通过表格进行,因此系统需要提供已有档案数据的导入导出功能。
(5)综合教育学分管理:
指导员老师负责对学生综合教育学分的添加、修改、删除等操作,并能实现表格的整体导入导出和打印功能。
学分管理可将学生在各时期参加的比赛活动以及所获奖项记录下来,并予以学分奖励为将来学生更好的就业提供充分的依据。
(6)综合测评信息的管理:
由学生录入学生的基本档案信息,并可以查询和修改该信息。
同时,该部分管理还包括学生信息的删除,由管理员来实现。
删除后的学生信息暂时放到注销信息表中,若撤销删除操作,可以在注销表中还原。
由于原来学生档案信息的管理主要通过表格进行,因此系统需要提供已有档案数据的导入功能。
3、非功能性需求分析
系统具有如下设计原则:
(1)实用、易用原则:
系统实用性强,切实符合学生信息管理人员及相关工作的要求,同时能够满足不同水平的教学管理人员要求,操作简单、维护方便。
(2)稳定性、安全性原则:
本系统采用目前先进、流行、成熟而又稳定的核心技术及合理的数据库管理系统,既保证了系统的稳定性。
同时针对不同的人员实现不同的管理权限,具有安全防范措施,从硬件、软件以及学生信息管理等方面严格管理,杜绝非法入侵,以保证系统能够长期稳定的不间断运行。
二、用例图
图
(1)学生信息管理用例图
图
(2)用户管理用例图
图(3)教师查询用例图
图(4)学生查询用例图
三、建立系统类模型
1、系统包图
将整个教务管理系统划分为人员信息、接口和事务3个包,分别控制不同的应用。
2、类图
根据系统划分的三类包图,分别讨论人员信息包,接口包和事务包中的类图。
其中,人员信息包包含学生,教师和教务员三个类;接口包包含系统设置、用户登录、教务员管理模块、教师管理模块、学生管理模块五个接口模块类;事务包包含教师成绩管理、用户登录、教务员系统管理、学生选课管理、学生成绩管理、学生信息管理六个事务类,相应的类图如下各图。
(1)人员信息包内的类图
(2)接口包内的类图
(3)事务包内的类图
四、状态图
(1)学生生命周期状态图
(2)教师生命周期状态图
(3)教务员生命周期状态图
(4)用户登录状态图
(5)学生成绩管理生命周期状态图
(6)教师成绩管理生命周期状态图
(7)教务员管理模块生命周期状态图
五、建立系统动态模型
1、活动图
本系统中主要的活动图有如下几个:
学生成绩查询活动图、教务员修改学生资料图、
学生选课活动图以及教师成绩录入活动图,对各活动图的描述如下:
(1)学生成绩查询活动图
(2)教务员信息修改活动图
(3)学生选课活动图
(4)教师成绩录入活动图
2、时序图
本系统中主要包括新生注册时序图、学生选课时序图和教师成绩录入时序图,对时序图的描述如下:
(1)新生注册时序图
(2)学生选课时序图
(3)教师成绩录入时序图
六、实现的具体细节
1.数据库的连接
编写一个数据库连接的DataBaseConnection.java文件,用来访问SQLServer数据库,从而对数据库做相应的操作。
其部分代码如下:
packagedatabase;
importjava.sql.*;
publicclassDataBaseConnection{
publicstaticConnectiongetConnection()
{
Connectioncon=null;
StringCLASSFORNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";
StringSERVANDDB="jdbc:
sqlserver:
//127.0.0.1:
1433;DatabaseName=stuifctl";
StringUSER="sa";
StringPWD="123";
try
{
Class.forName(CLASSFORNAME);
con=DriverManager.getConnection(SERVANDDB,USER,PWD);
}
2.系统登录页面的实现
由于系统分学生和管理员两类,估登录时需要验证用户权限并发往不同的页面。
其部分代码如下:
<%
Stringname=request.getParameter("name");
Stringpassword=request.getParameter("password");
StringstrSelect=(String)request.getParameter("select");
Connectioncon;
con=DataBaseConnection.getConnection();
if(strSelect!
=null&&strSelect.equals("student")){
Statementstatement=con.createStatement();
StringisCorrect="select*fromtb_stuwherestuid='"+name+"'andstupwd='"+password+"'";
ResultSetresult=statement.executeQuery(isCorrect);
if(result.next())
{
session.setAttribute("name",name);
session.setAttribute("stupwd",password);
response.sendRedirect("/stuinfo/stu/index.jsp");
result.close();
statement.close();
con.close();
}
else{
out.println("
out.println("alert('账号或密码错误')");
Objectlocation;
response.sendRedirect("\\index.jsp");
out.println("");
result.close();
statement.close();
con.close();}
}
else
if(strSelect!
=null&&strSelect.equals("admin")){
Statementstatement=con.createStatement();
StringisCorrect="select*fromtb_adminwhereadminid='"+name+"'andadminpwd='"+password+"'";
ResultSetresult=statement.executeQuery(isCorrect);
if(result.next())
{
session.setAttribute("name",name);
session.setAttribute("adminpwd",password);
response.sendRedirect("/stuinfo/adm/index.jsp");
result.close();
statement.close();
con.close();
}
else{
out.println("
out.println("alert('管理员账号或密码错误')");
Objectlocation;
response.sendRedirect("\\index.jsp");
out.println("");
result.close();
statement.close();
con.close();}
}
%>
系统权限检查的实现
由于系统的用户不同权限不同,需要验证用户是否存在,并对用户退出系统是做出相应响应。
验证码如下:
<%
if((session.getAttribute("name")==null)||(session.getAttribute("name").equals("false")))
{%>
alert("非法登录");
location.href="/stuinfo/index.jsp";
<%}%>
用户退出时需要清空name的值,杜绝可能存在的隐患,代码如下所述:
<%
if((session.getAttribute("name")!
=null)||(session.getAttribute("name").equals("ture")))
{
session.removeAttribute("name");
session.invalidate();
response.sendRedirect("/stuinfo/index.jsp");
}
%>
系统添加功能的实现
系统添加功能如学生个人信息的添加。
学生个人信息调用相应的.servlet,从表单中获得相应的信息,再通过连接数据库对数据做相应的操作。
其部分代码如下所示。
try{
//获得请求的参数
Stringstuid=request.getParameter("stuid");
Stringstuname=request.getParameter("stuname");
Stringsex=request.getParameter("sex");
Stringcsny=request.getParameter("csny");
Stringzzmm=request.getParameter("zzmm");
Stringtel=request.getParameter("tel");
Stringsid=request.getParameter("sid");
Stringcollege=request.getParameter("college");
Stringmajor=request.getParameter("major");
Stringgrade=request.getParameter("grade");
Stringxz=request.getParameter("xz");
Stringroom=request.getParameter("room");
Stringbylb=request.getParameter("bylb");
Stringbschool=request.getParameter("bschool");
Stringpname=request.getParameter("pname");
Stringptel=request.getParameter("ptel");
Stringaddress=request.getParameter("address");
Stringjcqk=request.getParameter("jcqk");
Stringrzqk=request.getParameter("rzqk");
Stringqgzx=request.getParameter("qgzx");
this.con=DataBaseConnection.getConnection();//连接数据库
Statementstmt=con.createStatement();
//执行数据库的更新,把数据写入数据库
stmt.executeUpdate("insertintotb_stuinfovalues('"+stuid+"','"+stuname+"','"+sex+"','"+csny+"','"+zzmm+"',"+
"'"+tel+"','"+sid+"','"+college+"','"+major+"','"+grade+"','"+xz+"','"+room+"','"+bylb+"','"+bschool+"',"+
"'"+pname+"','"+ptel+"','"+address+"','"+jcqk+"','"+rzqk+"','"+qgzx+"')");
stmt.close();
con.close();
}catch(Exceptione)
{
e.printStackTrace();
}
//发往相应的页面
RequestDispatcherrequestDispatcher=request.getRequestDispatcher("/adm/index.jsp");
requestDispatcher.forward(request,response);
}
系统查询功能的实现
系统查询功能的实现,通过学号来识别不同的学生,估部分代码如下所述:
publicStuinfogetStuinfo(Stringstuid)throwsException
{
Statementstmt=con.createStatement();
ResultSetrst=stmt.executeQuery("select*fromtb_stuinfowherestuid='"+stuid+"'");
Stuinfostuinfo=null;
while(rst.next())
{
stuinfo=newStuinfo();
stuinfo.setStuid(rst.getString("stuid"));
stuinfo.setSid(rst.getString("sid"));
stuinfo.setStuname(rst.getString("stuname"));
stuinfo.setSex(rst.getString("sex"));
stuinfo.setCsny(rst.getString("csny"));
stuinfo.setZzmm(rst.getString("zzmm"));
stuinfo.setGrade(rst.getString("grade"));
stuinfo.setMajor(rst.getString("major"));
stuinfo.setCollege(rst.getString("college"));
stuinfo.setXz(rst.getString("xz"));
stuinfo.setTel(rst.getString("tel"));
stuinfo.setRoom(rst.getString("room"));
stuinfo.setBylb(rst.getString("bylb"));
stuinfo.setBschool(rst.getString("bschool"));
stuinfo.setAddress(rst.getString("address"));
stuinfo.setPname(rst.getString("pname"));
stuinfo.setPtel(rst.getString("ptel"));
stuinfo.setJcqk(rst.getString("jcqk"));
stuinfo.setRzqk(rst.getString("rzqk"));
stuinfo.setQgzx(rst.getString("qgzx"));
}
系统修改功能的实现
系统修改功能的实现如学生成绩的修改。
学生成绩的修改通过选择学生不同的学科来修改成绩的,其部分代码如下所述:
publicvoidAltScore(Scorescore)throwsException
{
PreparedStatementpstmt=con.prepareStatement("updatetb_scoresetstuid=?
stuname=?
college=?
major=?
grade=?
term=?
courseid=?
"+
"cname=?
credit=?
xdxz=?
score=?
qcredit=?
jd=?
xfjd=?
");
pstmt.setString(1,score.getStuid());
pstmt.setString(2,trans(score.getStuname()));
pstmt.setString(3,trans(score.getCollege()));
pstmt.setString(4,trans(score.getMajor()));
pstmt.setString(5,trans(score.getGrade()));
pstmt.setString(6,trans(score.getTerm()));
pstmt.setString(7,score.getCourseid());
pstmt.setString(8,trans(score.getCname()));
pstmt.setString(9,score.getCredit());
pstmt.setString(10,trans(score.getXdxz()));
pstmt.setString(11,trans(score.getScore()));
pstmt.setString(12,score.getQcredit());
pstmt.setString(13,score.getJd());
pstmt.setString(14,score.getXfjd());
pstmt.execute();
}
系统删除功能的实现
系统删除功能的实现如学生成绩的删除。
学生成绩的删除,是先通过查询页面将学生的成绩信息查出来,在通过获得学生的学号,来删除学生的相应的成绩信息,此功能只有管理员才有操作权限。
部分代码如下所述:
publicvoiddeleteScore(Stringstuid)throwsException
{
Statementstmt=con.createStatement();
stmt.execute("deletefromtb_scorewherestuid='"+stuid+"'");
}
总结:
通过实践使我进一步掌握设计的有关知识,提高了编程的能力,加深了对它的相关知识的理解。
通过自己去查阅资料、阅读程序及动手编写程序提高了我们的设计能力,使我在设计上有一定飞跃。
从选题到定稿,从理论到实践遇到的问题数不胜数。
但可以从中学到很多很多东西,不仅可以巩固了以前所学过的知识,同时积累了实践经验。
除此之外,我还学到了很多在书本上所没有学到过的知识。
通过这实践使我再次懂得了理论与实际相结合的重要性,只有理论知识是远不够的,只有把所学的理论知识与实践相结合,从理论中得出结论,从实践中得到验证,才能真正提高自己的实际动手能力和独立思考的能力。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 1201 学生 简历 管理 系统 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)