甘肃政法学院计算机科学学院Java程序设计课程设计题目标准化考试系统计算机科学学院计算科学与技术专业11级专升本班学号:201181210115姓名:刘昆明指导教师:李瑞生成绩:____________完成时间:2011年 11月目录1.设计内容及要求 (1)1.1 标准化考试系统的基本要求 (1)1.2 需实现的主要功能 (1)2.需求分析 (2)2.1数据库设计 (2)2.2服务器端和客户端的数据传输方式 (2)2.3 服务器端功能设计 (2)2.4客户端功能设计 (3)3.总体设计 (4)3.1 总体功能图 (4)3.2 总体流程图 (6)4.数据库设计 (7)4.1 数据库及表结构的建立 (7)4.2 JAVA 数据库的连接 (8)5. 主要功能设计流程 (8)5.1服务器端设计流程图 (8)5.2客户端设计流程图 (9)6.代码实现 (10)6.1类之间关系图 (10)6.2 运行效果图 (11)6.3 程序打包发布过程 (17)7. 总结与说明 (18)8. 参考文献 (18)标准化考试系统设计与实现【摘要】:在现今知识爆炸的年代里,教学的质量和怎样提高教师的工作效率成了各大院校的首要任务。
找题、选题和出卷就成为一项非常重要的工作。
每学期教师都要为各类考试付出大量的精力和工作,尤其是一位教师教授多门学科的时候,工作量将成倍增加。
因此开发此考试系统,对各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试,从而使考试过程趋于简单化,减少教师在这方面的工作负担。
因此,使用现在的新技术,开发出适应新的需求的新系统刻不容缓。
四年的大学生活转瞬既逝,在这四年中,我系统的学习了计算机科学与技术专业的所有课程。
深入的学习了各个科目的理论知识,对专业知识有了整体的掌握。
在即将毕业之际,为了理论联系实际,检验自己的学习成果,我选择了这个题目作为课程设计。
在此毕业设计的完成过程中,我严格遵循软件开发的过程,将理论知识与具体问题相结合。
在应用程序开发中我一方面学习了软件编程思想,另一方面具体的运用了JAVA语言。
体会了他的诸多功能和特色。
熟悉了数据库应用程序的开发原理。
确实达到了学校和辅导教师对我们应届毕业生的各种要求。
【关键词】:J2ME;标准化考试;设计与实现11.设计内容及要求1.1 标准化考试系统的基本要求设计C/S模式的标准化考试系统,即客户端和服务器端都是Java应用程序,具体要求如下:(1)开始运行程序后,出现连接服务器界面,用户输入服务器IP地址,并请求服务器建立套接字连接,程序可以判断用户输入的服务器IP是否正确,并给出连接提示,使客户端与服务器端分离。
(2)正确连接服务器后,有用户登录验证功能,用户可以选择自己的登录身份,是学生还是教师。
用户在登录界面输入用户名,密码以及登录身份后,客户端会把用户的相关信息通过套接字发送到服务器端,服务器端根据客户端传来的信息对用户的身份进行验证,并发送相关信息到客户端。
(3)学生正确登录后,进入考试主界面,用户可以选择试题进行考试,点击开始按钮开始考试,考试考试后,有计时功能,考试完成以后用户可以查看自己的分数,可以查看原题目、正确答案以及该道题目的分值,用户还可以查看自己所选的答案,用户考试完成后可以选择退出系统。
(4)教师登录成功后,进入后台管理界面,教师可以对标准化考试系统进行管理,教师有以下管理功能:1.可以增加、查询、修改和删除试题;2.可以查看所有考生的考试成绩,而且可以对考生进行排名查看;3.可以增加、查询、修改和删除学生信息;4.可以增加、修改、查询和删除教师信息;(5)试卷名字、学生信息、教师信息、试题全都用SQL Server数据库存储,并且采用JDBC连接数据库。
每一道题都必须提供正确答案以及分值。
1.2 需实现的主要功能①C/S模式,即客户端与服务器端都是Java应用程序;②输入服务器IP地址,连接服务器功能;③登录验证功能;④学生可以选择所要做的试题;⑤开始考试后,有计时功能,当时间结束时考试结束;⑥完成考试后,学生可以查看自己的分数、试题、正确答案、分值以及自己所选择的答案;⑦教师可以增加、修改、查询、删除试题;⑧教师可以查看所有考生的成绩,并且可以按成绩降序查看成绩;⑨教师可以增加、修改、查询、删除学生信息;⑩教师可以增加、修改、查询、删除教师信息;2.需求分析根据标准化考试系统的设计要求和所要实现的功能,对标准化考试系统的需求分析如下:2.1数据库设计此标准化考试系统采用的是数据库来存储试题的,而不是采用文件最主要的一个原因是数据库的读取速度比文件读取速度快。
该系统采用的是SQL Server 2005数据库,SQL Server数据库是一个非常强大的数据库,在各方面应用比较广泛,是一些中小型项目开发首选数据库。
该标准化考试系统需要创建kaoshi数据库文件,在该数据库中需要创建student、teachter、shijuan和Test1四个表。
Student数据表是用来存储学生信息;teachter数据表用来存储教师信息;shijuan数据表用来存储试卷名字;Test1用来存储试题。
2.2服务器端和客户端的数据传输方式服务器端和客户端的数据时用套接字来传输的。
IP地址表示Internet上的计算机,端口号标识正在计算机运行的进程。
端口号与IP地址的组合得出一个网络套接字。
客户端使用Socket类建立到服务器的套接字连接,具体实现:try{Socket sock=new Socket(String host,int port);}catch(IOException e){}当套接字连接sock建立后,sock使用getInputStream()方法获得一个输入流,然后把获得的输入流接到另一个数据流上,然后就可以从这个数据流读取服务器来的信息,同样sock使用getOutputStream()方法获得一个输出流,然后把获得的输出流接到另一个DataOutputStram()数据流上,然后向这个数据流写入信息,发送给服务器。
客户负责建立客户端到服务器的套接字连接,即客户端负责呼叫,因此服务器必须建立一个等待接收客户的套接字的ServerSocket对象,具体实现:try{ServerSocket server_socket=new ServerSocket(int port);}catch(IOException e){}当服务器的ServerSocket对象建立后,就可以使用accept()方法接收客户的套接字。
2.3 服务器端功能设计服务器端是接受客户端传来的信息,并作出相应的处理。
标准化考试系统服务器端最主要是实现试题的读取。
为了完成这个标准化考试系统还需要服务器有一些其他的功能,比如:计算学生考试分数,用户登录验证,教师对系统管理的实现等。
2.3.1试题读取功能本系统是采用数据库来存储试题的,所以要读取试题必须首先建立与Test1数据表的连接,然后利用ResultSet的对象rs的getString()方法得到试题的内容,然后把试题内容发给客户端。
2.3.2用户登录验证功能当用户登录时,客户端会获取用户输入的用户名和密码,并且会把信息发送给服务器,服务器会根据客户端发来的信息对用户的身份进行验证。
kaoshi数据库有两个数据表是用来存储用户信息的,student数据表存储学生信息,teachter数据表存储教师信息,当用户以学生身份登录系统时,服务器会在student数据表中查询有没有这个用户,并根据查询的信息判断学生是否成功登陆,把信息发送给客户端,当用户以教师身份登录系统时,服务器会在student数据表中查询有没有这个用户,并根据查询的信息判断教师是否成功登陆,把信息发送给客户端。
2.4客户端功能设计客户端是提供学生进行考试和教师对系统进行管理,由于该系统是C/S模式,所以客户端必须有连接服务器功能,连接服务器后有用户登录功能,用户正确登录后,学生用户进入考试界面,所以客户端必须有考试功能,教师用户正确登录后进入教室管理界面,客户端必须有试题管理功能,查询学生成绩功能,学生信息管理功能,教师信息管理功能。
2.4.1连接服务器功能客户端与服务器端连接时通过套接字实现的,本系统采用的是把套接字放在一个线程中,就是使用Socket类不带参数的构造方法Socket()创建一个套接字对象,该对象需调用public void connect(SocketAddress endpoint) throws IOException ,请求和参数SocketServer指定的套接字建立连接。
为了使用connect方法,可以使用SocketAddress的子类InetSocketAddress创建一个对象, InetSocketAddress的构造方法如下:public InetSocketAddress(InetAddress addr,int port)。
2.4.2用户登录功能用户在进入系统前必须经过用户登录,用户登录功能是为了保护系统的安全,当用户写入用户名和密码,并且选择了登陆身份后,客户端会获取用户的信息发送给服务器端,让服务器度昂对用户的身份进行验证,并传来登录是否成功的信息,客户端根据服务器端传来的信息进行判断,如果登录成功,弹出对话框显示用户登录成功,学生进入考试界面,教师进入后台管理界面;如果登录失败,弹出对话框显示用户名或密码错误或者显示你已经登录了。
2.4.3考试功能学生正确登录后就进入考试界面,学生进入考试界面后,必须选择试卷,客户端会通知服务器端列出所有的试卷名称,在客户端的下拉列表中会显示所有试卷的名字,用户选择了试卷后,客户端会通知服务器端学生所选的试卷名称,学生点击开始考试按钮就可以开始考试了,同时计时器开始计时,当用户完成考试或者时间用完了考试结束,考试结束后用户可以点击查询成绩按钮,用户可以看到题目,答案以及自己所选的答案,还有你的成绩,查询成绩是用对话框实现,玩了后用户可以退出系统。
2.4.4后台管理功能后台管理功能就是对试题进行管理,查询学生成绩,对学生信息进行管理,对教师信息进行管理,试题管理有对尸体进行增加,删除,查询,修改,当用户在客户端输入试题信息后,点击这些按钮,客户端就会发送信息给服务器,服务器来查询或者修改数据库,其他的也一样,总是通过服务器端对数据库进行数据库操作3.总体设计3.1 总体功能图根据分析,标准化考试系统必须实现以下功能:1.连接服务器功能;2.用户登录功能;3.考试功能;4.管理功能;根据系统需求,标准化考试系统的总体功能图如图3-1所示:图3-1总体功能图3.2 总体流程图图3-2 总体流程图4.数据库设计4.1 数据库及表结构的建立该标准化考试系统共创建了一个kaoshi 数据库,该数据库中创建了student 、teachter 、shijuan 和Test1四个表。