1、武 汉 工 商 学 院项 目 名 称 : Java 课 程 上 机 考 试 系 统 学 生 姓 名 : 秦 民 学 号 : 1203090107 班 级 : 12 计 科 本 1 指 导 教 师 : 喻 晓 陈 涛 2014 年 5 月 19 日. Java 程序设计课程设计I目录1. 选题的背景 .11.1 国内外选题现状 .11.2 开发技术概述 .11.3 系统流程分析 .22. 功能设计 .42.1 从技术角度分析实现的功能 .42.2 从系统角度分析实现的功能 .43. 详细设计 .53.1 界面设计 .53.2 关键代码说明 .74. 系统测试 .9总结 .10参考文献 .11源代
2、码 .12Java 程序设计课程设计11. 选题的背景1.1 国内外选题现状在 21 世纪科技高速发展的现在,面对中国目前的基本国情,教育业的发展依旧停留在应试教育的基础之上,考试就成为了教学过程中不可或缺的一个重要组成部分。作为发现和选拔人才的有效手段,也渐渐的走向了自动化、智能化的道路,为了减轻教师的负担,避免了重复工作,更好的实现考教分离,所以考试试卷的自动生成系统便渐渐的走进了教师的教学工作之中。目前随着我国高等教育水平的不断提高,计算机直接介入了教学过程,并承担了教学工作中一些重要环节,但是由于我国目前处于社会主义初级阶段的基本国情的约束,教师的工作量大,不仅要负担教学工作,而且还要
3、承担试题的编辑,批阅等多方面的工作,在这样的环境下试卷自动生成系统应运而生,它可以通过教师预先设置的试题库中智能的筛选出合适的试题,再通过文本编辑软件显示出来,它的出现无疑大大减轻了教师的负担,成为了教育工作中一个实用性高的教学工具,渐渐的在我国发展起来。1.2 开发技术概述1 本系统使用的技术概述(1)GUI 技术简介通过 GUI 技术,用户和程序之间可以方便地进行交互!(2)输入输出流简介输入、输出流提供一条通道程序,可以使用这条通道读取源中的数据或把数据传送到目的地。2系统测试环境a 被测试软件系统的名称 课程设计项目Java 课程上机考试系统b 系统任务提出者喻晓、陈涛老师c 系统开发
4、者1 班:秦民d 系统用户及安装此软件的计算中心1-705 机房、1-709 机房、1-708 机房、1-104 机房Java 程序设计课程设计2e 测试环境与实际运行环境之间的差异以及这些差异对测试结果的影响测试环境:Windows XP、.。1.3 系统流程分析首先用户进入首页会提示用户开始做题,题目显示在相应的文本区域,题目下方会有相应的选项按钮供用户进行选择,并确定最终答案。做完一题之后用户可以选择做下一题或是重新做题的选项,选择做下一题程序就会将下一题的内容显示在相应的文本区域,选择重新做题程序将会调回首题开始重新答题。在以上的基础之上这行程序,知道做到之后一题,之后程序将会给出相应
5、的提示,用户可以选择保存做题结果,程序会将用户的最终的得分情况显示在相应的选定区域中。下图为系统流程图(图 1-1) 。Java 程序设计课程设计3开始做选择题 ( 首题 )提交答案1 . 选择做下一题2 . 重新考试选择做下一题 题库已完结保存结果保存得分结果 不保存得分结果结束12YYNN图 1-1 系统流程图Java 程序设计课程设计42. 功能设计2.1 从技术角度分析实现的功能(1)图形用户界面设计中的功能用表格的形式列出每一项功能内容,并指明实际对应的信息。表 2-1 控件对象概要表序号 功能内容 控件 对象名 备注1. 题目内容显示 JTextArea testContent2.
6、 单选选项 JCheckBox radioButton 选项为ABCD3. 得分显示 JTextField scoreShowing4. 重新考试 JButton restart5. 读下一题 JButton next(2)文件操作设计中的功能完成文件读与写操作。用表格的形式列出使用的文件类和对象。表 2-2 文件对象概要表序号 文件内容 类名 类对象名 备注1 文件读 FileReader file2 读缓冲流 BufferedReader in3 文件写 FileWriter fileWriter4 写缓冲流 BufferedWriter out2.2 从系统角度分析实现的功能系统实现的功
7、能:此系统具有题目显示、选择答案、转换题目、重新考试、显示得分和保存分数等功能。题目显示在界面的第一板块,做题时会出现题目和选项。选择答案有A、B 、 C、D、和 “对” 、 “错”选项,做选择题时待选答案为 A、B、C、D,当做判断题时,选择按钮自动变成“对” 、 “错”按钮。转换题目时按“下一题”按钮,题目自动转换到下一题。Java 程序设计课程设计5按“重新考试”按钮时,整个界面会初始化,可以重新答题。题目做完后会在最下面的板块中显示你的得分。题目做完后会弹出一个对话框,显示“保存分数” “不保存” 。下图为系统功能图。J a v a 机考考试题目显示 重新答题转换题目选择答案 保存分数
8、图 2-1 系统功能图3. 详细设计3.1 界面设计下图为程序运行时的用户首页界面(图 3-1) ,界面中题文本框,各个按钮和得分文本框。图 3-1 用户首页截图下图为用户做选择题时的界面(图 3-2) ,题目框中会出现选择题题目和选项,通过勾选选择按钮进行作答,答完后点“下一题”按钮,解答下一题。Java 程序设计课程设计6图 3-2 选择题页面截图下图为用户做判断题时的界面(图 3-3) ,题目框中会出现判断题题目,通过勾选选择按钮进行作答,答完后点“下一题”按钮,解答下一题。图 3-3 判断题页面截图下图为题目做完后的界面(图 3-4) ,题目框中会出现提示,得分框中会出现选择题得分、判
9、断题得分和总分。图 3-4 得分页面截图下图为题目做完后弹出的提示框(图 3-5) ,提示用户对分数是否进行保存。图 3-5 分数保存页面截图Java 程序设计课程设计73.2 关键代码说明下面的表格是系统代码中的事件所列,系统中主要有六个事件,对应不同的按钮事件,分别是单选选项、判断选项、下一题、重新考试、保存分数和不保存分数,下面有几段重要事件的代码。表 3-1 按钮事件概要表序号 功能内容 控件 对象名 备注1 单选选项 JCheckBox radioButton 选项为ABCD2 判断选项 JCheckBox radioButton 选项为“对” 、“错”3 重新考试 JButton
10、restart4 读下一题 JButton next5 保存分数 JButton ok6. 不保存分数 JButton cancel关键代码。if(e.getSource()=restart) /如果是选的重新开始 restart score =0;scoreShowing.setText(“); /重新开始时清除文本框中的内容tryfile = new FileReader(“test.txt“);in = new BufferedReader(file);catch(IOException ee) reading(); 当选重新开始时,系统会清除文本框的内容,题目会从第一题开始出现,用户可
11、以依次答题,分数也会重新开始记。关键代码。else if(e.getSource()=next) /如果是选的下一题 next Java 程序设计课程设计8reading();j+;if(j3)radioButton0.setText(“对“);radioButton1.setText(“错“);radioButton2.setVisible(false);radioButton3.setVisible(false);点击“下一题”时,题目框中的题目会自动读取下一题的题目,当选择题答完进入判断题时,选项会发生改变, “A”“B”选项会被“对” “错”覆盖,后面的“C” “D”会被隐藏,从而可以
12、进行判断题答题。关键代码。MyDialog()setVisible(true);ok= new JButton(“保存分数“);cancel = new JButton(“不保存“);ok.addActionListener(this);cancel.addActionListener(this);setLayout(new FlowLayout();add(ok);add(cancel);setBounds(60,60,200,100);addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)setVisible(false););