java实训标准化考试系统cs版Word文档格式.docx
- 文档编号:20009981
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:38
- 大小:277.08KB
java实训标准化考试系统cs版Word文档格式.docx
《java实训标准化考试系统cs版Word文档格式.docx》由会员分享,可在线阅读,更多相关《java实训标准化考试系统cs版Word文档格式.docx(38页珍藏版)》请在冰豆网上搜索。
4.用户完成一个题目后,可以查看该题目的正确答案和目前所得分数。
运用的操作系统是MicrosoftWindows7,使用的开发工具为jdk1.6,实现上机考试和分数查询。
设计进度与要求:
1、第1天领取任务,小组分工,查找标准考试系统c\s版的资料;
2、第2-3天实现程序标准化考试功能并调试成功;
3、编写文档
4、答辩
主要参考书及参考资料:
[1]耿祥义,张跃平.Java2实用教程(第三版).北京:
清华大学出版社,2006
[2]耿祥义.Java课程设计(第四版).北京:
清华大学出版社,2014
标准化考试系统
1概述
1.1实训目的
1.2实训内容
1.系统界面如下图:
(1)提示框显示输入服务器的IP或域名,169.254.63.194
(2)输入后点击呼叫服务器,显示呼叫成功。
(3)选择试题并开始考试。
图1-1系统界面设计
2.程序编写并运行
(1)程序的编写实现标准化考试系统的呼叫服务器,选择试卷开始考试,查看考试剩余时间及试卷的正确答案及考生的分数。
(2)①用DOS命令运行时,先运行服务端,在运行客户端。
②程宇完成打包后,可以直接运行jar文件运行程序。
2.编写文档并答辩
编写标准化考试系统的报告,介绍本系统制作的过程和使用过程的详细说明。
编写完成报告后将报告发给陈老师,报告合格后,即可打印并进行答辩。
2系统需求分析
2.1系统目标
1.客户端用户可以呼叫服务器。
2.和服务器建立连接后,将客户端试题添加到下拉列表中,并选择试题。
3.用户选择某套试题后,单击“开始考试”按钮,开始考试。
4.考试开始后,页面显示考试剩余时间,考试题。
考试完成后,考试剩余时间会停止计时,计时结束后,考生不能答题。
5.用户完成一个题目后,可以查看该题目的正确答案和目前所得分数。
完成试卷后,可以查看考试剩余时间和试卷正确答案、所得分数。
2.2主体功能
1.客户端用户可以呼叫服务器,建立套接字连接。
4.通过客户端界面从服务器读取试题以及考试的用时,该界面提供计时功能,如果佣金考试用时,用户将不能再读取任何题目。
2.3开发环境
操作系统:
MicrosoftWindows7
开发工具:
jdk1.7
3系统概要设计
在标准化考试系统时,需要编写5个java源文件:
Client.java、ChoiceFile.java、ClientTestArea.java、Server.java、RedTestquestion.java。
(1)Client.java类模块
该java文件生成的类负责创建标准化考试客户端的主窗口。
该类含有main方法,程序从该类开始执行。
主窗口首先显示输入服务器IP地址的界面,如果和服务器连接成功,将提示该用户连接成功,并在窗口中显示选择试题界面;
如果和服务器连接失败,将提示无法连接,不出现选择试题的界面。
(2)ChoiceFile.java类模块
该类创建的对象是Client窗口的一个成员变量——选择试题文件界面,负责获取服务器上试题文件的名字,并将名字添加到客户端界面的下拉式列表中。
(3)ClientTestArea.java类模块
负责客户端窗口中的考试界面,该界面可以读取服务器端的试题、显示试题、向服务器提交答案、显示考试所剩时间等等。
(4)Server.java类模块
负责监听客户的呼叫,为每个发出呼叫的客户启动一个线程,在该线程中和客户交流信息。
(5)RedTestquestion.java类模块
该类对象负责读取试题文件和计算考试分数。
4系统详细设计
4.1系统的功能模块划分
该java文件生成的类负责创建标准化考试客户端的主窗口。
Client类的主要成员的作用将在后面的详细设计中阐述,Client类主要成员变量(属性)和主要方法如表4-1,4-2所示。
表4-1Client.java主要成员变量
成员变量描述变量类型名称
输入服务器IP的文本框
负责呼叫
负责文本考试
先是提示信息
客户端套接字对象
负责选择试题文件
显示考试界面
TextField输入呼叫地址
Button开始呼叫
Button开始测试
Lable提示条1,提示条2,提示条3
SocketSocket
ChoiceFile选择试题文件界面
ClientTestArea客户考试界面
表4-2Client.java主要方法
名称功能备注
Client
actionPerformed
main
创建客户端窗口构造方法
处理ActionEvent事件接口方法
客户端程序开始运行
(2)ChoiceFile.java类模块
ChoiceFile类创建的对象是ChoiceFile类最重要的成员之一,代表“选择试题”。
该类的成员变量中有5种重要类型的对象:
得到试题文件、List、Socket、thread。
ChoiceFile类类主要成员变量(属性)和主要方法如表4-3,4-4所示。
表4-3主要成员变量(属性)
描述变量类型名称
触发试题文件名的获取
负责显示试题文件名字
客户端套接字
负责读取服务器发来的试题文件名的线程
Button得到试题文件
ChoiceList
Threadthread
表4-4主要方法
名称功能备注
ChoiceFile
setSocketConnection
run
itemStateChanged
得到选择的文件名
getSuccess
创建选择试题界面构造方法
和服务器建立连接
读取服务器发来的信息接口方法
处理ItemEvnent事件接口方法
得到用户选择的试题文件的名字
判断选择试题界面是否
得到了服务器端全部试
题文件的名字
负责客户端窗口中的考试界面,该界面可以读取服务器端的试题、显示试题、向服务器提交答案、显示考试所剩时间等等。
ClientTestArea.java类主要成员变量(属性)和主要方法如表4-5,4-6所示。
表4-5主要成员变量(属性)
描述变量类型名称
试题显示区
答案显示区
读取服务器信息的线程
选择答案用的Checkbox组件数组
计时器
考试用时
显示考试剩余时间的文本条
负责提交答案,读取试题,查看得分的按钮
Socketsocket
TextArea试题显示区
TextArea答案显示区
ThreadthreadMessage
Checkbox[]Box
Timer计时器
longtime
TextField考试用时提示条
Button提交该题答案,读取下一题,查看得分
表4-6主要方法
名称功能备注
ClientTestArea
getTime
set试题显示区
创建考试界面对象构造方法
获取考试用时
和服务器建立套接字连接
设置试题显示区的文本内容
读取服务器端发送的信息接口方法
(4)Server.java类模块
Server.java类主要成员变量(属性)和主要方法如下表:
表4-7主要成员变量(属性)
监听客户端呼叫ServerSocketserver
与客户端套接字建立起连接Socketsocket
的服务器端套接字
为处理客户端请求而启动Server_thread(无)
的线程
表4-8主要方法
启动服务器端程序
(5)RedTestquestion.java模块
该类对象负责读取试题文件和计算考试分数。
RedTestquestion.java类主要成员变量(属性)和主要方法如表4-9,4-10所示。
注意:
本系统没有考虑用户提交两个或两个以上答案的情况,读者可作为练习添加相应处理。
表4-9主要成员变量(属性)
文件名字
正确答案
试题内容
用户提交的答案
用户得分
试题用时
读取试题的字符流
Stringfilename
StringcorrectAnswer
StringtestContent
Stringselection
intscore
FileReaderin
表4-10主要方法
名称功能备注
setFilename
getFilename
set完成考试
get完成考试
getTestContent
setSelection
getScore
getMessages
设置试题文件的名字
获取试题文件的名字
获取考试用时
设置是否已完成考试
判断是否已完成考试
获取下一道试题的内容
排列用户提交的答案
计算用户得分
查阅分数和正确答案
4.2系统类图
标准化考试系统UML类图如下:
4-1UML类图
4.3系统流程图
(1)根据对标准化考试系统的功能分析,设计得到标准化考试系统流程,如图4-2所示:
退出系统
图4-2系统流程图
(2)根据对标准化考试系统的功能分析,设计得到标准化考试系统详细流程,如图4-3所示:
图4-3系统详细流程图
5测试
5.1测试方案
在DOS环境里对程序进行打包,具体操作如下:
(1)用文本编辑器编写一个清单文件(Manifestfiles):
Manifest-Version:
1.0
Main-Class:
Client
Created-By:
1.7
清单文件命名为moon.mf,保存C:
\Users\Administrator\Desktop\enlish。
在编写清单文件时,在“Manifest-Version:
”和“1.0”之间、“Main-Class:
”和主类“Client”之间,以及“Created-By:
”和“1.7”之间必须有且只有一个空格。
5-1编写清单文件
(2)生成JAR文件:
在DOS命令进入C:
\Users\Administrator\Desktop\enlish并输入命令行如下:
jarcfmClient.jarmoon.mf*.class
图5-2生成JAR文件界面
图5-3生成JAR文件界面
现在可以将Client.jar以及若干试题文件拷贝到任何一个安装了java运行环境(版本号需高于1.7)的计算机上,只要用鼠标双击该文件就可以运行本java应用程序了,如果已运行相应的服务器端程序,用户就可以进行标准化考试了。
如果机器上没有安装过中文版WinRAR解压缩软件,那么Client.jar的文件类型是ExecutableJarFile。
如果机器上安装过中文版WinRAR解压缩软件,并将jar文件与该解压缩软件做了关联,那么Client.jar的文件类型是WinRAR,在这种情况下,当鼠标双击该文件时,WinRAR解压缩软件会自动运行进行解压缩操作,使得我们的java程序无法运行。
因此,在发布本程序时,还应该创建一个有如下内容的bat文件----Client.bat(用文本编译器)。
Javaw-jarClient.jar
另创建一个帮助文件help.txt,内容如下:
您可以用鼠标双击Client.jar或Client.bat来运行本软件,但是,如果您的计算机上安装了中文版的WinRAR解压缩文件,并将jar文件与该解压压缩软件做了关联,那么。
用鼠标双击Client.jar文件时,WinRAR解压缩软件会自动运行进行解压缩操作,这是您可以双击Client.bat来运行我们的软件。
最后,将.bat文件、.jar文件和帮助文件一同发布。
用发布客户端应用程序同样的办法来发布服务器端应用程序。
5.2测试结果
(1)鼠标双击该jar文件就可以运行java应用程序,用户就可以进行标准化考试。
如下图:
图5-4运行jar文件界面
(2)输入服务器的IP地址或域名,呼叫成功后,点击将试题文件添加到下拉列表中获取试题文件,选择一个文件后,单机开始考试按钮,开始考试。
图5-5呼叫成功并添加试题界面
(3)选择试题后,点击开始考试,系统会提醒选择的试题文件名和考试剩余时间。
在考试时间的范围内答题,考试时间停止不能继续答题。
(没做的题不能重新做)
图5-6选择试题后点击开始考试后界面
(4)试题内容为空,考试结束,系统会提示考试剩余时间,用户可以查看此次考试的得分,系统会显示正确答案、用户回答的答案、以及用户的分数。
最后用完后点击关闭退出系统。
图5-7考试结束查看正确答案和成绩
小结
这次Java实训我们做的是“标准化考试系统”,当实训任务分配下来的时候,我们组的所有成员在一起认真讨论,每人分配一个模块的设计,遇到困难了,大家一起研究讨论,解决不了就询问老师,在老师的帮助下我们顺利运行了程序。
通过一个星期的努力,终于完成了整个系统的设计与制作。
通过这次的实训,我不仅拓宽了自己的知识面,还在实践过程中巩固和加深了自己所学的理论知识,使自己的技术素质和实践能力有了进一步的提高,同时我的专业水平也有了很大的进步。
通过实训过程的锻炼,自己分析问题和解决问题的能力都得到了锻炼和提高,完善了自己的知识结构,加深了对所学知识的理解。
还有在这次实训中,我深刻感受到了面向对象语言中类库的强大功能,掌握了运用Java中的类实现某些基本功能,并学会了自己查询使用类的方法,为以后的面向对象语言的自学奠定了基础。
我也感受到了网络通信中服务器和客户相互通信的特点,加深了对网络通信知识的理解。
参考文献
小组成员
姓名
学号
负责模块
靳超南
2015232801
ClientTestArea、Server代码
李霞
2015232797
Client、ChoiceFile代码
邴云飞
2015232796
RedTestquestion代码
附录
代码:
(1)Client.java
importjava.awt.*;
importjava.awt.event.*;
importjava.io.*;
import.*;
publicclassClientextendsFrameimplementsActionListener{
TextField输入呼叫地址=null;
Button开始呼叫,开始测试=null;
Label提示条1=null,提示条2,提示条3;
Socketsocket=null;
DataInputStreamin=null;
DataOutputStreamout=null;
ChoiceFile选择试题文件界面=null;
ClientTestArea用户考试界面=null;
Panelwest,center;
publicClient(){
super("
英语标准化考试系统"
);
输入呼叫地址=newTextField(16);
开始呼叫=newButton("
呼叫"
开始测试=newButton("
开始考试"
开始呼叫.addActionListener(this);
开始测试.addActionListener(this);
选择试题文件界面=newChoiceFile();
选择试题文件界面.setVisible(false);
用户考试界面=newClientTestArea();
用户考试界面.setVisible(false);
提示条1=newLabel("
输入服务器的IP或域名,如192.168.0.218"
提示条2=newLabel("
提示是否连接成功的标签"
提示条3=newLabel("
选择一个文件后,单击"
+开始测试.getLabel()+"
按钮"
提示条3.setVisible(false);
PanelH1=newPanel();
H1.add(提示条1);
PanelH2=newPanel();
H2.add(输入呼叫地址);
H2.add(开始呼叫);
PanelH3=newPanel();
H3.add(提示条2);
PanelH4=newPanel();
H4.add(提示条3);
PanelH5=newPanel();
H5.add(选择试题文件界面);
west=newPanel();
center=newPanel();
west.setLayout(newGridLayout(5,1));
west.add(H1);
west.add(H2);
west.add(H3);
west.add(H4);
west.add(H5);
center.setLayout(newBorderLayout());
center.add(开始测试,BorderLayout.NORTH);
center.add(用户考试界面,BorderLayout.CENTER);
add(west,BorderLayout.WEST);
add(center,BorderLayout.CENTER);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
setVisible(true);
setBounds(60,40,660,460);
validate();
}
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==开始呼叫){
if(socket!
=null&
&
in!
out!
=null)//清除以往的连接信息
try{
socket.close();
in.close();
out.close();
catch(Exceptionee){
Stringip=输入呼叫地址.getText().trim();
socket=newSocket(ip,6666);
in=newDataInputStream(socket.getInputStream());
out=newDataOutputStream(socket.getOutputStream());
catch(IOExceptionee){//如果连接失败
输入呼叫地址.setText("
呼叫失败"
提示条2.setText("
您呼叫没有成功"
=null){//如果连接成功
InetAddressaddress=socket.getInetAddress();
提示条2.setEnabled(true);
您呼叫:
"
+address+"
成功"
选择试题文件界面.setVisible(true);
选择试题文件界面.validate();
选择试题文件界面.setSocketConnection
(socket,in,out);
提示条3.setVisible(t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 标准化 考试 系统 cs