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