最新JAVA课程设计报告(标准化考试系统).doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《最新JAVA课程设计报告(标准化考试系统).doc》由会员分享,可在线阅读,更多相关《最新JAVA课程设计报告(标准化考试系统).doc(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateJAVA课程设计报告(标准化考试系统)_x0001_x0001_x0001_x0001_x0001_课程设计报告( 2012- 2013年度第2学期)标准化考试系统专业计算机科学与技术学生姓名班级学号指导教师完成日期2013.7目 录目 录21 概 述31.1 课程设计目的31.2 课程设计内容与要求32 系统需求分析42.1 系统目标42.2 主体功能42.3 开发
2、环境43 系统总体设计43.1 系统的功能模块划分43.2 系统流程图54 系统详细设计64.1 客户端模块设计64.1.1 用户登录模块设计(ClientLogin类)64.1.2 选择试卷模块设计(GetTestFile类)114.1.3 回答试卷查询模块设计(ClientTestArea类)154.2 服务器端模块设计234.2.1 Server类234.2.2 ServerThread类254.2.3 ReadTestquestion类295 代码调试306 软件发布317 小结32参考文献33标准化考试系统1 概 述1.1 课程设计目的1、加深对Java语言与面向对象技术课程基础知识
3、的理解,掌握Java语言面向对象程序设计的开发方法和步骤;2、进一步理解面向对象程序设计的思想和方法,利用Java语言进行程序设计的能力;3、课程设计将课本上的理论知识和实际应用相结合,锻炼学生发现问题、分析问题和解决问题的能力。加强学生研发、编写、调试程序的能力;4、培养学生在项目开发中团队合作精神、创新意识及能力;5、提高学生科技论文写作能力,规范完成课程设计报告。1.2 课程设计内容与要求设计C/S模式的标准化考试系统,即客户端和服务器端都是Java应用程序,具体要求如下:(1)用户单击选项卡中的“登录”将出现登录界面。用户在登录界面输入学号、姓名以及服务器的IP,并请求服务器建立套接字
4、链接。用户登录的目的是为了将自己的基本信息存放到服务器上,以便服务器记录用户的考试成绩。因此,用户和服务器建立连接后,服务器将创建一个和用户相关的一个文件,该文件的名字由用户的学号、姓名以及用户所在客户端机器的IP所组成。(2)单击端选项卡中的“选择试卷”将出现选择试卷界面。如果用户成功登录,即和服务器建立连接并在服务器端创建了和其相关的文件,那么,用户再选择试卷界面可以将服务器上的试卷文件的名字存放到客户端界面中的下拉式列表中,然后再在下拉列表中选择一个试卷文件的名字提交给服务器。(3)单击端选项卡中的“答卷”将出现答卷界面。如果用户成功登录,并且用户通过“选择试卷”界面选择了一套试卷,那么
5、用户在答卷界面可以从服务器读入所选试卷的内容,而且在“答卷”界面可以提交自己的答案给服务器、服务器将用户提交的答案存入用户登录时服务器所创建的和该用户相关的文件中。提交答案后,在“答卷”界面可以查询分数。2 系统需求分析2.1 系统目标通过本系统能够实现用户登录,选择试卷,完成试卷,查询分数等功能。2.2 主体功能A.C/S模式,即客户端与服务器端都是Java应用程序;B.输入服务器IP地址,连接服务器功能;C.登录验证功能;D.学生可以选择所要做的试题;E.开始考试;F.完成考试后,学生可以查看自己的分数、试题、正确答案、分值以及自己所选 择的答案;2.3 开发环境MyEclipse3 系统
6、总体设计3.1 系统的功能模块划分本系统主要有以下几个功能模块:用户登录,选择试卷,完成试卷,查询分数等。标准化考试系统客户端窗口完成试卷用户登录选择试卷提交试卷查询分数退出系统3.2 系统流程图开始连接成功连接服务器输入信息显示登录成功NY选择试卷显示试卷回答试卷提交试卷查看分数退出4 系统详细设计4.1 客户端模块设计4.1.1 用户登录模块设计(ClientLogin类) 1、效果图 2、类的主要成员变量和方法1)成员变量a、verfyMess是String对象,该字符串的前缀为“学生”,后缀是用户输入学号、姓名以及客户端的IP。用户登录时需将verifyMess提交给服务器。b、inp
7、utNumber、inputName和inputServerIP是JtextField创建的文本框,用于用户输入学号、姓名和服务器的IP.。c、hintMess是JLabel创建的标签,用于显示某些提示信息。d、startCon是JButton创建的对象,该按钮将当前容器注册为自己的ActionEvent事件监视器。 2)方法a、ClientLogin()是构造方法,用来创建clientLogin类。b、actionPerformed(ActionEvent)方法是ClientLogin类实现ActionListener接口中的方法。ClientLogin创建的容器startCon按钮的Act
8、ionEvent事件监视器,当用户单击该按钮时,容器将执行actionPerformed(ActionEvent)方法进行相应的操作。3、主要程序代码import java.awt.*;import java.awt.event.*;import java.io.*;import .*;import javax.swing.*;public class ClientLogin extends JPanel implements ActionListener String verifyMess; JTextField inputNumber,inputName,inputServerIP; JL
9、abel hintMess; JButton startCon; String number,name,IP; public ClientLogin() inputNumber=new JTextField(10); inputName =new JTextField(10); hintMess=new JLabel(请输入学号、姓名和服务器的IP,JLabel.CENTER); hintMess.setFont(new Font(隶书,Font.BOLD,18); inputServerIP=new JTextField(10); startCon=new JButton(提交); star
10、tCon.addActionListener(this); Box box1=Box.createHorizontalBox(); box1.add(new JLabel(输入学号:,JLabel.CENTER); box1.add(inputNumber); Box box2=Box.createHorizontalBox(); box2.add(new JLabel(输入姓名:,JLabel.CENTER); box2.add(inputName); Box box3=Box.createHorizontalBox(); box3.add(new JLabel(输入IP:); box3.a
11、dd(inputServerIP); Box box4=Box.createHorizontalBox(); box4.add(new JLabel(单击提交按钮,JLabel.CENTER); box4.add(startCon); Box boxH=Box.createVerticalBox(); boxH.add(box1); boxH.add(box2); boxH.add(box3); boxH.add(box4); JPanel pCenter=new JPanel(); pCenter.add(boxH); pCenter.setBackground(new Color(210,
12、210,110); setLayout(new BorderLayout(); add(pCenter,BorderLayout.CENTER); JPanel pNorth=new JPanel(); pNorth.setBackground(Color.green); pNorth.add(hintMess); add(pNorth,BorderLayout.NORTH); public void actionPerformed(ActionEvent e) if(e.getSource()=startCon) number=inputNumber.getText().trim(); na
13、me=inputName.getText().trim(); if(number.length()0&name.length()0) IP=inputServerIP.getText().trim(); try LoginThread thread=new LoginThread(hintMess); if(!(thread.isAlive() thread=new LoginThread(hintMess); thread.makeConnection(number,name,IP); thread.start(); catch (Exception ee) hintMess.setText
14、(无法连接+ee); else JOptionPane.showMessageDialog(this,必须输入学号和姓名,警告, JOptionPane.WARNING_MESSAGE); class LoginThread extends Thread Socket socket; InetSocketAddress socketAddress; DataInputStream in; DataOutputStream out; JLabel hintMess; LoginThread(JLabel hint) hintMess=hint; public void makeConnectio
15、n(String number,String name,String IP) throws IOException InetAddress address=InetAddress.getByName(IP); socketAddress=new InetSocketAddress(address,6666); socket=new Socket(); socket.connect(socketAddress); in=new DataInputStream(socket.getInputStream(); out=new DataOutputStream(socket.getOutputStr
16、eam(); out.writeUTF(学生+number+name); public void run() String s=null; while(true) try s=in.readUTF(); if(s.startsWith(成功登录:) String verifyMess=s.substring(s.indexOf(:)+1); GetTestFile.setVerifyMess(verifyMess); ClientTestArea.setVerifyMess(verifyMess); GetTestFile.setSocketAddress(socketAddress); Cl
17、ientTestArea.setSocketAddress(socketAddress); hintMess.setText(s); String tishi=成功登录,请单击左侧的选择试卷界面; JOptionPane.showMessageDialog(null,tishi,操作提示, JOptionPane.PLAIN_MESSAGE); if(socket.isClosed() return; if(s.startsWith(已经成功登录了) hintMess.setText(s); String tishi=已经成功登录了,请单击左侧的选择试卷界面; JOptionPane.show
18、MessageDialog(null,tishi,操作提示, JOptionPane.PLAIN_MESSAGE); if(socket.isClosed() return; catch (Exception ee) hintMess.setText(服务器暂时关闭了,稍后再请求连接); return; 4.1.2 选择试卷模块设计(GetTestFile类)1、效果图2、类的主要成员变量和方法 1)成员变量 a、hintMess是JLabel创建的标签,用于显示某些提示信息。b、list是JComboBox创建的下拉列表,用于显示从服务器得到的试卷文件的名字。c、getTestFile和su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 JAVA 课程设计 报告 标准化 考试 系统
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内