计算机系毕业设计论文参考模板.docx
《计算机系毕业设计论文参考模板.docx》由会员分享,可在线阅读,更多相关《计算机系毕业设计论文参考模板.docx(33页珍藏版)》请在冰点文库上搜索。
计算机系毕业设计论文参考模板
XXXXXXXXXX学院
毕 业 设 计
课题名称:
学生成绩管理系统设计与实现
学生姓名:
明月心
学 号:
0000000000
专 业:
计算机软件应用
班 级:
XXXXXXXXXX
指导教师:
她是好人
二0一六年六月
摘要
该学生成绩管理系统采用jsp,js,servlet和Mysql数据库等工具,在工作平台MyEclipse上开发而成。
该学生成绩管理系统适用于大部分学校对学生成绩的管理,及时更新学生成绩以及其他信息,以及对登录前台系统进行管理的教师的信息进行及时更新,对这些信息进行增、删、改、查操作。
本系统能提高了教务的管理效率,大大地减轻了教师的负担,教师可以随时对学生信息进行管理。
关键字:
JSP、学生成绩管理系统、成绩管理系统后台、mysql
(本文档由明月心收集整理,为大家提供参考资源。
若有任何问题,本人一律不负责解答。
)
Abstract
Theserverofthestudentachievementmanagementsystemusethetoolsofjsp,js,servletandMysqlandsoon,onworkingplatformMyEclipsedevelopmentandmakeitsuccessful.
Thestudentachievementmanagementsystemismainlyusedforallkindsofinformationontheschoolteacherstoeditandinitializationoftheteacher'slogininformationatthesametime;Forstudentsandteachers,curriculum,studentperformancemanagement,aswellastheinitializationofthestudent'slogininformationatthesametime.Studentscanquerythecourseinformationandtheirowninformation.
Thissystemcanimprovetheefficiencyofeducationaladministrationmanagement,greatlyreduceteachers'burden,enablestudentstoquerycourseandownscoreinformationanytimeandanywhere.
Keywords:
JSP,studentperformancemanagement,informationmanagementsystem,mysql.
摘要 II
Abstract III
目录 IV
第一章选题的目的和意义 1
1.1项目开发的背景 1
1.2项目概述 1
1.3设计目的与意义 1
第二章系统的开发技术及主要架构 2
2.1开发技术的选择 2
2.2项目开发的工具 2
2.3数据库的连接 3
第三章 可行性研究 4
3.1经济可行性分析 4
3.2操作可行性分析 4
3.3技术可行性分析 4
3.4可行性综合分析 4
第四章 需求分析 5
4.1功能分析 5
4.2系统数据流程图 5
第五章网站总体设计 6
5.1登录流程 6
5.2系统功能结构图 7
第六章数据库设计 8
6.1系统实体E-R图 8
6.2实体联系图 9
6.3逻辑结构设计 10
第七章系统主要功能模块详细设计 12
7.1前台用户登录 12
7.2通过身份登录后的前台管理界面 13
7.3制造者相关信息界面 23
7.4后台用户登录 23
7.5通过验证登录的后台界面 25
第八章系统测试 30
8.1测试原则 30
8.2测试用例 30
8.3测试小结 32
第九章总结 33
致谢 34
参考文献 35
第一章选题的目的和意义
1.1项目开发的背景
几年前,各个学校对于学生成绩的管理还是停留在运用手工操作,随着各个学校的规模不断壮大,学生人数逐年增加。
关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。
但人工管理又有着许多缺陷,比如:
效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。
所以我想借本次毕业设计之际,开发一个适用于大部分学校的学生成绩管理系统,方便学校对各类信息的管理,减轻学校的负担。
1.2项目概述
本管理系统主要内容是学生信息管理,以及后台教师管理人员信息管理。
全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、参考文献、附录等。
1.3设计目的与意义
本系统是将现代化的计算机技术和传统的教学、教务工作相结合设计完成的系统,实现了工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:
(1)系统具有较强的实用性、可靠性和适用性
(2)对各个数据的输入进行了检测,大大减少了异常的发生。
(3)能够按照用户输入的关键字进行查询
(4)注意到了数据的安全性。
(5)简化了用户的操作过程,尽量减少用户的工作量
第二章系统的开发技术及主要架构
2.1开发技术的选择
由于JAVA面向对象,性能优异,跨平台,易移植,易掌握等特点,尤其是在性能和跨平台性两个方面非常显著。
因此,最后我选择采用JAVA技术开发这个系统。
2.2项目开发的工具
这个web系统的服务器采用开源的Tomcat7.0,数据库采用开源的MySQL。
在MyEclipse工作平台上使用Java、JavaScript与JSP技术,采用MVC模式开发。
2.2.1 MyEclipe简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench),简称MyEclipse是对EclipseIDE的扩展,利用它我们可以很方便地使用数据库和JavaEE开发和发布系统,提高了工作效率。
2.2.2 MySql简介
MySQL名字的来历是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。
MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
2.2.3 Tomcat简介
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
2.3数据库的连接
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供一个标准的API。
据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,本系统采用JDBC连接数据库。
第三章 可行性研究
3.1经济可行性分析
本系统开发要耗去一定的时间,而所用的开发工具和软件基本是免费的。
由于系统能够在未来一段时期内稳定地发挥作用,因此该系统对于管理学生成绩都有很大的帮助。
由此可见,开发此系统在经济上是完全可行的。
3.2操作可行性分析
如今的计算机已经进入各个家庭,硬件成本不断的下降,计算机价格不断降低。
该系统具有友好的用户界面、良好的安全性设置等,使用户可以很快地掌握系统的操作方法,因此在操作上是可行的。
3.3技术可行性分析
从目前IT业内使用比较广泛的数据库和管理软件来看,使用比较简单的中小型数据库Mysql和JSP开发该系统非常简单实用。
该系统能为用户提供非常友好、操作简单的用户界面。
因此,从技术可行性分析来看是可行的。
3.4可行性综合分析
利用计算机实现学生管理系统势在必行。
通过对当前的开发背景和上述几个可行性分析可以发现开发这个系统是可行的。
本学生成绩管理向着规范化、简单化、有效化的方向发展。
第四章 需求分析
4.1功能分析
经过前期的深入调查和研究,总结出该系统需要完成的具体功能,分析如下:
前台学生信息管理:
能够实现登录的教师用户对学生信息添加,删除,修改和查询。
初始化教师登录信息:
用户ID为教师编号,初始密码为123456。
后台教师信息管理:
能够实现对能够登录前台的教师的信息进行添加,删除,修改和查询操作,管理员ID为1000,初始密码为123456。
以上所有用户在登录后都不可以修改自己的密码。
4.2系统数据流程图
由以上的功能分析,得出如图4-1的系统数据流程图,该数据流程图直观地反映了该系统的整体框架和设计要求。
图4-1数据流程图
第五章网站总体设计
用户登录时,系统先判断用户名是否存在,密码和用户类型是否正确。
如果正确,则进入用户首页,进行相关的管理操作。
如果错误,则用户要重新输入用户名,密码和选择用户类型。
用户登录后根据用户类型,从而拥有不同权限。
登录流程图和系统功能结构图如下所示。
5.1登录流程
图5-1登录流程图
5.2系统功能结构图
图5-2系统功能结构图
第六章数据库设计
6.1系统实体E-R图
图6-1学生实体E-R图
图6-2教师管理实体E-R图
6.2实体联系图
从上面的需求分析和总体设计得出教师管理员、学生以及系统各大模块之间的联系图如下图所示:
图6-6系统总体联系图
6.3逻辑结构设计
根据系统的功能描述,设计要用的数据表。
因为这些表之间相互关联,存储着系统的相关数据,所以在设计数据表的过程中,要求设计一个表只存储一个实体或对象的相关信息,不同实体存储在不同的表中。
本系统需要设计的数据库表如以下各图。
表6-7学生表student
字段
字段名
类型
可否为空
主键
stu_id
学号
int
否
是
stu_password
初始化密
码
varchar
是
否
stu_name
姓名
varchar
是
否
stu_adr
家庭住址
varchar
是
否
stu_class
班级
varchar
是
否
stu_phone
联系电话
varchar
是
否
stu_teacher
班主任姓名
varchar
是
否
stu_zhuanye
学生专业
varchar
是
否
stu_yuwen
语文
varchar
是
否
stu_shuxue
数学
varchar
是
否
stu_yingyu
英语
varchar
是
否
stu_computer
计算机基础
varchar
是
否
stu_yingjie
是否应届生
varchar
是
否
stu_date
入学日期
varchar
是
否
表6-8教师管理员表stuadmin
字段
字段名
类型
可否为空
主键
adm_id
ID号码
int
否
是
adm_name
教师昵称
varchar
是
否
adm_password
密码
varchar
是
否
honist_name
真实姓名
varchar
是
否
phone
联系电话
varchar
是
否
adm_root
是否超级管理员
varchar
是
否
第七章系统主要功能模块详细设计
7.1前台用户登录
前台用户登录需要验证用户的用户名,密码和身份。
如果登录成功,页面就会跳转到相关页面,如果登录失败登录界面就会显示提示信息,登录界面如下
图7-1登录界面
前台用户登录界面核心代码如下:
<%
Stringadm_id=request.getParameter("adm_id");
if(adm_id.equals("")){
out.print("");
}
Stringadm_password=request.getParameter("adm_password");
if(adm_password.equals("")){
out.print("");
}
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost/students","root","root");
Statementstmt=conn.createStatement();
Stringsql="select*fromstuadminwhereadm_id='"+adm_id+"'andadm_password='"+adm_password+"'";
ResultSetrs=stmt.executeQuery(sql);
if(rs.isAfterLast()==rs.isBeforeFirst()){
out.print("");
}else{
session.setAttribute("check","yes");
session.setAttribute("adm_id",request.getParameter("adm_id"));
response.sendRedirect("main.jsp");
}
rs.close();
stmt.close();
conn.close();
%>
7.2通过身份登录后的前台管理界面
登录成功之后,跳转至前台主页,其界面如下所示:
7.2.1通过身份登录后的前台管理界面
图7-2成绩管理前台首页
7.2.2学生信息添删改查模块
成绩管理有四大分支模块:
学生信息添加,学生信息显示,学生信息修改和学生信息查询,其中学生信息显示界面包括修改窗口链接以及删除功能,如下所示:
(1)信息显示
图7-3学生信息显示界面
(2)学生信息添加
图7-4信息添加界面
图7-5学生信息添加界面
学生信息添加界面核心功能代码如下:
<%
request.setCharacterEncoding("utf-8");
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost/students","root","root");
Statementstmt=conn.createStatement();
Stringstu_name=request.getParameter("stu_name");
Stringstu_class=request.getParameter("stu_class");
Stringstu_adr=request.getParameter("stu_adr");
Stringstu_phone=request.getParameter("stu_phone");
Stringstu_teacher=request.getParameter("stu_teacher");
Stringstu_yuwen=request.getParameter("stu_yuwen");
Stringstu_shuxue=request.getParameter("stu_shuxue");
Stringstu_yingyu=request.getParameter("stu_yingyu");
Stringstu_computer=request.getParameter("stu_computer");
Stringstu_zhuanye=request.getParameter("stu_zhuanye");
Stringstu_date=request.getParameter("stu_date");
Stringstu_yingjie=request.getParameter("stu_yingjie");
if(stu_yingjie==null){
stu_yingjie="否";
}
stmt.executeUpdate("insertintostudent(stu_name,stu_class,stu_adr,stu_phone,stu_teacher,stu_yuwen,stu_shuxue,stu_yingyu,stu_computer,stu_zhuanye,stu_date,stu_yingjie)values('"+stu_name+"','"+stu_class+"','"+stu_adr+"','"+stu_phone+"','"+stu_teacher+"','"+stu_yuwen+"','"+stu_shuxue+"','"+stu_yingyu+"','"+stu_computer+"','"+stu_zhuanye+"','"+stu_date+"','"+stu_yingjie+"')");
out.print("");
conn.close();
stmt.close();
%>
(2)学生信息修改以及删除
图7-6学生信息添加界面
图7-7 学生信息修改成功提示界面
图7-8 学生信息修改成功提示界面
学生信息修改界面核心功能代码如下:
<%
request.setCharacterEncoding("utf-8");
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost/students","root","root");
Statementstmt=conn.createStatement();
Stringstu_name=request.getParameter("stu_name");
Stringstu_class=request.getParameter("stu_class");
Stringstu_adr=request.getParameter("stu_adr");
Stringstu_phone=request.getParameter("stu_phone");
Stringstu_teacher=request.getParameter("stu_teacher");
Stringstu_yuwen=request.getParameter("stu_yuwen");
Stringstu_shuxue=request.getParameter("stu_shuxue");
Stringstu_yingyu=request.getParameter("stu_yingyu");
Stringstu_computer=request.getParameter("stu_computer");
Stringstu_zhuanye=request.getParameter("stu_zhuanye");
Stringstu_date=request.getParameter("stu_date");
Stringstu_yingjie=request.getParameter("stu_yingjie");
if(stu_yingjie==null){
stu_yingjie="否";
}
stmt.executeUpdate("updatestudentsetstu_name='"+stu_name+"',stu_class='"+stu_class+"',stu_adr='"+stu_adr+"',stu_phone='"+stu_phone+"',stu_teacher='"+stu_teacher+"',stu_yuwen='"+stu_yuwen+"',stu_shuxue='"+stu_shuxue+"',stu_yingyu='"+stu_yingyu+"',stu_computer='"+stu_computer+"',stu_zhuanye='"+stu_zhuanye+"',stu_date='"+stu_date+"',stu_yingjie='"+stu_yingjie+"'wherestu_id="+request.getParameter("stu_id")+"");
out.print("");
conn.close();
stmt.close();
%>
删除功能代码如下:
<%
Class.forName("com.mysql.jdbc.Driver");
Connectionconn=DriverManager.getConnection("jdbc:
mysql:
//localhost/students","root","root");
Statementstmt=conn.createStatement();
Stringsql="deletefromstudentwhe