(6) 垃圾收集和异常处理
由于Java垃圾收集器会做自动的垃圾收集(Garbage Collection),这里的垃圾指一些不会被再使用的对象,所以程序设计者不需费心,内存会被自动地管理,Java本身提供了许多面向对象的异常(Exccption)处理,所以程序在执行时期所发生的错误,都可以由程序自己来处理。
(7) 安全性
Java设计时对系统的安全,特别是网络安全做了周密的考虑,通过字节验证、内存调用方式、资源使用权限等进行多次的安全管理。Java被认为是在任何系统上最安全的应用程序之一。
二、Java的技术平台:
Java不仅是一种语言,更重要的是一种区别于传统系统,遵循“网络就是计算机”信条的平台技术。Java平台将面向对象系统扩展成包括程序和数据的网络计算机(CN),而这个平台的核心就是java平台成为万能开发平台,实现了Java程序“编写一次,到处运行” [9]。
Java虚拟机(JVM)是一种抽象化的计算机,可以再上面执行Java的字节码。它本身的设计原则是“小而简单”,目的是为了尽可能在所有的机器上都能安装。这样的精简原则,使得它能够在现有的各种平台上都可以顺利执行,适合各种网络的环境[10]。
Java 的技术平台的工作原理:第一步:Java用一个编译器将资源程序代码(.java)转换成可执行程序(.class),Java编译器生成的独立于处理器结构的字节码。第二步:字节代码用一个Java虚拟机(JVM)来执行,JVM是理想化的Java处理芯片,通常是在软件上实现而不是在硬件上实现[11]。
7
三、CS与BS结构的选择:
考试系统的研究方向主要是围绕以ClientServer(CS)模式或BrowserServer(BS)模式开发进行研究。CS模式考试系统常用于局域网范围内的考试。考试前,先在客户机安装客户端软件,客户端软件遵循相关协议连接至服务器端[10]。客户端发送考试请求后,由服务器把相关的考卷传送回客户端
[13]
。BS模式网络应用程序技术是考生在客户端通过浏览器向
服务器发送考试请求,服务器将相关考卷发送至客户端浏览器。
CS结构(ClientServer的简称,客户机服务器模式)。在上个世纪八九十年代以及八九十年代初期已经得到了大量应用,最直接的原因是可视化开发工具的推广。最初为两层结构,随着技术的进步以及应用的需要,逐步的向三层结构发展。CS结构的优点:
(1) 响应速度快。CS结构是客户端与数据库直接相连,没有中间环节,因此响应速度快。
(2) 软件设计个性化,可满足用户个性化的需求。因为CS机构有着自己的客户端,在客户端的设计上,可以根据客户的需求进行个性化的设计,可以满足客户复杂的个性化需求。特别是在操作界面、报表工具等方面。
(3) CS结构充分利用客户端的硬件设施,将很多的数据处理工作在客户端完成,故数据处理能力比较强大,对一些复杂的业务流程,也容易实现。
同时,CS结构也有它的缺点:1、分布能力差。成也萧何,败也萧何,因为有客户端的安装带来的一系列个性化的方便的同时,也造成了在系统部署时,对每一个用户都要安装客户端才能进行使用,如用户数量庞大分
8
布广泛的话,此时给部署带来及大的不便。2、维护成本高昂由于客户端数量庞大,对系统的维护和升级都是很大的考验。 3、跨平台使用难以实现 CS系统如果需跨平台使用,必须重新开发在其系统平台下的客户端才能使用。
BS结构(BrowserServer的简称,浏览器服务器)。是相对于CS的登录方式的不同而命名的。是一种终端只是用来显示和接受输入,所有的数据存储、计算、格式化以及页面代码的生产都是在WEB服务器上。BS结构的优点:1、分布性广,灵活方便 只要有浏览器并且能够上网就能够登陆服务器进行信息的处理、采集工作。不受客户端的限制。2、维护简单方便 只要在服务器端进行配置就可以完成部署。如需升级,也只要在服务器端进行维护,客户端就自动登录最新的系统。同时,BS结构仍有它的缺点:
1)数据处理同步方式带来的时间 余 WEB是以一问一答
(requestresponse)的方式来完成信息交互的,并且是同步方式。如果有一问而没一答,我们就必须等待,等待答复完成才提出下一问。举个大家最为常用的 电子邮件的例子,在使用web邮箱时,你写完一封邮件提交,只有当此邮件提交完成,页面刷新到 邮件提交已完成时,你才可以进入下一封邮件的书写,如遇到网络问题,前期的工作还有可能全部重新来过。而使用本地邮件客户端(如outlook)书写邮件完成后,你可以按一下发送按钮,然后继续下一封邮件的书写,让客户端自行在后台完成邮件发送任务。先满足你书写下一封邮件的需求,邮件的提交至少不需要马上,而可以在后台自动处理完成。
2)响应速度慢 页面的动态更新,响应速度明显降低。主要原因是在数据传输的过程中不仅要传输所处理文件的文件,还要同步传输页面的
9
布局等界面控制信息。3、功能弱化 BS模式下很难实现个性化的需求,对一些在CS下很容易实现的功能,如报表工具等,在BS下很难实现。
3)功能弱化 BS模式下很难实现个性化的需求,对一些在CS下很容易实现的功能,如报表工具等,在BS下很难实现。
4)无状态方式带来的会话控制成本 在浏览静态页面时,各个静态页面并不构成一个需要前后关联的事务,因此不需要保存当前页面的状态,这好比你可以在一本书前后页随便翻阅。而一旦前后处理有着明确的逻辑程序,服务器在保存数据的同时还要保存用户的状态(到逻辑的那一步),开发人员要精心设计提交的次序及信息的完整性,大费周章的进行控制。而对CS而言,只需全部完成后提交即可。
在线考试系统的开发首先考虑到数据的安全性和程序的方便性,该系统没有采用BS模式而采用CS模式[13]。因为BS模式不易实现考试时间的自动控制,提交试题的时候如果服务器忙则可能会造成服务器长期没有响应,或数据丢失。而采用CS模式则比较易于控制,而且数据可以反复提交直到提交成功,从而确保考生答案能够被提交到服务器[14]。
3.系统的详细设计
3.1用户层的设计
项目实施之前,我们对用户的工作方式、业务流程和管理模式进行了比较详细的了解和细致的分析,从总体上进行把握,再就工作流程和需求等细节问题上进行多次的相互交流,并得到用户的认可。为了便于管理和开发,对于整个系统来说,现在我们在集中形成的用户界面上体现的主要功能为: 登录模块、题目管理模块、成绩管理模块、用户管理等。
10