基于cs模式的小型局域网考试系统(java)毕业设计论文(编辑修改稿)内容摘要:
来说并不是一个很大的负担,因而在经济上是可行的。 可行性分析结论 通过在社会、技术、经济三方面的可行性研究分析,发现系统的开发满足这三方面的要求,因此一致认为系统应该立即开发。 系统功能分析 在局域网中的考试系统应该满足服务器端与客户端的通信,服务器端必须满足试卷录入、试卷发放、试卷评判、考试时间设置等功能;客户端应该满足在线答题、提交试卷等功能。 6 第 3 章 系统总体设计 系统设计原理 系统采用 C/S 设计模式,运用 Socket 建立服务器与客户端的连接。 服务器 ,使用 Server Socket 监听指定的端口,端口可以随意指定(由于 1024以下 的端口通常属于保留端口,在一些 操作系统 中不可以随意使用,所以建议使用大于 1024 的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 客户端 ,使用 Socket 对网络上某一个 服务器 的某一个端口 发出连接请求,一旦连接成功,打开会话;会话完成后,关闭 Socket。 Socket 接口是 TCP/IP 网络的 API, Socket 接口定义了许多函数或例程, 程序员 可以用它们来开发 TCP/IP 网络上的应用程序。 要学 Inter 上的 TCP/IP 网络编程 ,必须理解 Socket 接口。 Socket 接口设计者最 先是将接口放在 Unix 操作系统 里面的。 如果了解 Unix 系统的输入和输出的话,就很容易了解 Socket 了。 网络的 Socket 数据传输是一种特殊的 I/O, Socket 也是一种 文件描述符。 Socket也具有一个类似于打开文件的 函数调用 Socket(),该函数返回一个 整型 的 Socket描述符,随后的连接建立、数据传输等操作都是通过该 Socket 实现的。 技术设计方案 Java 网络编程 所谓 socket 通常也称作 套接字 ,应用程序通常通过 套接字 向网络发出请求或者应答网络请求。 以 为例, Socket 和 Server Socket 类库位于java . 包中。 Server Socket 用于 服务器 端, Socket 是建立网络连接时使用的。 在连接成功时,应用 程序 两端都会产生一个 Socket 实例,操作这个实例,完成所需的会话。 对于一个网络连接来说, 套接字 是平等的,并没有差 别,不因为在服务器端或在 客户端 而产生不同级别。 一个完整的 socket 有一个本地唯一的 socket 号,由 操作系统 分配。 最重要的是, socket 是面向客户 /服务器 模型而设计的,针对客户和 服务器程序 提供不同的 socket 系统调用。 客户随机申请一个 socket (相当于一个想打电话的人可以在任何一台入网电话上拨号呼叫),系统为之分配一个 socket 号;服务器 拥有全局公认的 socket ,任何客户都可以向它发出连接请求和信息请求(相当于一个被呼叫的电话拥有一个呼叫方知道的电话号码)。 socket 利用客户 /服务器 模式 巧妙地解决了进程之间建立 通信 连接的问题。 服 7 务器 socket 半相关为全局所公认非常重要。 假如通信双方 没有任何一方的 socket 固定,就好比打电话的双方彼此不知道对方的电话号码,要通话是不可能的。 根据连接启动的方式以及本地 套接字 要连接的目标, 套接字 之间的连接过程可以分为三个步骤: 服务器 监听, 客户端 请求,连接确认。 服务器 监听:是 服务器 端 套接字 并不定位具体的 客户端 套接字 ,而是处于等待连接的状态,实时监控网络状态。 客户端 请求:是指由 客户端 的 套接字 提出连接请求,要连接的目标是 服务器端的套接字。 为此, 客户端 的 套接字 必须首先描述它要连接的 服务器 的套接字,指出 服务器 端套接字的 地址 和 端口号 ,然后就向 服务器 端套接字提 出连接请求。 连接确认:是指当 服务器 端 套接字 监听到或者说接收到 客户端 套接字的连接请求,它就响应 客户端 套接字 的请求,建立一个新的线程,把 服务器 端套接字的描述发给 客户端 ,一旦客户端确认了此描述,连接就建立好了。 而 服务器 端 套接字 继续处于 监听状态 ,继续接收其他 客户端 套接字的连接请求。 Java 对象的序列化 对于一个存在 Java 虚拟机中的对象来说,其内部的状态只是保存在内存中。 JVM 退出之后,内存资源也就被释放, Java 对象的内部状态也就丢失了。 而在很多情况下,对象内部状态是需要被持久化的,将运行中的对象状态 保存下来 (最直接的方式就是保存到文件系统中 ),在需要的时候可以还原,即使是在 Java 虚拟 机 退 出 的 情 况 下。 对象序列化机制是 Java 内建的一种对象持久化方式,可以很容易实现在 JVM中的活动对象与字节数组 (流 )之间进行转换,使得 Java 对象可以被存储,可以被网络传输,在网络的一端将对象序列化成字节流,经过网络传输到网络的另一端,可以从字节流重新还原为 Java 虚拟机中的运行状态中的对象。 Java 多线程编程 在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。 通常有两 种方法来创建线程:其一,使用型构为 Thread(Runnable) 的构造子将一个实现了 Runnable 接口的对象包装成一个线程,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为线程。 值得注意的是Thread 类已经实现了 Runnable 接口,因此,任何一个线程均有它的 run 方法,而 run 方法中包含了线程所要运行的 代码。 线程的活动由一组方法来控制。 Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。 8 第 4 章 系统详细设计 系统功能设计 1. 导入考场设置 2. 导入考试试卷 3. 导出考试结果为 TXT 4. 导出考试结果为 HTML 5. 导出考试结果为 EXCEL 6. 调用系统工具计算器 7. 调用系统工具记事本 8. 查看帮助 1. 试卷录入 2. 考试设置 3. 考场 监控 4. 结果查询 5. 系统设置 1. 发放考生信息单 2. 发放试卷 3. 发送即时通知 4. 开启监控 模块类设计 在系统 UI 模块的设计过程中设计了相关的类,具体类的设计如图 所示 9 图 系统 UI 模块设计类图 在系统通信 /控制模块的设计过程中设计了相关的类,具体类的设计如图 所示 图 系统通信 /控制模块设计类图 在系统实体 /资源模块的设计过程中设计了相关的类,具体类的设计如图 所示 图 系统实体 /资源模块设计类图 在系统数据处理模块的设计过程中设计了相关 的类,具体类的设计如图 所示 10 图 系统数据处理模块设计类图 界面设计 在界面设计中采用如下的三种原则,界面整体采用菜单栏、工具栏、选项卡、状态栏结构设计;软件具有自动记忆功能,运行后自动填充已保存的设置;设计遵循用户体验的 KISS 原则,操作方便快捷。 系统主界面的设计如图 所示 图 系统主界面设计图 11 第 5 章 系统的实现与应用 服务器端的实现 在服务器刚刚开始运行的时候会弹出一个欢迎界面,显示结果如图 所示 图 系统欢迎界面 欢迎界面显示一 定时间后会显示系统服务器端的登录界面,显示结果如图 所示 图 服务器端登录界面 登录成功后进入系统服务器端主界面,显示结果如图 所示 12 图 系统主界面(考场监考界面) 在系统主界面可以录入需要进行考试的试题,试题录入界面如图 所示 图 试卷录入界面 另外在主界面可以对考试进行考试时间限定、发放及时信息等设置,并且还可以修改系统的登录密码如图 所示 13 图 系统设置界面 在考试过程中服务器端可以对客户端的屏幕进行监控,监控结果如图 所示 图 考场监控界面 14 考试结束后可以队参加考试的考生成绩进行查询,查询界面如图 所示 图 结果查询界面 客户端的实现 客户端安装成功后可以进入客户端登录界面,登录界面如图 所示 图 客户端登录界面 登录成功后出现考试信息界面,提示学生在考试中应该注意的问题如图 所示 15 图 考试信息界面 考试信息界面显示结束后学生要填写考生信息单,填写界面如图 所示 图 考生信息填写后界面 信息单填写结束就可以进入答题界面进行答题,如图 所示 16 图 答题界面 考试结果处理 系统测试采用了黑盒测试的方法进行系统测试,各功能点测试结果正常,考试结果成功导出。 考试结果的有效导出是考试系统的一个重要功能,本设计提供了三种考试结果导出方式,分别是 TXT(如图 )、 HTML(如图 )、 EXCEL(如图 )。 图 考试结果导出的 TXT 文档 17 图 考试结果导出的 HTML 文档 图 考试结果导出的 EXCEL 文档 源程序清单 为了更清晰的了解项目文件的组织结构,现 将项目文件的的各个项目截图如图 、图 所示 18 图 项目源代码文件组织结构 19 图 项目配置 /数据文件组织结构 /** * 试卷实体类 */ package。 import。 public class Page implements Serializable{ private String title。 private String notice。 private int questionNum。 private int eachScore。 private Question[] questions。 public int getEachScore() { return eachScore。 } public void setEachScore(int eachScore) { = eachScore。 } public String getNotice() { return notice。 } public void setNotice(String notice) { = notice。基于cs模式的小型局域网考试系统(java)毕业设计论文(编辑修改稿)
相关推荐
Software、 Red Hat及 Sybase 等。 Eclipse 是一个开发源码项目,它其实是 Visual Age for Java 的替代品,其界面跟先前的 Visual Age for Java 差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。 近期还有包括 Oracle 在内的许多大公司也纷纷加入了该项目,并宣称
........................................................................................... 22 实现概况 ...................................................................................................
的特点之一就表现在对通信的控制以及与数据库的结合上。 一方面利用计算机或各种服务器来控制电话或 PBX(用户级交换机 )。 另一方面,调用数据库中和 呼叫有关的信息,或是把呼叫信息存储在数据库中或打印各种通信统计报告、管理呼叫、控制各级通信,管理通信费用。 概括起来 CTI 技术具有以下特点。 (1)充分利用计算机的信息处理能力:计算机通过应用接口与通信系统连接并控制通信,存储处理各种通信信息
密码 Truename nvarchar 10 是 真实姓名 country nvarchar 16 是 所属地区 fav nvarchar 20 是 传真 tel nvarchar 20 是 电话 表 2:管理员信息表 字段名 类型 大小 允许空 备注 username nvarchar 20 否 用户名 password nvarchar 20 否 密码 (三) 系统功能模块详细设计
............................................29 公司信息 ................................................................................................29 设定基本资料 .........................................
即可 显示出“工程管理”窗口。 潮流计算菜单和工具栏 点击菜单中的“潮流”,显示潮流计算菜单,如下: 南京大学本科毕业设计说明书 潮流计算的工具栏,缺省显示位置为屏幕右方,该工具箱可移动,潮流计算工具栏如下图所示: 如果界面上没有显示潮流计算工具栏,则可通过点击并选中菜单中的“视图 | 工具栏 | 潮流计算类”显示,如下图所示: 南京大学本科毕业设计说明书 或 :执行潮流初始数据检查; 或