摘 要
计算机等级考试查询系统,基于学校里庞大的用户群应运而生。它是应用JSP技术在LINUX服务器上构建的系统模型。本系统采用j2sdk1.4.1_07版本进行开发,使用RESIN服务器当做测试服务器,采用mm.mysql.jdbc-2.0pre5驱动数据库。使用Dreamweaver编写JSP语言。
计算机等级考试查询系统主要解决不同类型的用户怎样进行不同类型的查询,即超级管理员、系管理员和学生用户怎样进行不同权限的查询。这样限定权限便于管理,而且查询结果一目了然。
当然在开发软件系统的漫长过程中,我们会面临错综复杂的问题,人又难免会犯错误,这就需要进行软件测试。我在编码过程中进行了模块测试,编码结束后又进行了系统测试和验收测试。分别采用白盒测试和黑盒测试的方法。测试结果表明每个模块之间的接口都吻合,即被调用模块都能正确接收参数,调用模块能调用自己想要调用的每个模块。各项功能基本上实现,产生记录符合要求。
关键词:JSP技术 查询 权限 软件测试
第一章 引言
计算机等级考试查询系统是有其开发的必要性的,它的应用将大大节省了学校的人力资源,从而从人工劳动中解脱出来。我们这次开发的软件系统一共包括了三个部分:等级考试的报名系统、查询系统和管理系统。其中管理系统是另外两部分的总汇。我设计的这部分主要是查询系统,其中包含了超级管理员的查询、系管理员的查询和普通学生的查询。这就需要分别限定查询的权限问题。我个人认为是难点中的难点。因为这是我第一次涉及JSP技术,所以我用到的还只是很浅显的一部分,更深奥的还有待我在今后的学习当中逐渐的把它解决。
计算机等级考试的查询系统是此次开发过程当中不可缺少的组成部分,它与另外两个系统相辅相成,形成完整的统一,尤其是其中的数据库,更是连接这三部分的纽带所在。
以下我将分几个章节来进行具体介绍。
关于JSP
简 介
JSP是Sun公司推出的新一代网站开发语言,Sun公司借助自己在Java上的不凡造诣,将Java从Java应用程序和Java Applet之外,又有新的硕果,就是JSP,Java Server Page。JSP可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。
技术特点
1•将内容的产生和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来产生页面上的动态内容。产生内容的逻辑被封装在标识和JavaBeans群组件中,并且捆绑在小脚本中,所有的脚本在服务器端执行。如果核心逻辑被封装在标识和Beans中,那么其它人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的产生。在服务器端,JSP引擎解释JSP标识,产生所请求的内容(例如,通过存取JavaBeans群组件,使用JDBC技术存取数据库),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
2•强调可重用的群组件
绝大多数JSP页面依赖于可重用且跨平台的组件(如:JavaBeans或者Enterprise JavaBeans)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通操作的组件,或者使得这些组件为更多的使用者或者用户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种群组织在他们现有的技能和优化结果的开发努力中得到平衡。
3•采用标识简化页面开发
Web页面开发人员不会都是熟悉脚本语言的程序设计人员。JavaServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容产生所需要的。标准的JSP标识能够存取和实例化 JavaBeans组件,设定或者检索群组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。
通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其它人员可以为常用功能建立自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用Java技术家族的一部分,以及Java 2EE的一个成员,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java程序设计语言的,而且所有的JSP页面都被编译成为Java Servlet,JSP页面就具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java程序设计语言“一次编写,各处执行”的特点。随着越来越多的供货商将JSP支持加入到他们的产品中,您可以使用自己所选择的服务器和工具,修改工具或服务器并不影响目前的应用。
应用范围
JSP同PHP3类似,几乎可以执行于所有平台。如Win NT,Linux,Unix。在NT下IIS通过一个外加服务器,例如JRUN或者ServletExec,就能支持JSP。知名的Web服务器Apache已经能够支持JSP。由于Apache广泛应用在NT、Unix和Linux上,因此JSP有更广泛的执行平台。虽然现在NT操作系统占了很大的市场份额,但是在服务器方面Unix的优势仍然很大,而新崛起的Linux更是来势不小。从一个平台移植到另外一个平台,JSP和JavaBean甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
性能比较
有人做过试验,对ASP、JSP、PHP这三种语言分别做回圈性能测试及存取Oracle数据库测试。
在循环性能测试中,JSP只用了令人吃惊的四秒钟就结束了20000*20000的回圈。而ASP、PHP测试的是2000*2000循环(少一个数量级),却分别用了63秒和84秒。
数据库测试中,三者分别对 Oracle 8 进行 1000 次 Insert,Update,Select和Delete: JSP 需要 13 秒,PHP 需要 69 秒,ASP则 需要 73 秒。
前景分析
与ASP、PHP相比,JSP应该是未来发展的趋势。世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的Web Sphere。它们都是通过CGI来提供支持的。但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务Application Server,而且声言不再开发传统软件。
第二章 需求分析
一、开发环境
1.软件应用
本系统采用j2sdk1.4.1_07版本进行开发,使用RESIN服务器当做测试服务器,采用mm.mysql.jdbc-2.0pre5驱动数据库。使用Dreamweaver编写JSP语言。
2.环境配置
Windowsxp下配置环境变量,添加变量名为JAVA_HOME 值为D:\j2sdk1.4.1_07,添加变量名为classpath 值为D:\mm.mysql.jdbc-2.0pre5,在已有的PATH环境变量里添加值D:\j2sdk1.4.1_07\bin。这样开发环境配置完毕。
二、可行性研究
根据我们学校的实际情况,本系统主要分为三个部分:超级管理员、各系管理员和学生用户。
超级管理员可以对任意信息进行查询。包括按系查询、按年级查询、按姓名查询、按学号查询、按性别查询、按时间段查询、按等级查询和按考试类别查询等等。还可以进行复合查询。比如按系和按年级同时查询,那样就会列出所有符合条件的信息,然后加以选择性查询。各系管理员由超级管理员分配其查询权限后,可以对本系的学生进行任意查询,同样也是包括按年级查询、按姓名查询、按学号查询、按性别查询、按时间段查询、按等级查询和按考试类别查询等。也可以进行复合查询,比如按年级和姓名等。但是不能对非本系的人员进行任何查询。学生用户由超级管理员分配其查询权限后,只能通过自己的学号、姓名、性别、民族、身份证号、系别、年级等相关项进行查询,可以是单独输入某一项信息,也可以进行复合查询。
三、系统流程图及数据流图
1.系统流程图
四、需求分析
需求分析简单的说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。需求分析的任务是通过详细调查现实世界要处理的对象,充分了解原系统工作概况,明确用户的各种要求,然后在此基础上确定新系统的功能。也就是说我们希望系统做什么。这个阶段是对系统认识最为全面的阶段,应该是用户基本上确定自己的最终要求阶段。
1.系统的功能
1)超级管理员的功能:超级管理员可以对任意信息进行查询。包括按系查询、按年级查询、按姓名查询、按学号查询、按性别查询、按时间段查询、按等级查询和按考试类别查询等等。还可以进行复合查询。比如按系和按年级同时查询,那样就会列出所有符合条件的信息,然后加以选择性查询。
2)各系管理员的功能:可以对本系的学生进行任意查询,同样也是包括按年级查询、按姓名查询、按学号查询、按性别查询、按时间段查询、按等级查询和按考试类别查询等。也可以进行复合查询,比如按年级和姓名等。但是不能对非本系的人员进行任何查询。
3)学生用户的功能:通过自己的学号、姓名、性别、民族、身份证号、系别、年级等相关项进行查询,可以是单独输入某一项信息,也可以进行复合查询。
第三章 数据库设计
1.用户
字段名 | 含义 | 类型长度 | 是否为空 | 主键 |
user-no | 用户代号 | char(10) | 否 | |
user-name | 用户名 | char(20) | 否 |
2.系别
字段名 | 含义 | 类型长度 | 是否为空 | 主键 |
dept-no | 系号 | char(3) | 否 | |
dept-name | 系名称 | char(20) | 否 |
3.考试信息
字段名 | 含义 | 类型长度 | 是否为空 | 主键 |
test-no | 考试代号 | char(10) | 否 | 是 |
test-name | 考试名称 | char(20) | 否 | |
test-grade | 考试等级 | char(10) | 否 |
4.学生
字段名 | 含义 | 类型长度 | 是否为空 | 主键 |
s-no | 学号 | char(20) | 否 | 是 |
s-name | 学生姓名 | char(10) | 否 | |
s-deptno | 学生系别号 | char(3) | 否 | |
s-sex | 学生性别 | char(2) | 否 | |
s-grade | 学生年级 | char(10) | 否 | |
s-cardno | 学生身份证号 | char(20) | 否 | |
s-minzu | 学生民族 | char(10) | 否 |
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。