基于Java的记忆测试系统(含源文件)

更新时间:2024-03-12 17:40:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

2009级程序设计综合课程设计报告

报告题目:

基于Java的记忆测试系统

的设计与开发

学 院 : 专 业 : 计算机科学与技术 班 级 :

学 号 :

学生姓名 :

指导教师 :

二○一一年 六 月

1

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

程序设计综合课程设计任务书

一、主要任务与目标

1.掌握Java语言,能够学会使用Java开发具体的应用。

2.熟悉数据库SQL Server的使用,熟悉数据库编程语言(主要是SQL)。 3.使用所学知识开发一个基于Java的记忆测试系统。

二、主要内容与基本要求

用java语言编写一个记忆测试系统。 设计要求如下:

1)单击“选择级别”菜单可以选择初级、中级和高级;

2)单击“查看排行榜”菜单可以查看初级记忆榜、中级记忆榜和高级记忆榜,通过储存榜记忆每个级别的成绩;

3)相应级别测试区,有m*n个方块组成,测试级别有m和n确定。每个方块上都有一个图标,但该图标默认不可见。用鼠标单机测试区中的任何一个方块,则计时器开始启动,同时该方块上的图标讲显示出来;

4)每个测试区中有m个图标,每个图标重复出现n次,并且随机分布。用户必须用鼠标连续单击出n个图标相同的方块,若其中点到不同图标,则前几次单击出的图标全都变得不可见,只有当前单击的方块的图标可见;

5)测试区能显示用户的用时,并根据级别不同,提示用户必须用鼠标连续单击出多少个图标相同的方块;

6)测试区有提示图标所在位置的功能。用户单机测试区中的“提示”按钮后,测试区将持续1.2秒为用户显示全部方块上的图标。用户每单击一次“提示”按钮,用户的用时将增加10秒;

7)连续单击出级别所要求的若干个图标相同方块后,将弹出保存成绩对话框,用户可以通过该对话框选择是否将自己的成绩保存到成绩表中;

8)单击“选择图标”菜单可重新选择方块的图标样式,即可以重新选择m个图标;

9)单击“帮助”菜单可以查看帮助和关于信息; 10)添加更多图标,使用户可以选择多种图标;

11)改进测试条件,用户单击鼠标的次数越多则成绩越差;

12)增加更加丰富的音乐效果,程序开始时播放背景音乐,当用户成功翻开相同图标方块后,程序播放简短、动听的一声音乐,而用户翻开不相同图标方块后,程序播放简短、警告的一声音乐。

13)单击“设置”菜单可以进行对程序的相关设置,用一个文件存储相关设置信息。

14)添加“登录”、“注册”界面,并用数据库存储相关注册信息。

三、计划进度

2

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

1.4月11日--4月14日:搜集资料、查阅文献,确定选题,写任务书,确定分

组工作

2.4月14日-- 4月21日:需求分析,系统设计,系统功能模块完善 3. 4月21日--4月28日:主要模块程序流程图、编程实现系统 4.4月28日--5月15日:系统调试、测试、修改与完善 5.5月15日--5月27日:课程设计报告撰写 6.5月28日--6月10日:课程设计报告答辩

四、主要参考文献

[1] 耿祥义,张跃平.Java大学实用教程(第2版).电子工业出版社.2010年1月

[2] 耿祥义,张跃平.Java课程设计(第二版).清华大学出版社.2008年11月

五、小组分工

(组长):编写主类MemoryGame,程序主要功能模块MemoryTestArea类及“设置”相关功能模块,与小组成员共同完成程序编写;

:撰写任务书,主要负责程序排行榜模块,完成Record、ShowRecordDialog等类的编写,搜集程序所需资源等;

:主要负责帮助菜单相关功能模块,ShowHelpDialog、ShowAboutDialog等类的编写,以及程序的功能测试。

学生(签字)

2011年4月12日

指导教师 2011年4月12日

3

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

目录

程序设计综合课程设计任务书 ................................................................................................................. 2 第1章 引言 ............................................................................................................................................... 6 1.1 背景 .................................................................................................................................................. 6 1.2 课程设计内容 .................................................................................................................................. 6 1.3 任务分工 .......................................................................................................................................... 6 第2章 记忆测试系统 ............................................................................................................................... 7 2.1 记忆测试系统概述 .......................................................................................................................... 7

2.1.1 记忆测试系统的定义 ...................................................................................................... 7 2.1.2 记忆测试系统的任务 ...................................................................................................... 7 2.2 本章小结 .......................................................................................................................................... 7 第3章 记忆测试系统的设计 ................................................................................................................... 8 3.1 系统需求分析 .................................................................................................................................. 8 3.2 系统开发及运行环境 ...................................................................................................................... 8 3.3 系统主要功能要求 .......................................................................................................................... 8 3.4 系统模块化分析 .............................................................................................................................. 9

3.4.1 记忆测试系统总体结构 .................................................................................................. 9 3.4.2 制药企业进销存管理系统各模块介绍 .......................................................................... 9 3.5 本章小结 ........................................................................................................................................ 10 第4章 系统的具体实现 .......................................................................................................................... 11 4.1界面设计 .......................................................................................................................................... 11

4.1.1用户登陆界面图 .............................................................................................................. 11 4.1.2 系统主界面 .................................................................................................................... 14 4.2详细设计 ......................................................................................................................................... 15

4.2.1 MemoryGame类 ............................................................................................................. 15 4.2.2 MemoryTestArea类 ........................................................................................................ 16

4

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

4.2.3 Block类 ........................................................................................................................... 17 4.2.4 ShowRecordDialog类 ..................................................................................................... 17 4.2.5 People类 ......................................................................................................................... 18 4.2.6 Record类 ........................................................................................................................ 18 4.3程序设计及调试运行 ..................................................................................................................... 18 4.4 本章小结 ........................................................................................................................................ 19 第5章 总结 ............................................................................................................................................. 20 致谢 ........................................................................................................................................................... 21 参考文献 ................................................................................................................................................... 22

5

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

第1章 引言

1.1 背景

伴随着计算机科学技术的发展,计算机软件在各行各业的应用变得越来越普及,市场竞争在各行各业也日趋激烈记忆测试系统是一个基于java的应用系统。整个系统从符合操作简便、界面友好、灵活、使用、安全的要求出发,完成相关操作。

本课程设计报告介绍了记忆测试系统,论述了此进销存管理系统的需求分析,目标功能模块;以及具体实现了它。在系统实现章节,给出了部分实现了的功能界面和相关的代码。

1.2 课程设计内容

记忆测试系统是通过回忆法测试记忆能力,测试手段分为初级、中级和高级三个级别,使用该系统以达到测试和锻炼记忆能力的目的。系统具有用户登录、注册功能,使用JDBC数据库连接技术保存用户信息,同时保存每个用户的不同等级的成绩。

1.3 任务分工

陈登基(组长):编写主类MemoryGame,程序主要功能模块MemoryTestArea类及

“设置”相关功能模块,与小组成员共同完成程序编写;

江海:撰写任务书,主要负责程序排行榜模块,完成Record、ShowRecordDialog

等类的编写,搜集程序所需资源等;

俞谦:主要负责帮助菜单相关功能模块,ShowHelpDialog、ShowAboutDialog等

类的编写,以及程序的功能测试。

6

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

第2章 记忆测试系统

2.1 记忆测试系统概述

记忆测试系统是通过回忆法测试记忆能力,测试手段分为初级、中级和高级三个级别,使用该系统以达到测试和锻炼记忆能力的目的。

2.1.1 记忆测试系统的定义

记忆测试系统使用户点击连续图块,如果连续单击出指定数目的相同图块,则测试通过,若点击错误,则原图块皆不可见,以此达到测试用户记忆的目的。

2.1.2 记忆测试系统的任务

记忆测试系统分为三个不同级别,各个级别有相应的英雄榜存储不同用户不同级别的成绩,用户可以选择级别,查看英雄榜,设置背景音乐级音效等。

2.2 本章小结

这一章介绍了当前记忆测试应该具备的功能模块。在这一章中,我们可以了解什么是记忆测试系统,记忆测试系统的需求,还有一个记忆测试系统应该的开发目标。

7

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

第3章 记忆测试系统的设计

这一章是记忆测试系统的设计,从系统需求分析开始,介绍开发环境和用到的开发工具,系统主要的功能设计,系统的数据流程图。

3.1 系统需求分析

记忆测试系统的设计目标为: (1)整个系统采用图形用户界面。

(2)登陆注册界面,用数据库的形式保存用户信息。 (3)保存用户使用纪录,成绩的功能。

3.2 系统开发及运行环境

硬件平台:

? ?

CPU:Core(TM)2 Duo 2.2GHz。 内存:2GB以上。

软件平台:

? ? ?

操作系统:Windows 7。 数据库:SQL Server 2008。

开发工具包:JDK Version1.6.2。

3.3 系统主要功能要求

本系统针对中小型企业进销存管理现状,通过网络对企业的进销存进行有效管理。本系统主要实现如下功能:

?

系统采用人机对话方式,界面美观友好,信息查询灵活、方便、

快捷、准确,数据存储安全可靠。

? ? ?

程序流程清晰。

系统最大限度地实现了易维护性和易操作性。

系统运行稳定、安全可靠。

8

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

3.4 系统模块化分析

3.4.1 记忆测试系统总体结构

MemoryGame String File MemoryTestArea ShowRecordDialog File TreeSet ArrayList String Record Timer File Thread 3.1 系统功能结构图

3.4.2 制药企业进销存管理系统各模块介绍

系统各功能模块实现的功能为:

? MemoryGame(主类):该类负责创建记忆测试系统的主窗口,含有main()方法,

记忆测试系统从该类开始执行。该类有4种重要类型的对象,分别是String、File、MemoryTestArea和ShowRecordDialog对象。

? MemoryTestArea: 该类是主类MemoryGame窗口中的一个JPanel容器,所创

建的对象成为“测试区”,这个“测试区”被添加到MemoryGame窗口的中心。该类主要有六种类型的成员:ArrayList、String、Record、Timer、File、和Thread对象。

? Block: 该类是JButton的子类,负责为MemoryTestArea类中ArrayList

数组表提供Block对象。

? Record: 该类是JDialog的子类,当用户成功单击出相应级别所要求的图标相

同的方块后,Record创建的对象负责保持用户的名字和成绩到相应级别的文件中。

? ShowRecordDialog: 该类是JDialog的子类,当用户单击“查看排行榜”时,该

类创建的对象负责显示用户的成绩。

9

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

? People: 该类封装用户的名字和成绩,以便ShowRecordDialog对象可以按成绩

的高低排序用户。

? PlayMusic:声音处理类,可控制背景音乐,各音效的播放。 ? LoginDialog:登录注册界面,验证登录用户,注册新用户。

? JDBC:数据库处理类,用于连接数据库,封装用户信息的保存,查询方法。

3.5 本章小结

本章是记忆测试系统的具体设计过程,有具体的需求分析、系统功能模块。这里我们开始接触记忆测试系统开发的最初步骤,也是很重要的一步。

10

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

第4章 系统的具体实现

界面是系统之间最直接的交互界面,界面的友好性体现了软件设计的质量, 并在很大程度上决定了软件是否成功。

4.1界面设计

4.1.1用户登陆界面图

登陆界面 输入 用户信息 验证 输入信息是否合法 否 跳转 弹出错误信息 是 用户登录到主界面

图4.1.1 用户登录模块框图

11

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

此函数的作用是检测用户登陆的合法性,并确认用户输入了合法的登录名和口令。 部分代码:

// 验证码错误

if (!randText.getText().toLowerCase().equals(randStr.toLowerCase())) { JOptionPane.showMessageDialog(this, \验证码错误!\, \错误\, JOptionPane.ERROR_MESSAGE); }

// 用户名、密码错误 if (!jdbc.exists(userName.getText(), new String(passWord.getPassword()))) {

JOptionPane.showMessageDialog(this, \用户名或密码错误!\, \错误\, JOptionPane.ERROR_MESSAGE); }

// 输入信息都正确

this.setVisible(false); jf.setVisible(true);

return;

randIcon.setIcon(getImageIcon()); return;

图4.1 用户登陆界面

12

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

图4.2 用户这次界面

此函数的作用是检测用户注册信息的合法性,并保存新用户的登录名和口令。 部分代码:

// 验证码错误

if (!textRand.getText().toLowerCase().equals(strTextRand.toLowerCase())) {

JOptionPane.showMessageDialog(this, \验证码输入有误!\, \错误\, JOptionPane.ERROR_MESSAGE); }

// 用户已经存在

if (jdbc.exists(userName.getText())) {

JOptionPane.showMessageDialog(this, \用户名已存在!\, \错误\, JOptionPane.ERROR_MESSAGE); }

// 两次密码不同

String pw1 = new String(passWord1.getPassword()); if (!pw1.equals(new String(passWord2.getPassword()))) { JOptionPane.showMessageDialog(this, \两次密码不同!\, \错误\, JOptionPane.ERROR_MESSAGE); }

// 插入新纪录

jdbc.insert(userName.getText(), pw1); this.setVisible(false); return; return;

showIcon.setIcon(getImageIcon()); return;

13

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

4.1.2 系统主界面

图5.2 系统主界面

14

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

4.2详细设计

4.2.1 MemoryGame类

MemoryGame----------+++barmenuGrade,menuResult,menuIcononeGradeItem,towGradeItem,threeGradeItemoneGradeResult,towGradeResult,threeGradeResultcarImageIcon,animailImagefileOneGrade,fileTowGrade,fileThreeGrade,gradeFileimageNamememoryAreashowDialogm,nMemoryGame (): 无类型actionPerformed (): voidmain (): void: JMenuBar: JMenu: JMenuItem: JMenuItem: JMenuItem: File: String[]: MemoryArea: ShowRecordDialog: int1)成员变量

? bar是JMenuBar类创建的菜单条,可以向bar中添加菜单。

? menuGrade、menuResult、和menuIcon是JMenu类创建的三个菜单,这三个

菜单的名称分别是“选择级别”、“查看排行榜”和“选择图标”。 ? oneGradeItem、twoGradeItem和threeGradeItem是JMenuItem类创建的三个菜

单项,被添加到menuGrade菜单中。这三个菜单项的名称分别是“初级”、“中级”和“高级”。 ? oneGradeResult、twoGradeResult和threeGradeResult是JMenuItem类创建的三

个菜单项,被添加到menuResult菜单中。这三个菜单项的名称分别是“初级排行榜”、“终极排行榜”和“高级排行榜”。

? carImageIcon和animalImageIcon是JMenuItem类创建的两个菜单项,被添加

到menuIcon菜单中。这两个菜单项的名称分别是“汽车图标”和“动物图标”。 ? fileOneGrade、fileTwoGrade、fileThreeGrade三个文件对象所引用的文件对象

分别是“初级记忆排行榜”、“中级记忆排行榜”和“高级记忆排行榜”,分别用来写入三个级别的成绩。gradeFile可以是fileOneGrade、fileTwoGrade和fileThreeGrade中的某一个。

? imageName是String类型的数组,每个单元是一个图像文件的名字。 ? memoryArea是测试区对象,有MemoryArea类负责创建。

? showDialog是负责显示成绩的对话框,由ShowRecordDialog类负责创建。 ? m和n是int型数据,其值可以确定响应级别中测试区中方块的数量。

15

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

4.2.2 MemoryTestArea类

------------+++++MemoryTestArearow,col,usedTime,success: intgradeFile: FileallBlockList: ArrayListimageFileName: String[]openIconList: LinkedListopenBlockList: LinkedListhintThread: ThreadhintButton: JBttounshowUsedTime: JTextFiledhintMessage: JTextFiletimer: Timerrecord: RecordMemoryTestArea (): 无类型initBlock (): voidsetImageName (): voidactionPerformed (): voidrun (): void...

1)成员变量

? row和col确定测试区中方块的数量。 ? usedTime是用户的用时,单位是秒。

? success的值是用户找到的具有相同的图标的方块个数。 ? gradeFile是级别文件。

? 数组表allBlockList单元的个数row和col的乘积,每个单元存放一个Block

对象。

? 字符串数组imageFileName中的每个单元是一副图像文件的名字。 ? 链表openIconList存放用户找到的图标相同的方块上的图标。 ? 链表openBlockList用来存放用户找到的图标相同的方块。

? hintThread是用Thread类创建的线程对象,用来提示测试区中的Block上的

16

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

图标,提示方式是将测试区中的所有图标持续显示1200毫秒。 2)方法

? initBlock(int, int, String[])方法用来设置row、colimageFileName和gradeFile。 ? setImageName(String[])方法设置图片文件名字。 ? run() 方法实现接口Runnable的方法。

4.2.3 Block类

Block-openStateIcon: ImageIcon+setOpenStateIcon (): void+getOpenStateIcon (): void...MemoryTestArea-allBlockList: ArrayList

1)成员变量

? openStateIcon是方块上的图标。

4.2.4 ShowRecordDialog类

----++++ShowRecordDialoggradeFile: Fileclear: JBttonshowArea: JTextAreatreeSet: TreeSetShowRecordDialog (): 无类型setGradeFile (): voidshowRecord (): voidactionPerformed (): void...MemoryGame-showDialog: ShowRecordDialog

1)成员变量

? gradeFile是对话框要读取的文件,该文件存储成绩。 ? treeSet负责将成绩按高低排序。

17

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

4.2.5 People类

Peoplename: Stringtime: intgetTime (): intgetName (): Stringcornpare (): int...ShowRecordDialog-treeSet: TreeSet--+++

方法

? compareTo(Object)是Comparable接口中的方法,其操作是确定People对象的

大小关系。

4.2.6 Record类

-----++++Recordtime: intyourName: JTestFiledlabel: JLanelenter,cancel: JBttongradeFile: FileRecord (): 无类型setGradeFile (): voidsetTime (): voidactionPerformed (): void...MemoryTestArea-record: Record

4.3程序设计及调试运行

利用Java“一次编写,各处运行”的编程优点,按功能模块结构设计菜单,布置各明细模块工作界面,编写各个模块的程序代码,进行编译连接运行,经过反复调试修改,以达到系统功能要求。这个过程具有大量的工作量,应仔细对每个程序细节进行分析思考、编写程序并调试,做到程序简洁清楚,尽量避免可能潜

18

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

在的程序错误,并在必要的地方加以注释,以便于程序阅读和修改。

4.4 本章小结

本章介绍了系统的具体实现和部分关键代码,其中包括用户登录所要用到的函数,主界面的框架设计和分析。

19

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

第5章 总结

这次课程设计采用的技术主要有:JDBC数据库连接技术和利用Eclipse集成开发环境。

虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助。我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。

开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具有先现实意义。所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。我们不可能做到面面俱到,但一定要做到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。

通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。

20

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

致谢

首先我们要感谢指导老师 ,在我们学习《Java程序设计》与完成《Java程序课程设计》的过程中所给予的热情教导、精心指导与大力支持。在许老师的教导和指导下,我们的Java程序设计知识和能力从无到有、由弱渐强,理论和实践水平有了长足的进步和显著的提高,不断开阔了思路与视野,总结出了许多有意义的设计与开发经验。这些对我们来说是无比珍贵的知识和经验财富。在此,向许老师致以最诚挚的谢意。

21

浙江科技学院信息与电子工程学院2009级Java程序课程设计报告

参考文献

[1] 耿祥义,张跃平.Java大学实用教程(第2版).电子工业出版社.2010年1月

[2] 耿祥义,张跃平.Java课程设计(第二版).清华大学出版社.2008年11月

22

本文来源:https://www.bwwdw.com/article/41k8.html

Top