基于Java Applet的学生综合测评系统研究与应用毕业设计含源文件文档格式.docx
- 文档编号:20392443
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:28
- 大小:402.43KB
基于Java Applet的学生综合测评系统研究与应用毕业设计含源文件文档格式.docx
《基于Java Applet的学生综合测评系统研究与应用毕业设计含源文件文档格式.docx》由会员分享,可在线阅读,更多相关《基于Java Applet的学生综合测评系统研究与应用毕业设计含源文件文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
Abstract
Duringtheuniversity,computationthesyntheticalevaluationisnecessaryperterm.Themanualcomputationofsyntheticalevaluationisamuchnumerousanddiverseprocess.First,everyonecomputethescoresbythemselves,andmakeadraft,thendeliverit.Second,thecadresintheclasschecktheresultandimportthedataintocomputerformakingthedocument,thenhandinittoarelativedepartmentoracademy.Intheprocess,thestudentsaresickofit.Therefore,theveracityofthedraftislow.Ontheotherhand,manualcheckingandscores’inputtingcausethegreaterworkloadandlowerefficiency.Moreovertheveracityisunabletobeguaranteed.So,alltheteachersandstudentsarelookingforwardtohaveaninformationizationalsystemofthesyntheticalevaluation.Usingthesystem,studentscan’tonlycomputetheirscoresofsyntheticalevaluationconvenientlyandcorrectly,butalsocansubmittheresultstotheserver.Whichcanomitthecomplicatedworkofclasscadres’manualcheckingandscores’inputting.Moreover,thefunctionofqueryofferedbythesystemscanmakeconvenientforstudentstosearchtheinformationtheywant.ThediscourseintroducestheApplettechnology,theanalysisanddesignofthesystem,theimplementofeveryfunctionmodule,thetestanddebugofthesystem,andtheproblemsmetintheexploitationaswellasthesolutiontothem.
Keywords:
syntheticalevaluation;
computation;
query;
Applet
1引言
在大学期间,同学们计算过多次综合测评,深刻体会到综合测评计算是一件既繁琐且准确率又低的事情。
同时,班委每学期都要将同学们上交的书面形式的综合测评得分情况进行核对并输入到电脑里面,制成电子文档,方便全年段同学的成绩排名,并且也要将电子文档上交给院系相关部门留档。
每次要完成这个任务,全班的班委都必须参与,可谓兴师动众,一旦不能很好的协调,出错率就很高,造成工作量加大。
在信息化时代,这种手工计算综合测评的模式必将被以计算机为基础的信息化系统所取代。
所以,设计一个功能完善的综合测评系统,已成为大家迫切的愿望。
通过这个系统,每个同学可以准确计算自己的综合测评成绩并将得分情况上传到班委的机子上,这样就可以省去班委统一输入成绩这一繁琐的过程,既方便了同学们,准确率也得到了保证。
该综合测评系统的开发采用了JavaApplet技术,是因为JavaApplet与ASP等制作动态网页的工具相比,具有得天独厚的优势:
ASP等只是脚本语言,而Java是一种面向对象的语言,其提供内容丰富的类库,能满足用户更多的交互需求;
Java是一种与平台无关的语言,开发的系统具有良好的可移植性,且安全性高;
ASP等脚本语言是在服务器端运行的,而JavaApplet是运行在客户端浏览器上的小应用程序,这一特性更使得Applet能同时拥C/S及B/S两种软件体系结构的优势。
同时,本系统的开发采用了面向对象的方法,将系统划分模块时,尽量做到高内聚低耦合,提高模块独立性[1],给模块功能的增加与修改带来了方便。
前台采用可移植性良好,健壮,安全性高的Java语言开发,后台采用微软的ACCESS数据库,作为开发平台,强大的开发工具与稳定的后台数据库,保证了系统的健壮性。
在系统的开发过程中,也遇到了一些问题(如:
数据的表格显示等),但通过自己的努力以及指导老师的帮助,这些问题都得到了圆满的解决。
2综合测评系统开发工具简介
2.1ACCESS数据库
MicrosoftAccess是一种基于Windows图形用户界面的关系型数据库管理系统。
1995年Access成为Office95套件产品之一。
作为Microsoftoffice套件产品之一的Access已经卖出了近700万份,成为世界上最流行的桌面数据库系统。
Access与许多优秀的关系数据库一样,可以很容易地连接相关的信息而且还对其他的数据库系统有所补充。
它能操作其它来源的资料,包括许多流行的PC数据库程序(如dBASE,Paradox,MicrosoftFoxPro)和服务器、小型及大型机上的许多SQL数据库。
Access还完全支持Microsoft的OLE技术[2]。
Access还提供Windows操作系统的高级应用程序开发系统。
Access与其它数据库软件相比,它具有上手快、易操作等优点。
同时利用内置的UBA语言,既可以开发出常用的数据处理工具,也能设计出功能全面的一整套数据库管理信息系统[3]。
Access还提供了强大的管理模型,它以图形化用户界面和向导为基础。
Access的结构可以适应模块化增长、自动化配制、维护比较小规模的服务器程序开发的需要。
2.2Java及JavaApplet简介
Java最早大概可追溯至1991年四月份,Sun的绿色计划(GreenProject)开始着手于发展消费性电子产品(ConsumerElectronics),所使用的语言是C、C++、及Oak(为Java语言的前身),后因语言本身和市场的问题,使得消费性电子产品的发展无法达到当初预期的目标,再加上网络的兴起,绿色计划也因此而改变发展的方向,最终导致Java的产生[4]。
Java是一种简单的、面向对象的、健壮的、安全的、解释的、与平台无关的、多线程的、动态的语言。
JavaApplet是用Java语言编写的一些小应用程序,这些程序直接嵌入到页面中,由支持Java的浏览器(IE或Nescape)解释执行能够产生特殊效果。
它可以大大提高Web页面的交互能力和动态执行能力。
包含Applet的网页称为Java-powered页,可以称其为Java支持的网页[5]。
当用户访问这样的网页时,Applet被下载到用户的计算机上执行,但前提是用户使用的是支持Java的网络浏览器。
由于Applet是在用户的计算机上执行的,所以它的执行速度不受网络带宽或者Modem存取速度的限制,用户可以更好地欣赏网页上Applet产生的多媒体效果。
Applet小应用程序的实现主要依靠java.applet包中的Applet类。
与一般的应用程序不同,Applet应用程序必须嵌入在HTML页面中,才能得到解释执行;
同时Applet可以从Web页面中获得参数,并和Web页面进行交互。
含有Applet的网页的HTML文件代码中必须带有<
APPLET>
和<
/APPLET>
这样一对标记,当支持Java的网络浏览器遇到这对标记时,就将下载相应的小程序代码并在本地计算机上执行该Applet小程序。
Applet小程序也可以通过Java开发工具的appletviewer来运行。
Applet程序离不开使用它的HTML文件。
这个HTML文件中关于Applet的信息至少应包含以下三点:
1)字节码文件名(编译后的java文件,以.class为后缀);
2)字节码文件的地址;
3)在网页上显示Applet的方式。
由于用HTML(超文本标志语言)编写的网页是静态的且不具备与用户交互的能力,JavaApplet广泛用于在网页上添加动态、交互成份[6]。
因为Applet是从远端服务器上下载并且在本地执行,所以安全性就显得格外重要。
通过限制Applet在沙箱(Applet的运行环境)中运行,从而保证了对本地系统而言Applet是安全的。
Applet在沙箱中运行时:
1)不能运行任何本地可执行程序;
2)除了存放下载的Applet的服务器外,Applet不能和其它主机进行通信;
3)不能对本地文件系统进行读写。
(信任的Applet放宽这一限制);
4)除了本地机使用的Java版本号、操作系统名称及版本号、文件名分隔符(‘/’或‘\’)和路径以外,Applet无法获得有关本地机的其他信息。
Applet也无法获得使用者的名字和E-mail地址等[7]。
3综合测评系统分析设计
3.1需求分析
根据计算机科学与工程系综合测评评分细则以及广大同学计算综合测评的经历,整理得到该系统的功能需求为:
1、用户只要根据列出的得分项进行选择,以及少量的数据输入就可以计算出自己的综合测评成绩。
2、用户将自己计算好并核对过的综合测评成绩上传,为防止恶意用户随意修改合法用户的成绩,成绩上传前必须进行用户合法性的验证,合法用户方能将自己的综合测评成绩上传至服务器端的数据库。
同时,合法用户也可以随时修改自己的密码。
3、用户可以根据自己的需要进行查询:
1)输入学号,就可以精确得到该位同学的综合测评的得分、排名等情况
2)查询所有学生的综合测评得分情况,并按学号顺序排列显示
3)查询业务学习成绩大于等于或小于某一值的所有学生的综合测评得分情况,并按业务学习成绩从高到低排列显示
4)查询综合测评成绩大于等于或小于某一值的所有学生的综合测评得分情况,并按综合测评成绩从高到低排列显示
5)查询业务学习成绩大于或小于某一值且综合测评成绩大于等于或小于某一值的所有学生的综合测评得分情况,并按学号的顺序排列显示。
4、用户可以查看全班同学的业务学习成绩及综合测评成绩各个得分段的比例,更好地了解班级的综合测评情况。
3.2系统整体框架
根据系统的功能需求,分析出系统的框架为:
图1综合测评系统总体框架图
图2综合测评计算框架图
图3综合测评查询框架图
3.3模块功能说明
1、政治素质
该模块能够将所有的政治素质方面的得分项列出来,供用户选择自己的得分情况,然后计算出政治素质的得分。
法纪观念、学习态度、品德修养、劳动实践、奖惩得分与政治素质模块的功能相似,都是计算各自的得分,所以在此不一一阐述。
2、政治思想素质
该模块则将政治素质、法纪观念、学习态度、品德修养、劳动实践、奖惩分各个模块组合,以整体的方式显示给用户,并能将各个小模块的得分情况相加,得出政治思想素质的实际得分(100分制)及总得分(实际得分×
20%)
3、业务学习得分
该模块能够处理用户输入各门课程的得分情况,计算业务学习实际得分(100分制,业务学习实际得分=各门课程的学分成绩总和÷
各门课程学分总和+公共选修课的成绩)及总得分(业务学习实际得分×
60%)。
4、智能素质得分
该模块则将科研能力、社会工作能力、师范生技能、文艺活动能力各个小模块的得分相加得到智能素质的实际得分(100分制)及总得分(实际得分×
10%)。
5、体育素质得分
该模块能够处理用户体育课成绩的输入,计算体育素质的实际得分(体育课成绩×
60%+课外体育活动成绩)及总得分(实际得分×
6、精确查询
该模块能够接受用户输入学号,查询该同学综合测评的相关情况。
7、模糊查询
该模块能够接受用户的输入,根据用户的需要,以业务学习得分和综合测评得分为条件进行查询。
8、综合测评成绩比例显示
该模块能够根据全部上传的综合测评,统计总人数,某一分数段的人数,然后按比例图显示给用户。
9、综合测评成绩上传
该模块能够验证用户的合法性并将合法用户计算出的综合测评得分情况上传至服务器端的数据库上,作为留档材料,也作为成绩核对的依据。
10、用户密码修改
该模块能够验证用户的合法性并能实现合法用户对自己密码的修改。
4综合测评系统实现
4.1系统数据库设计
1、数据库需求分析:
本系统数据库的设计总体需求是:
学号、用户密码、课程名称、课程学分、成绩类型、政治思想素质、业务学习、智能素质、体育素质、综合测评得分、备注。
2、本系统采用ACCESS作为数据库。
在本系统中,要求数据库名为:
综合测评数据库.mdf,并在里面建立系统设计时需要用到的数据表,各表设计如下所示:
表1用户信息表
字段名称
数据类型
字段大小
允许空
学号
文本
15
否
姓名
密码
20
其中:
学号为主键
表2综合测评成绩表
小数位数
50
政治思想素质
数字
单精度型
允许
2
业务学习
智能素质
体育素质
综合测评得分
备注
表3课程信息表:
课程名称
学分
10
成绩类型
课程名称为主键
表4:
业务学习成绩表:
是
说明:
其中学号为主键,本表的各个字段除了学号与备注这两个固定字段以外,其他字段都是在程序运行过程中动态生成的。
4.2数据库访问模块的实现
本项目与数据库的连接采用JDBC-ODBC桥连接[8],其连接成功后将出现提示,如图4所示界面:
图4数据库连接成功提示图
其核心代码如下:
booleansuccess=true;
//定义一个标志变量标志连接数据库是否成功
try
{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
);
//加载驱动程序con=DriverManager.getConnection("
jdbc:
odbc:
zonghecepingshujuku"
//与数据库的连接
stmt=con.createStatement();
//执行访问数据库的SQL语句
}
catch(Exceptione)
JOptionPane.showMessageDialog(this,"
数据库连接失败!
"
success=false;
}
if(success)
{JOptionPane.showMessageDialog(this,"
数据库连接成功"
4.3客户端各个模块的实现
1、政治思想素质模块的实现:
本模块的界面主要是利用Java的awt包及swing包开发的,界面实现如图5
所示:
图5政治思想素质计算界面
本模块是由政治素质、法纪观念、学习态度、品德修养、劳动实践、奖惩得分,其他得分共七个小模块够成的,各小模块的容器面板都是继承自swing包的Jpanel,而且其中的各个元素,如:
复选框、文本框等采用GridLayout布局管理。
各个小模块作为一个类来设计,其中包含构造函数,getscore()方法及getbeizhu()方法,分别取得本小模块的得分,及得分的原因。
选取其中的政治素质模块描述其实现过程(其他模块类似)如下:
classZhengzhisuzhiextendsZuhemianban//政治素质类,详见源代码
{……//类内部成员的声明
publicZhengzhisuzhi(){……}//构造函数,实现界面的布局
publicfloatgetscore()//获取政治素质得分
{beizhu="
;
//用于存放得分理由
floatscore=18;
//基本分18分
if(this.malie.getState())//如果“马列理论学习优”有选中
{score+=1;
//加上该项的得分
beizhu+=this.malie.getLabel()+"
//得分理由加入备注字符串中
}
……//其他得分项类似处理
returnscore;
//将得分值返回
publicStringgetbeizhu()//获取备注内容
{returnbeizhu;
2、业务学习成绩计算模块
业务学习成绩的界面如图6所示:
图6业务学习成绩计算界面图
其中一个科目就是一个小模块,而且这些科目的信息是从服务器端的“课程信息表”中获取的,这些科目组合就够成了业务学习成绩计算的主要部分。
但由于这些科目是动态生成的,而不是设计时给定的,所以必须用一个数组链表存储这些动态生成的科目类实例,才可能在计算出业务学习得分的过程中得到必须的数据。
也因其是动态生成的,所以实现过程相对比较复杂,其核心代码如下:
publicYewuxuexi(InetAddressip)//构造函数传入服务器的IP地址
{……//建立与服务器通信的数据输入输出流,并提交初始化请求
xinxis=datain.readUTF().split("
:
//读取初始化数据
for(inti=1;
i<
xinxis.length;
i++)
{String[]kechengxinxi=xinxis[i].split("
"
Xuexichengjixuexichengji=newXuexichengji(kechengxinxi[0],
Float.parseFloat(kechengxinxi[1].trim()),kechengxinxi[2]);
//实例化一门科目,并将其加入面板中
this.add(xuexichengji);
//将其加入数组链表中,为下面计算课程的学分成绩提供数据
this.arraylist.add(xuexichengji);
}//for
}//Yewuxuexi
publicfloatgetscore()//获取各门课程的学分成绩总和
{floatsum=0;
//初始化成绩为0
for(inti=0;
this.arraylist.size();
i++)
{//遍历链表中的每个元素,并将得分累加
sum=sum+((Xuexichengji)(arraylist.get(i))).getscore();
returnsum;
//将得分作为该方法的返回值返回
3、智能素质模块
智能素质的模块实现界面如图7所示:
图7智能素质计算界面图
该模块是由科研能力、社会工作能力、师范生技能、文艺活动能力、其他得分5个小模块组合成的,其实现过程与政治思想素质的实现过程类似,这里不再赘述。
4、体育素质模块
体育素质模块实现界面如图8所示:
图8体育素质计算界面图
本模块实现过程与政治思想素质的实现过程也类似,这里不再赘述。
5、成绩上传模块
成绩上传模块的实现界面如图9所示:
图9成绩上传界面图
该模块类继承自java.awt包中的Frame类,当用户输入的学号与密码正确时,才能将成绩上传,其实现的核心代码如下:
//综合测评得分情况插入数据库的SQL语句
strshangchuan=strshangchuan+"
insertinto综合测评成绩表values('
+this.xuehao.getText().trim()+"
'
+this.sqlzongheceping+"
)"
String[]temps=this.yewuxuexi.split("
//业务学习得分情况插入数据库的SQL语句
Stringtemp="
insertinto业务学习成绩表(学号,备注"
+temps[0]+"
)
values('
+this.xuehao.getText().trim()+"
'
+temps[2]+"
+temps[1]+"
strshangchuan+=temp;
6、用户密码修改模块
用户密码修改模块的实现界面如图10所示:
图10密码修改界面图
该模块类也是继承自java.awt包中的的Frame类。
首先将进行“新口令”与“确认新口令”的核对,如果两者相同,将进行用户合法性检查。
如果是合法用户,可进行密码修改,数据库信息修改成功后,将反馈一个“密码修改成功”的消息给用户。
否则,不能进行密码的修改,将反馈一个“密码修改失败”的信息给用户。
其中,用户合法性的检查与成绩上传时用户的合法性检查一致,这
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于Java Applet的学生综合测评系统研究与应用毕业设计含源文件 基于 Java Applet 学生 综合 测评 系统 研究 应用 毕业设计 源文件