基于JSP的学生成绩管理系统的开发毕业设计论文.docx

上传人:b****8 文档编号:28156423 上传时间:2023-07-08 格式:DOCX 页数:28 大小:481.64KB
下载 相关 举报
基于JSP的学生成绩管理系统的开发毕业设计论文.docx_第1页
第1页 / 共28页
基于JSP的学生成绩管理系统的开发毕业设计论文.docx_第2页
第2页 / 共28页
基于JSP的学生成绩管理系统的开发毕业设计论文.docx_第3页
第3页 / 共28页
基于JSP的学生成绩管理系统的开发毕业设计论文.docx_第4页
第4页 / 共28页
基于JSP的学生成绩管理系统的开发毕业设计论文.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于JSP的学生成绩管理系统的开发毕业设计论文.docx

《基于JSP的学生成绩管理系统的开发毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于JSP的学生成绩管理系统的开发毕业设计论文.docx(28页珍藏版)》请在冰豆网上搜索。

基于JSP的学生成绩管理系统的开发毕业设计论文.docx

基于JSP的学生成绩管理系统的开发毕业设计论文

 

赣南师范学院学士学位论文

基于JSP的学生成绩管理系统的开发

 

教学学院:

数学与计算机科学学院

内容摘要:

该学生成绩管理系统采用java,jsp,servlet和Mysql数据库等工具,在工作平台MyEclipse上开发而成。

怂阐譜鯪迳導嘯畫長凉。

该学生成绩管理系统主要用于各类高校对教师的管理,同时初始化教师的登录信息;以及教师对学生,课程,学生成绩信息的管理,同时初始化了学生的登录信息。

学生可以查询课程信息和自己的成绩信息。

谚辞調担鈧谄动禪泻類。

本系统能提高了教务的管理效率,大大地减轻了教师的负担,使学生能随时随地查询课程信息和自己的成绩。

关键字:

JavaWeb,学生成绩管理系统,信息管理系统

Abstract:

Theserverofthestudentachievementmanagementsystemusethetoolsofjava,jsp,servletandMysqlandsoon,onworkingplatformMyEclipsedevelopmentandmakeitsuccessful.嘰觐詿缧铴嗫偽純铪锩。

Thestudentachievementmanagementsystemismainlyusedforallkindsofinformationontheuniversityteacherstoeditandinitializationoftheteacher'slogininformationatthesametime;Forstudentsandteachers,curriculum,studentperformancemanagement,aswellastheinitializationofthestudent'slogininformationatthesametime.Studentscanquerythecourseinformationandtheirowninformation.熒绐譏钲鏌觶鷹緇機库。

Thissystemcanimprovetheefficiencyofeducationaladministrationmanagement,greatlyreduceteachers'burden,enablestudentstoquerycourseandownscoreinformationanytimeandanywhere.鶼渍螻偉阅劍鲰腎邏蘞。

Keywords:

JavaWeb,studentperformancemanagement,informationmanagementsystem纣忧蔣氳頑莶驅藥悯骛。

1.选题的目的和意义

1.1项目开发的背景

几年前,各个学校对于学生成绩的管理还是停留在运用手工操作,随着各个学校的规模不断壮大,学生人数逐年增加。

关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。

但人工管理又有着许多缺陷,比如:

效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。

所以我想借本次毕业设计之际,开发一个适用于高校的学生成绩管理系统,方便学校对各类信息的管理,减轻学校的负担。

颖刍莖蛺饽亿顿裊赔泷。

1.2项目概述

本管理系统主要内容是学生信息管理,课程信息管理,学生成绩管理和教师信息管理,管理员添加教师记录,初始化教师的登录信息,教师添加学生记录,初始化学生登录信息等等。

全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、参考文献、附录等。

濫驂膽閉驟羥闈詔寢賻。

1.3设计目的与意义

本系统是将现代化的计算机技术和传统的教学、教务工作相结合设计完成的系统,实现了工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:

銚銻縵哜鳗鸿锓謎諏涼。

(1)系统具有较强的实用性、可靠性和适用性

(2)对各个数据的输入进行了检测,大大减少了异常的发生。

(3)能够按照用户输入的关键字进行查询

(4)注意到了数据的安全性。

(5)简化了用户的操作过程,尽量减少用户的工作量

2系统的开发技术及主要架构

2.1开发技术的选择

由于JAVA面向对象,安全性高,跨平台,易移植,易掌握等特点,尤其是在安全性和跨平台性两个方面非常显著。

因此,最后我选择采用Java技术开发这个系统。

挤貼綬电麥结鈺贖哓类。

2.2项目开发的工具

这个web系统的服务器采用开源的Tomcat6.0,数据库采用开源的MySQL。

在MyEclipse工作平台上使用Java、JavaScript与JSP技术,采用MVC模式开发。

赔荊紳谘侖驟辽輩袜錈。

2.2.1MyEclipe简介

MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench),简称MyEclipse是对EclipseIDE的扩展,利用它我们可以很方便地使用数据库和JavaEE开发和发布系统,提高了工作效率。

塤礙籟馐决穩賽釙冊庫。

2.2.2MySql简介

MySQL名字的来历是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。

MySQL被广泛地应用在Internet上的中小型网站中。

由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

裊樣祕廬廂颤谚鍘羋蔺。

2.2.3Tomcat简介

Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

仓嫗盤紲嘱珑詁鍬齊驁。

2.3数据库的连接

JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供一个标准的API。

据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,本系统采用JDBC连接数据库。

绽萬璉轆娛閬蛏鬮绾瀧。

3可行性研究

3.1经济可行性分析

本系统开发要耗去一定的时间,而所用的开发工具和软件基本是免费的。

由于系统能够在未来一段时期内稳定地发挥作用,因此该系统对于管理学生成绩都有很大的帮助。

由此可见,开发此系统在经济上是完全可行的。

骁顾燁鶚巯瀆蕪領鲡赙。

3.2操作可行性分析

如今的计算机已经进入各个家庭,硬件成本不断的下降,计算机价格不断降低。

该系统具有友好的用户界面、良好的安全性设置等,使用户可以很快地掌握系统的操作方法,因此在操作上是可行的。

瑣钋濺暧惲锟缟馭篩凉。

3.3技术可行性分析

从目前IT业内使用比较广泛的数据库和管理软件来看,使用比较简单的中小型数据库Mysql和Java开发该系统非常简单实用。

该系统能为用户提供非常友好、操作简单的用户界面。

因此,从技术可行性分析来看是可行的。

鎦诗涇艳损楼紲鯗餳類。

3.4可行性综合分析

利用计算机实现学生管理系统势在必行。

通过对当前的开发背景和上述几个可行性分析可以发现开发这个系统是可行的。

本学生成绩管理向着规范化、简单化、有效化的方向发展。

栉缏歐锄棗鈕种鵑瑶锬。

4需求分析

4.1功能分析

经过前期的深入调查和研究,总结出该系统需要完成的具体功能,分析如下:

管理员管理:

能够实现管理员对教师信息添加,删除,修改和查询。

初始化教师登录信息:

用户ID为教师编号,初始密码也为教师编号,用户类型为教师。

辔烨棟剛殓攬瑤丽阄应。

教师管理:

能够实现教师对学生信息,课程信息和成绩信息的添加,删除,修改和查询等功能;初始化学生登录信息:

用户ID为学号,初始密码也为学号,用户类型为学生。

峴扬斕滾澗辐滠兴渙藺。

学生查询:

学生能够查询课程信息和自己的成绩信息。

以上所有用户在登录后都可以修改自己的密码。

4.2系统数据流程图

由以上的功能分析,得出如图4-1的系统数据流程图,该数据流程图直观地反映了该系统的整体框架和设计要求。

詩叁撻訥烬忧毀厉鋨骜。

图4-1数据流程图

5网站总体设计

用户登录时,系统先判断用户名是否存在,密码和用户类型是否正确。

如果正确,则进入用户首页,进行相关的管理操作。

如果错误,则用户要重新输入用户名,密码和选择用户类型。

用户登录后根据用户类型,从而拥有不同权限。

登录流程图和系统功能结构图如下所示。

则鯤愜韋瘓賈晖园栋泷。

 

5.1登录流程

图5-1登录流程图

5.2系统功能结构图

图5-2系统功能结构图

6数据库设计

6.1系统实体E-R图

图6-1学生实体E-R图

图6-2课程实体E-R图

图6-3成绩实体E-R图

图6-4教师实体E-R图

图6-5系统用户实体E-R图

6.2实体联系图

从上面的需求分析和总体设计得出管理员,教师,学生,课程和成绩实体之间的联系图如下图所示:

图6-6系统总体联系图

6.3逻辑结构设计

根据系统的功能描述,设计要用的数据表。

因为这些表之间相互关联,存储着系统的相关数据,所以在设计数据表的过程中,要求设计一个表只存储一个实体或对象的相关信息,不同实体存储在不同的表中。

本系统需要设计的数据库表如以下各图。

胀鏝彈奥秘孫戶孪钇賻。

表6-7学生表studb

字段

字段名

类型

可否为空

主键

ino

学号

varchar(10)

name

姓名

varchar(10)

sex

性别

varchar(5)

age

年龄

int

sys

所在系

varchar(20)

grade

班级

varchar(20)

 

表6-8课程表couinfo

字段

字段名

类型

可否为空

主键

cno

课程编号

varchar(10)

cname

课程名称

varchar(10)

tname

任课老师

varchar(10)

credit

学分

float

表6-9成绩表scoinfo

字段

字段名

类型

可否为空

主键

ino

学号

varchar(10)

cno

课程编号

varchar(10)

type

成绩类型

varchar(10)

score

分数

int

表6-10教师表teainfo

字段

字段名

类型

可否为空

主键

tno

教师编号

varchar(10)

tname

教师姓名

varchar(10)

tsex

教师性别

varchar(5)

tsys

所在系

varchar(10)

表6-11用户信息表user

字段

字段名

类型

可否为空

主键

id

用户ID

varchar(10)

name

用户姓名

varchar(10)

password

密码

varchar(10)

job

用户身份

varchar(10)

7系统主要功能模块详细设计

7.1用户登录

用户登录需要验证用户的用户名,密码和身份。

如果登录成功,页面就会跳转到相关页面,如果登录失败登录界面就会显示提示信息,登录界面如下鳃躋峽祷紉诵帮废掃減。

图7-1登录界面

7.2网站管理

教师,管理员和学生登录系统后拥有不同权限,详细介绍如下所示:

7.2.1教师身份登录后的管理界面

图7-2教师管理首页

教师管理三个模块:

学生信息管理,课程信息管理和成绩信息管理,教师登录后可以点击“修改口令”修改自己的口令,点击“退出系统”返回登录界面,修改口令的界面如下图稟虛嬪赈维哜妝扩踴粜。

图7-3密码修改界面

如果新密码为空,则提示“修改失败,新口令不能为空!

”,如果新密码和确认密码不同,则提示“口令修改失败”,相同则提示“口令修改成功”,口令修改失败的界面如下图陽簍埡鲑罷規呜旧岿錟。

图7-4密码修改失败界面

学生信息管理模块:

在图7-2中点击“学生信息管理”后进入学生信息管理,界面,点击后的界面如下图

图7-5学生信息管理界面

在“跳到”后输入2,点击“Go”后,列表跳转到第2页,

当输入小于0的数,点击“Go”后,提示输入格式不对,请重新数字,当输入大于或等于分页总数的数字时,跳转到最后一页沩氣嘮戇苌鑿鑿槠谔應。

点击“首页”回到第一页,点击“尾页”回到最后一页

点击“上一页”回到上一页,点击“下一页”回到下一页

这个页面实现了教师对学生基本信息的管理(添加,删除,修改,查询),同时添加了一条学生登录记录,初始密码为学生的学号,添加学生信息的关键代码(学生信息管理的添加实现类)如下:

钡嵐縣緱虜荣产涛團蔺。

publicbooleandoCreate(Stustu,Useruser)throwsException{懨俠劑鈍触乐鹇烬觶騮。

booleanflag=false;

Stringsql1="insertintostudb(ino,name,sex,age,sys,grade)values(?

?

?

?

?

?

)";謾饱兗争詣繚鮐癞别瀘。

this.pst1=this.conn.prepareStatement(sql1);

this.pst1.setString(1,stu.getIno());

this.pst1.setString(2,stu.getName());

this.pst1.setString(3,stu.getSex());

this.pst1.setInt(4,stu.getAge());

this.pst1.setString(5,stu.getSys());

this.pst1.setString(6,stu.getGrade());

Stringsql2="insertintouser(id,name,password,job)values(?

?

?

?

)";呙铉們欤谦鸪饺竞荡赚。

this.pst2=this.conn.prepareStatement(sql2);

this.pst2.setString(1,user.getId());

this.pst2.setString(2,user.getName());

this.pst2.setString(3,user.getPassword());

this.pst2.setString(4,user.getJob());

if(this.pst1.executeUpdate()>0&&this.pst2.executeUpdate()>0){莹谐龌蕲賞组靄绉嚴减。

flag=true;

}

this.pst1.close();

this.pst2.close();

returnflag;

}

点击“添加”添加学生信息后的界面如下图:

图7-6学生信息添加界面

 

学号为数字或字母,如果是其他的特殊符号,系统提示出错并清空学号后的文本框,年龄是2位数的整数,否则提示出错清空年龄后的文本框。

每一个文本框都要填,如果有其中一个文本框没有填就提交,提示没有填的文本框不能为空。

麸肃鹏镟轿騍镣缚縟糶。

教师添加一条学生信息记录,就同时添加了一条学生登录记录,该学生的登录ID为学号,登录密码也为学号,用户姓名为学生姓名,用户类型为学生,学生登录后可以修改自己的登录密码。

納畴鳗吶鄖禎銣腻鰲锬。

修改学生信息的关键代码(学生信息管理的修改实现类)如下:

publicbooleandoUpdate(Stustu,Useruser)throwsException{風撵鲔貓铁频钙蓟纠庙。

booleanflag=false;

Stringsql1="updatestudbsetname=?

sex=?

age=?

sys=?

grade=?

whereino=?

";灭嗳骇諗鋅猎輛觏馊藹。

this.pst1=this.conn.prepareStatement(sql1);

this.pst1.setString(1,stu.getName());

this.pst1.setString(2,stu.getSex());

this.pst1.setInt(3,stu.getAge());

this.pst1.setString(4,stu.getSys());

this.pst1.setString(5,stu.getGrade());

this.pst1.setString(6,stu.getIno());

Stringsql2="updateusersetname=?

whereid=?

";

this.pst2=this.conn.prepareStatement(sql2);

this.pst2.setString(1,user.getName());

this.pst2.setString(2,user.getId());

if(this.pst1.executeUpdate()>0&&this.pst2.executeUpdate()>0){铹鸝饷飾镡閌赀诨癱骝。

flag=true;

}

this.pst1.close();

this.pst2.close();

returnflag;

}

点击图7-5的列表中的要修改的数据后的“修改”修改学生信息,例如点击第一条记录后的“修改”,界面如下图攙閿频嵘陣澇諗谴隴泸。

图7-7学生信息更新界面

只要不修改主键“学号”,年龄为整数,每一项都不为空,就能成功修改记录。

点击图7-5的列表中的要删除的数据后的“删除”删除一条记录。

删除学生信息的关键代码(学生信息管理的删除实现类)如下:

趕輾雏纨颗锊讨跃满賺。

publicbooleandoDelete(Stustu,Useruser)throwsException{夹覡闾辁駁档驀迁锬減。

booleanflag=false;

Stringsql1="deletefromstudbwhereino=?

";

this.pst1=this.conn.prepareStatement(sql1);

this.pst1.setString(1,stu.getIno());

Stringsql2="deletefromuserwhereid=?

";

this.pst2=this.conn.prepareStatement(sql2);

this.pst2.setString(1,user.getId());

if(this.pst1.executeUpdate()>0&&this.pst2.executeUpdate()>0){视絀镘鸸鲚鐘脑钧欖粝。

flag=true;

}

this.pst1.close();

this.pst2.close();

returnflag;

}

例如点击任意一条记录后的“删除”,弹出如下图的提示框

图7-8记录删除提示框

点击“确定”后记录删除成功,点击“取消”后返回原界面,删除失败

在图7-5的文本框中输入学生姓名(可输入模糊信息),查询学生信息的关键代码(学生信息管理的查询实现类)如下:

偽澀锟攢鴛擋緬铹鈞錠。

 

  publicListfindAll(StringkeyWord)throwsException{緦徑铫膾龋轿级镗挢廟。

Listall=newArrayList();

Stringsql="select*fromstudbwherenamelike?

";騅憑钶銘侥张礫阵轸蔼。

this.pst=this.conn.prepareStatement(sql);

this.pst.setString(1,"%"+keyWord+"%");

ResultSetrs=this.pst.executeQuery();

Stustu=null;

while(rs.next()){

stu=newStu();

stu.setIno(rs.getString

(1));

stu.setName(rs.getString

(2));

stu.setSex(rs.getString(3));

stu.setAge(rs.getInt(4));

stu.setSys(rs.getString(5));

stu.setGrade(rs.getString(6));

all.add(stu);

}

this.pst.close();

returnall;

}

在图7-5的文本框中输入学生姓名(可模糊查询),例如输入“01”,点击“查询”后的界面如下:

图7-9信息查询结果图

 

点击图7-2中的“课程信息管理”进入课程管理模块,界面如下:

 

图7-10课程信息管理界面

点击图7-2中的“成绩信息管理”进入成绩管理模块,界面如下:

图7-11成绩信息管理界面图

这两个模块和学生信息管理系统模块类似,编辑过程一样

7.2.2管理员身份登录后的管理界面

图7-12管理员首页图

 

点击“教师管理”进入教师管理模块,如下图所示

图7-13教师信息管理界面

这个模块和学生信息管理系统模块类似,编辑过程一样

管理员添加一条教师信息记录,就同时添加了一条教师登录记录,该教师的登录ID为教师编号,登录密码也为教师编号,用户姓名为教师姓名,用户类型为教师,教师登录后可以修改自己的登录密码。

疠骐錾农剎貯狱颢幗騮。

7.2.2学生身份登录后的查询界面

图7-14学生查询首页

 

点击“修改口令”修改自己的登录密码,点击“退出系统”返回到登录界面,学生登录后可以查询课程信息和自己的成绩信息镞锊过润启婭澗骆讕瀘。

点击“课程信息”查询课程信息,界面如下图所示:

图7-15课程信息查询

点击“成绩信息”查询自己的成绩信息,界面如下图所示:

图7-16成绩信息查询

8系统测试

8.1测试原则

软件测试的基本原则是站在用户的角度,对产品进行全面测试,尽早、

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1