java课程设计报告标准化考试系统_第1页
java课程设计报告标准化考试系统_第2页
java课程设计报告标准化考试系统_第3页
java课程设计报告标准化考试系统_第4页
java课程设计报告标准化考试系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、甘肃政法学院计算机科学学院Java程序设计课程设计题目标准化考试系统计算机科学学院计算科学与技术专业ii级专升本班学 号:201181210115姓 名: 刘昆明 扌旨导教师: 李 瑞 生 成 绩:完成时间:2011年_1_月目录1设计内容及要求 11.1 标准化考试系统的基本要求 11.2 需实现的主要功能 12需求分析 22.1 数据库设计 22.2 服务器端和客户端的数据传输方式 22.3 服务器端功能设计 22.4 客户端功能设计 33总体设计 43.1 总体功能图 43.2 总体流程图 64数据库设计 74.1 数据库及表结构的建立 74.2 JAVA 数据库的连接 85. 主要功能

2、设计流程 85.1 服务器端设计流程图 85.2 客户端设计流程图 96代码实现 106.1 类之间关系图 106.2 运行效果图 116.3 程序打包发布过程 177. 总结与说明 188. 参考文献 .18标准化考试系统设计与实现【摘 要】:在现今知识爆炸的年代里, 教学的质量和怎样提高教师的工作效率成了各大院校的 首要任务。找题、选题和出卷就成为一项非常重要的工作。每学期教师都要为各类考试付出大量的 精力和工作,尤其是一位教师教授多门学科的时候,工作量将成倍增加。因此开发此考试系统,对 各专业课程的问卷进行整理入库,以便在需要的时候能够及时、方便、快速的对学生进行各级测试, 从而使考试过

3、程趋于简单化,减少教师在这方面的工作负担。因此,使用现在的新技术,开发出适应新的需求的新系统刻不容缓。四年的大学生活转瞬既逝, 在这四年中, 我系统的学习了计算机科学与技术专业的所有课程。 深入的学习了各个科目的理论知识,对专业知识有了整体的掌握。在即将毕业之际,为了理论联系 实际,检验自己的学习成果,我选择了这个题目作为课程设计。在此毕业设计的完成过程中,我严 格遵循软件开发的过程,将理论知识与具体问题相结合。在应用程序开发中我一方面学习了软件编 程思想,另一方面具体的运用了 JAVA 语言。体会了他的诸多功能和特色。熟悉了数据库应用程序 的开发原理。确实达到了学校和辅导教师对我们应届毕业生

4、的各种要求。【关键词】:J2ME ;标准化考试;设计与实现1设计内容及要求1.1 标准化考试系统的基本要求设计 C/S 模式的标准化考试系统,即客户端和服务器端都是 Java 应用程序,具体 要求如下:(1) 开始运行程序后, 出现连接服务器界面, 用户输入服务器 IP 地址,并请求服务 器建立套接字连接,程序可以判断用户输入的服务器 IP 是否正确,并给出连接提示, 使客户端与服务器端分离。(2) 正确连接服务器后,有用户登录验证功能,用户可以选择自己的登录身份,是 学生还是教师。用户在登录界面输入用户名,密码以及登录身份后,客户端会把用户的 相关信息通过套接字发送到服务器端, 服务器端根据

5、客户端传来的信息对用户的身份进 行验证,并发送相关信息到客户端。(3) 学生正确登录后,进入考试主界面,用户可以选择试题进行考试,点击开始按 钮开始考试,考试考试后,有计时功能,考试完成以后用户可以查看自己的分数,可以 查看原题目、正确答案以及该道题目的分值,用户还可以查看自己所选的答案,用户考 试完成后可以选择退出系统。(4) 教师登录成功后,进入后台管理界面,教师可以对标准化考试系统进行管理, 教师有以下管理功能: 1. 可以增加、查询、修改和删除试题; 2.可以查看所有考生的考 试成绩,而且可以对考生进行排名查看; 3. 可以增加、查询、修改和删除学生信息; 4. 可以增加、修改、查询和

6、删除教师信息;(5) 试卷名字、学生信息、教师信息、试题全都用 SQLServer 数据库存储,并且采 用JDBC连接数据库。每一道题都必须提供正确答案以及分值。1.2 需实现的主要功能 C/S 模式,即客户端与服务器端都是 Java 应用程序; 输入服务器 IP 地址,连接服务器功能; 登录验证功能; 学生可以选择所要做的试题; 开始考试后,有计时功能,当时间结束时考试结束; 完成考试后,学生可以查看自己的分数、试题、正确答案、分值以及自己所选 择的答案; 教师可以增加、修改、查询、删除试题; 教师可以查看所有考生的成绩, 并且可以按成绩降序查看成绩; 教师可以增加、修改、查询、删除学生信息

7、; 教师可以增加、修改、查询、删除教师信息;2需求分析根据标准化考试系统的设计要求和所要实现的功能, 对标准化考试系统的需求分析 如下:2.1 数据库设计 此标准化考试系统采用的是数据库来存储试题的, 而不是采用文件最主要的一个原 因是数据库的读取速度比文件读取速度快。该系统采用的是 SQL Server 2005 数据库, SQLServer 数据库是一个非常强大的数据库,在各方面应用比较广泛,是一些中小型项 目开发首选数据库。该标准化考试系统需要创建 kaoshi 数据库文件,在该数据库中需 要创建 student 、teachter 、shijuan 和 Test1 四个表。 Stude

8、nt 数据表是用来存储学生 信息; teachter 数据表用来存储教师信息; shijuan 数据表用来存储试卷名字; Test1 用来存储试题。2.2 服务器端和客户端的数据传输方式 服务器端和客户端的数据时用套接字来传输的。 IP 地址表示 Internet 上的计算机, 端口号标识正在计算机运行的进程。端口号与 IP 地址的组合得出一个网络套接字。客 户端使用 Socket 类建立到服务器的套接字连接,具体实现:trySocket sock=new Socket(String host,int port);catch(IOException e)当套接字连接 sock 建立后, soc

9、k 使用 getInputStream() 方法获得一个输入流,然后把 获得的输入流接到另一个数据流上,然后就可以从这个数据流读取服务器来的信息,同 样 sock 使用 getOutputStream() 方法获得一个输出流, 然后把获得的输出流接到另一个 DataOutputStram() 数据流上,然后向这个数据流写入信息,发送给服务器。客户负责 建立客户端到服务器的套接字连接,即客户端负责呼叫,因此服务器必须建立一个等待 接收客户的套接字的 ServerSocket 对象,具体实现: tryServerSocket server_socket=new ServerSocket(int p

10、ort);catch(IOException e)当服务器的 ServerSocket 对象建立后,就可以使用 accept() 方法接收客户的套接字。2.3 服务器端功能设计 服务器端是接受客户端传来的信息,并作出相应的处理。标准化考试系统服务器端 最主要是实现试题的读取。 为了完成这个标准化考试系统还需要服务器有一些其他的功 能,比如:计算学生考试分数,用户登录验证,教师对系统管理的实现等。2.3.1 试题读取功能本系统是采用数据库来存储试题的, 所以要读取试题必须首先建立与 Test1 数据表 的连接,然后利用 ResultSet 的对象 rs 的 getString() 方法得到试题的

11、内容, 然后把试 题内容发给客户端。2.3.2 用户登录验证功能当用户登录时,客户端会获取用户输入的用户名和密码,并且会把信息发送给服务 器,服务器会根据客户端发来的信息对用户的身份进行验证。kaoshi数据库有两个数据表是用来存储用户信息的,stude nt数据表存储学生信息, teachter数据表存储教师信息,当用户以学生身份登录系统时,服务器会在stude nt数据表中查询有没有这个用户,并根据查询的信息判断学生是否成功登陆,把信息发送给客 户端,当用户以教师身份登录系统时,服务器会在 student 数据表中查询有没有这个用 户,并根据查询的信息判断教师是否成功登陆, 把信息发送给客

12、户端。2.4 客户端功能设计客户端是提供学生进行考试和教师对系统进行管理,由于该系统是 C/S 模式,所以 客户端必须有连接服务器功能,连接服务器后有用户登录功能,用户正确登录后,学生 用户进入考试界面,所以客户端必须有考试功能,教师用户正确登录后进入教室管理界 面,客户端必须有试题管理功能,查询学生成绩功能,学生信息管理功能,教师信息管 理功能。2.4.1 连接服务器功能客户端与服务器端连接时通过套接字实现的, 本系统采用的是把套接字放在一个线 程中,就是使用 Socket 类不带参数的构造方法 Socket() 创建一个套接字对象,该对象 需调用 public void connect(S

13、ocketAddress endpoint) throws IOException ,请求和参数 SocketServer 指定的套接字建立连接。为了使用 connect 方法,可以使用SocketAddress 的子类 InetSocketAddress 创建一个对象, InetSocketAddress 的构造 方法如下: public InetSocketAddress(InetAddress addr,int port)。2.4.2 用户登录功能用户在进入系统前必须经过用户登录,用户登录功能是为了保护系统的安全,当用 户写入用户名和密码,并且选择了登陆身份后,客户端会获取用户的信息发送

14、给服务器 端,让服务器度昂对用户的身份进行验证,并传来登录是否成功的信息,客户端根据服 务器端传来的信息进行判断,如果登录成功,弹出对话框显示用户登录成功,学生进入 考试界面,教师进入后台管理界面;如果登录失败,弹出对话框显示用户名或密码错误 或者显示你已经登录了。2.4.3 考试功能学生正确登录后就进入考试界面,学生进入考试界面后,必须选择试卷,客户端会 通知服务器端列出所有的试卷名称,在客户端的下拉列表中会显示所有试卷的名字,用 户选择了试卷后,客户端会通知服务器端学生所选的试卷名称,学生点击开始考试按钮 就可以开始考试了,同时计时器开始计时,当用户完成考试或者时间用完了考试结束, 考试结

15、束后用户可以点击查询成绩按钮, 用户可以看到题目, 答案以及自己所选的答案, 还有你的成绩, 查询成绩是用对话框实现, 玩了后用户可以退出系统。2.4.4 后台管理功能后台管理功能就是对试题进行管理,查询学生成绩,对学生信息进行管理,对教 师信息进行管理,试题管理有对尸体进行增加,删除,查询,修改,当用户在客户端输 入试题信息后,点击这些按钮,客户端就会发送信息给服务器,服务器来查询或者修改 数据库,其他的也一样,总是通过服务器端对数据库进行数据库操作 3总体设计3.1 总体功能图根据分析,标准化考试系统必须实现以下功能: 1.连接服务器功能; 2. 用户登录功 能;3.考试功能; 4.管理功

16、能;根据系统需求,标准化考试系统的总体功能图如图 3-1 所示:图3-1总体功能图学生信息管理查看得分开始考试读取试题考试计时3.2总体流程图*连按眼务黔用户怪浪泮刊冯曲t柞旳F-r成城件n询翹|汕时刘:汕J6询我M 口息用加教ItllJlc息记|4学弟倡思聘加学即心息修改学忙信IU代询学弟f-iu利除黝H堺加盘H删除教帅伯息 修改教帅们息払咬住询或修改救册冷舄送粹寢皓屈并器龙这信层征拜户端服务臨麗徂陌览送闍目礙易号皆股券器T紀逵涓直蛤冻户端y 输入叩户蛊褶倒/ 1I灰IX給JR务君|1务霸端卞期数州薛I*台|发送匕给客T7丽半牡韦试界稲杏询以紬. 张芳图3-2总体流程图4. 数据库设计4.1

17、数据库及表结构的建立该标准化考试系统共创建了一个 kaoshi数据库,该数据库中创建了student、teachter、shijuan 和 Testi 四个表。表3-1 kaoshi数据库逻辑名称文件类型文件组初始大小自动增长路径文件名kaoshi数据PRIMARY3MB不限制D: .Kaoshi log日志不适用1MB不限制D: .student数据表是用来保存学生信息,该数据表包含用户名,密码,性别,年龄, 班级和分数六个字段,具体设计如表3-2所示:表3-2 student 数据表列名数据类型允许空用户名varchar(50)否密码varchar(50)否性别varchar(50)否年龄

18、varchar(50)否班级varchar(50)否分数int是hter 数据表是用 来存储教师信息,该数据表teac包含教工ID,教工姓名,教工密码,教工性别和教工职称 5个字段,具体设计如表3-3 所示:列名数据类型允许空教工IDvarchar(50)否教工姓名varchar(50)否教工密码varchar(50)否教工性别varchar(50)否教工职称varchar(50)否表3-3 teachter 数据表Test 1数据表 是用来存 储试题信息的,该数据表包含题目编号,内容,A选项,B选项,C选项,D选项,正确答案和分值8个字 段,具体设计如表3-4所示:表3-4 Test1数据表

19、列名数据类型允许空题目编号varchar(50)否内容varchar(500)否A选项varchar(100)否B选项varchar(100)否C选项varchar(100)否nD选项varchar(100)否正确答案varchar(50)否1分值varchar(50)否4.2 JAVA数据库的连接该系统是用JDBC连接数据库。首先必须加载JDBC驱动,然后利用 DriverManager.getConnection()连接服务器和数据库。具体实现如下:Stri ng driverName = com.microsoft.sqlserver.jdbc.SQLServerDriver; /加载J

20、DBC驱动Stri ng dbURL = jdbc:sqlserver:/localhost:1433; DatabaseName=kaoshi;/连接服务器和数据库kaoshiStri ng userName = sa; /默认用户名Stri ng userPwd = 123; /密码try Class.forName(driverName);dbC onn = DriverMa nager.getC onn ecti on( dbURL, userName, userPwd);System.out.pri ntl n( Co nn ectio nSuccessful!); / 如果连接成功

21、控制台输出 Connection Successful!catch (Excepti on e) e.pri ntStackTrace();5. 主要功能设计流程5.1服务器端设计流程图根据对服务器端功能的分析,得到服务器设计流程图如图3-3所示:1、in feadL I tj)*,_j_L/ , t ,,”亠*VI :出牢1.Ml!i; Hi.P讪-*Tirtt I部井6. 代码实现6.1类之间关系图在编写标准化考试系统时,编写了 8个java源文件:Mai nJ ava , ChaChe ngji.J ava , Clie ntTestArea.Java , Den gluPa nel.J

22、ava , Guan li.Java , Lianjie.Java , ChatServer.Java ,ReadTestquesti on. Java其 中 ChatServer.Java ,ReadTestquestion.Java 为服务器端 java 程序编译产生所需要的类;Main.Java,ChaChe ngji.Java , Clie ntTestArea.Java, Den gluPa nel.Java , Guan li.Java ,Lianjie.Java为客户端java程序编译产生所需要的类。标准化考试系统除了需要编写的8个java源文件所编译产生的类外,还需要 java

23、系统提供的一些重要的类。如 ServerSocket,Socket,JTabbedPane等类。标准化考试系统所用到的一些重要的类以 及它们之间的关系如图3-5和图3-6所示。图3-5服务器端类之间的关系图图3-6客户端类之间的关系图6.2运行效果图连接服务器界面:图3-7连接服务器界面 学生登录界面:X、用户登陆Wgi& ftli取消图3-8学生登录界面 考试主界面:开始考试后界面:图3-9考试主界面图3-10开始考试后界面成绩查询界面:c你的分歡:9你的答褰: 第1道軽 第洒 第3道题: 茅4遭酝 第建範 MoilsS: 第7道駆 第 9& 第9道题; MIOiiffi:cABkBDDD1

24、计算机内存Q卜存扎便宜但亞存储更多的唔息E存储容量夬0-存取谨產快D.虽贵但能存储更多的诰息 1E碣答家:c分價z ic 丄下列搂备中.届于输人设备闊昙 A显示禺比打用机C鵲标寻D.绘團仪!卜曲;玄卡I-14、图3-11成绩查询界面教师登录界面:用户登陆山曲图3-12教师登录界面试题管理界面:图3-13试题管理界面 查看学生成绩界面:图3-14查看学生成绩界面学生信息管理界面:图3-15学生信息管理界面 教师信息管理界面:图3-16教师信息管理界面服务器端效果图:图3-17服务器端效果图6.3程序打包发布过程1. 服务器端服务器端程序在命令行窗口运行,不需要打包。2. 客户端可以使用jar.E

25、xe命令制作JAR文件来发布编写的客户端软件(1) 首先用文本编辑器,比如Windows下的记事本,编写一个清单文件:mymoon .MfMani fest-Versio n: 1.0Mai n-Class: MainCreated-By: 1.5(Sun Microsystems Inc.)将mymoon.M保存到D:标准化考试系统客户端中,即和应用程序所用的字节码 保存在相同的目录中。注意:清单文件中的“ Manifest-Version: ”和1.0之间,“Main-Class: ”和主类Main之间以及“ Created-By: ”和1.5之间必须有且只有一个空格(2) 生成JAR文件D : 标准化考试系统 客户端 jar cfm kaoshi.jar mymoo n.mf *.class其中参数c表示要生成的一个新的JAR文件,f表示要生成的JAR文件的名字,m 表示清单文件的名字。现在就可以将 kaosh

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论