PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C,Java和Perl语言的语法,并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面。它支持目前绝大多数数据库。
JSP是Sun公司推出的新一代站点开发语言,他完全解决了只能执行脚本级程序的特点,可以使用编译来执行程序。Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和JavaApplet之外,又有新的硕果,就是Jsp--Java Server Page。Jsp可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
JSP是新一代的技术,与传统ASP相比,JSP在许多方面都显示出更多的优越性。配合Tomcat服务器,使开发的应用程序更加方便快捷。
2.2.2 Java EE的优越性
开发基于Web应用程序所使用的JSP技术是运行在支持Java EE标准的服务器之上的,如tomcat,Jboss等。
从开发人员的角度来看 :ASP和JSP技术都能使开发者实现通过点击网页中的组件制作交互式的,动态的内容和应用程序的WEB站点。ASP仅支持组件对象模型COM,而JSP技术提供的组件都是基于JavabeansTM技术或JSP标签库。由此可以看出两者虽有相同之处,但其区别是很明显的。
1) JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。 2) JSP跨平台的可重用性
JSP的开发人员在开发过程中一直关注可重用性。JSP组件(企业JavabeansTM,
Javabeans,或定制的JSP标签)都是跨平台可重用的。企业Javabeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。JSP技术的标签可扩充功能为开发人员提供简便的,与XML兼容的接口即共享网页的打包功能使其完全的工业标准化。
4
2.3数据库管理系统的选择
开发B/S结构的在线考试系统,一定会处理大量的数据,因此选择合适的数据库管理系统对系统的性能影响深远。
基于Web的应用系统可选择的数据库管理系统有:Oracle,MS SQL Server,Mysql,Sybase, MS Access。其中,使用JSP技术开发的web应用程序可以Oracle, SQL Server, Access,MySql。而开源数据库Mysql与JSP技术都是同是SUN公司的产品(先已被Oracle公司收购),可以使软件开发达到更好的效果。
总之,JSP与Tomcat的完美组合,为Web模型提供了一个更为稳定,高效,安全的运行环境。采用目前最为先进的可视化开发系统MyEclipse以及最有效的数据库系统Mysql进行开发,保证了软件的功能,提高了开发的效率。
2.4在线考试系统的功能分析
在线考试系统分成三个系统功能模块:学生模块、教师模块(管理员)模块。 学生通过主页登录后,开始进入考试界面,考生需在规定时间内完成该科目所有试题,系统自动评分,存入后台数据库,展示学生自考成绩,并可查看学生所选试题的标准答案,最后考生安全退出系统。
教师模块登录后,教师可以查看试题基本信息,添加该教师所教科目的选择题信息、填空题信息、发布选择题与填空题,按照班级学生的考试成绩和根据考生的姓名查看考生成绩。
5
3 在线考试系统的概要设计
3.1系统目标
本系统属于小型的在线考试系统,可以从数据库中随机抽取试题,并且可以自动对考生的答案评分。本系统主要实现一下目标:
1)系统采用人机交互的方式,界面美观友好,信息查询灵活、方便,数据存储安全可靠。
2)实现从数据库中随机抽取试题。
3)对用户输入的数据,进行严格的数据检验,尽可能地避免认为错误。 4)实现对考试结果自动评分。 5)实现教师对试题信息单独管理。
6)系统最大限度地实现了易维护性和易操作性。
3.2系统功能结构
在线考试系统前台功能结构图如图3-1所示。在线考试系统前台有以下几个模块:注册模块,登陆模块,以及随机生成试卷并自动评阅,以及对整个考试系统的意见反馈。
在线考试系统前台功能结构图注册模块登陆模块随机抽取试题模块自动评分模块意见反馈模块生成考试题目开始考试试题答案解析查看 图3-1 在线考试系统结构图
在线考试系统后台功能结构图如图3-2所示。在后台主要有学生管理模块和试题管
6
理模块。在学生管理模块中可以通过姓名查找学生成绩或者查询一个班级的学生成绩,在试题管理模块中,可以录入,查询,管理选择题和填空题,对题型进行管理。
在线考试系统后台管理学生管理模块试题管理模块通过姓名查找学生成绩查找某班级全部学生成绩录入选择题管理选择题查询选择题录入填空题管理填空题查询填空题 图3-2 在线考试系统后台结构图
3.3业务流程图
在线考试系统的业务流程图如图3-3所示。用户在登录界面根据相应的类型选择登录,如果没有账号则选择注册,登录成功后,根据选择的角色挑战到不同的页面,如果是老师,则跳转到后台管理界面,如果是学生,则生成一套试卷进行考试。
7
系统登录否注册是否登陆身份判断学生读取考试试题开始考试自动评分答案查看老师后台管理学生信息管理填空题管理填空题添加选择题管理选择题添加 图 3-3 系统流程图
3.4在线考试系统的数据库设计
在开发在线考试系统前,分析了系统的数据量,由于在线考试系统中试题及考生信息的数据量会很大,因此选择MySql数据库存储数据信息,数据库命名为db_examsystem,在数据库中创建了6个数据表存储不同信息。
3.4.1 在线考试系统的数据库表结构设计
根据设计好的E-R图在数据库中创建各表,tb_teacher保存所有老师信息表,如图3-9所示。
图3-9 教师信息表
tb_subject表用于保存所有试题信息,该表结构如图3-10所示。
8