




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)题 目:Java企业笔试题自测系统设计与实现The Implement and Design of 英文题目:Java Enterprise pen questions est System系 : 专 业: 班 级: 学 生: 学 号: 指导教师:某某职称:讲师指导教师:职称:Java企业笔试题自测系统的设计与实现摘 要高新科技和计算机的飞速发展,给人们带来了更多的便利。电脑普及时代即将到来,网络技术也在逐渐完善,人们的生活已经开始发生重要的变革。信息时代对人才素质的结构提出了更新,更高的要求,开展企业笔试题自测方式是教育面临信息时代的必然选择。基于教育自测需求的增加,本文设计并实现了一套JAVA企业笔试题自测系统。本系统实现了系统管理、课程管理、题库管理、学生管理、试卷管理、老师管理等基本功能。同时,本系统有三种登录权限,分别是管理员,考生和老师。系统采用B/S开发模式,以My Ecipse作为开发平台,结合JSP、JavaScript、Html等语言,以Tomcat为服务器和SQL Server 2000为后台数据库。整个系统层次结构简单,操作容易,并具备一定的安全性。考生借助此系统,可以随时随地的进行课程测试,同样,老师使用该系统能更高效、便捷的组织在线考试关键字:自测;JAVA企业笔试;JSP;My EclipseThe Implement and Design of records management system Java Enterprise pen questionsest SystemAbstractHigh technology and rapid development of computers, to bring more convenience. Coming era of widespread use of computers and network technology has gradually improved the lives of people already undergoing important changes. Information age, the structure of the quality of talent made newer and higher requirements, conduct business document questions facing education in self-test approach is an inevitable choice for the information age. Based on increased demand for education in self-test, the paper design and implement a corporate document JAVA Test System Test. This system enables system management, curriculum management, exam management, student management, paper management, teacher management, and other basic functions. At the same time, the system has three registry permissions are administrators, candidates and teachers. System uses the B / S development models to My Ecipse as a development platform, combined with JSP, JavaScript, Html and other languages to Tomcat as the server and the SQL Server 2000 database for the background. Hierarchy of the whole system is simple, easy, and have a certain security. With this system, candidates can be tested anywhere in the curriculum, the same teacher using the system more efficient and convenient organization of online examination Keywords: self; JAVA business written; JSP; My Eclipse 目录引 言11 概述21.1选题背景21.2国内外研究现状21.3 本课题研究的意义21.4 系统开发方法31.5 系统开发工具31.5.1 技术简介31.5.2 JSP工作原理41.5.3 JSP体系结构41.5.4 JSP的特点41.5.5 SQLSERVER 2000 数据库51.5.6 系统数据库连接61.5.7 BS模式与C/S模式的比较分析112 需求分析142.1 可行性分析142.2 系统需要解决的主要问题142.3 系统应该具备的基本功能143 系统总体设计163.1 基本简介163.2 运行环境163.3 系统结构图163.4 详细设计183.4.1 用户个人信息设计183.4.2 数据库中表的设计184 系统界面展示204.1 系统登录界面204.2 管理员登录主界面204.2.1课程管理214.2.2 课程管理214.2.3 试卷管理215.3 学生登录主界面225.4 老师登录主界面225 软件测试235.1 软件测试的意义235.2 软件测试的重要性235.3 软件测试的范围245.3 软件测试的方法24结 论25附 录 A 外文原文26附 录 A 外文译文32附 录 C 源代码37谢辞48引 言 现阶段,学校与企业上的各种考试大都采用传统的考试方式,在此方式下,组织一次考试至少要经过五个步骤,即人工出卷、考生考试、人工阅卷、成绩评估和试卷分析。显然,随着考试类型的不断增加及考试要求的不断提高,出题者的工作量将会越来越大,并且其工作将是一件十分烦琐和非常容易出错的事情,可以说传统的考试方式已经不能适应现代考试的需要。随着计算机应用的迅猛发展,网络应用不断扩大,如远程教育和虚拟大学的出现等等,且这些应用正逐步深入到千家万户。人们迫切要求利用这些技术来进行在线考试,以减轻教师的工作负担及提高工作效率,与此同时也提高了考试的质量,从而使考试更趋于公证,更加激发学生的学习兴趣。本科题是为在线学生提供一个JAVA语言自测系统,可以让学生在毕业之前能够更多的尝试各种企业的笔试题,由老师监督和评分。本科题的研究需要结合实践,理解网页开发技术和数据库的基本知识,学习相关开发工具和应用软件,熟悉网站建设的过程,熟练掌握网络数据库编程方法。1 概述1.1选题背景近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,学校的教学管理都受到了极大的挑战。Internet技术持续迅猛的发展,也给传统的教学提出了新的模式。以现代计算技术、网络技术为基础的数字化教学主要是朝着信息化、网络化、现代化的目标迈进。作为新型的办学模式,它们具有对于教育、教学过程来说极为宝贵的特性,可以为新型教学模式的建构提供理想的环境。在此开发的JAVA企业笔试题在线自测系统,旨在探索一种以互联网为基础的教学模式。通过这种新的模式,使学生通过自测及时的掌握学过的知识,为学院营造一种新的教学环境,从而提高工作效率和教学水平。1.2国内外研究现状Internet技术的发展使得自测考试的技术手段和载体发生了革命性的变化,Internet的开放性、分布性的特点和基于Internet的巨大的计算能力使得考试突破了时间和空间的限制。基于Internet的自测考试系统正成为国内外教育机构的研究热点之一。在国外,网络教育和各方面的教学的发展已经进入深入阶段。学校把课程和计算机网络相结合,充分发挥了网络教学的互动优势,使学生在快乐中学习。据统计,国外已经有55%的在校学生人手一台电脑,远程教育的参加人数正在以89%的增长速率递增。在国内,网络教育还停留在基础的应用阶段,还在摸索中前进,几乎没有把计算机教学学习和网络很好的相结合。在学校里看到最多的是基于小型局域网的计算机教学学习教室。而具有突破空间和时间限制的自测系统,由于国内对网络教学还比较保守,因此现还处于刚起步阶段。1.3 本课题研究的意义使用自测系统作为测试自我的方式是一种很好的选择。它为广大学生提供了一个自我测试和评价的环境。它能帮助学生用最少的时间进行充分的复习和练习。用最少的时间完成自我综合测试练习。自测采用完全自愿的原则,同学们可以根据自己的情况来决定如何进行测试。自测系统可以反馈学生信息,有效地进行自我评定,可以针对性地查缺补漏,做到有的放矢,有助于学生给自己一个学习成果的定位。有利于学生主体意识的培养。学生在模拟考试方面一定程度上成了主人,他们不再完全受考试主办方的摆布。有利于学生在未来的求职考试时应付自如,掌握必备的知识基础。1.4 系统开发方法目前,网络应用软件运行的模式主要有二类:Client/server模式,Browser/Web模式。前者主要的缺点是维护、升级较麻烦,后者是近几年伴随Internet迅速发展起来的一种技术,它与客户/服务器方式类似,客户端是一个标准的浏览器,服务器端是Web Server ,而Web Server与数据库和应用服务器的紧密结合,使得这种模式的应用范围不断扩大,它已不仅仅用于网上查询,有很多部门的业务系统、很多系统纷纷采用这种模式,它的主要优点是便于扩充应用、升级维护简便。另外,自测系统的软件也必将不断的更新;同时软件产品本身就要经过一个不断自我完善的过程。利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,应用JSP技术,开发了基于B/S模式多用户在线自测系统这一程序。它运用方便、操作简单,效率很高。现阶段虽只实现了试卷的客观题部分,但已具有用户管理、试卷管理、题目管理等,也就是说实现了真正的无纸化自测,满足任何授权的考生随时随地自测并迅速获得成绩,同时也大大减轻了教师出题、出题和判卷等繁重的工作量。1.5 系统开发工具1.5.1 技术简介JSP(Java Server Page服务器网页)是从1998年开始出现的新技术。由Sun公司倡导、许多公司参与一起建立的一种动态网页技术标准,是基于JavaServlet以及整个Java体系的web开发技术。在传统的网页HTML文件(*.htm,*.html)中加入脚本片段和JSP标记(Tag),构成JSP网页(*.jsp)。JSP技术为创建显示动态生成内容的web页面提供了简便的方法。JSP作为Java家族的一员,承袭了Java的特点,即跨平台的特性,也即一次编译,到处运行。在国外,己经大量使用JSP作为网络应用程序的开发工具,而在国内,尽管JSP还不是主流开发技术,但是由于JSP的强大优势,许多网站都已经准备转向JSP,利用JSP来开发动态网站。 1.5.2 JSP工作原理JSP是面向服务器的,因此支持任何浏览器。当Web服务器和JSP引擎遇到访问JSP网页的请求时,JSP引擎将请求对象发送给服务器端的相关组件,比如JavaBean组件、Servlet或EJB等,然后由服务器端组件处理这些请示,可能需要从数据库或数据存储中检索信息,然后服务器端组件再将响应对象返回JSP引擎。JSP引擎将响应对象传递给JSP页面,根据JSP页面的HTML格式完成数据编排,最后Web服务器和JSP引擎将格式化后的JSP页面以HTML格式返回客户浏览器。这就是当前网站构建中广泛采用的浏览器Web服务器后台数据库的三层架构模式。因为JSP所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果。1.5.3 JSP体系结构JSP网站开发标准给出了两种使用JSP的技术,可以归纳为模式一、模式二。模式一:JSP+JavaBeans技术在这种模式中,JSP页面独自响应请求并将处理结果返回给客户。Bean处理所有数据访问,JSP实现页面的表现,以实现内容生成与显示相分离。当处理复杂的大型应用时,页面被嵌入大量的脚本或Java代码段,当需要处理的商业逻辑复杂时,这种情况会变得非常糟糕,大量的内嵌代码使得页面程序变得复杂,对于前端界面设计人员,这是不可思议的事情。所以模式一可用于小型应用,不能够满足大型应用的需要。模式二:JSP+Servlet+JavaBeans技术Servlet技术是一种采用Java技术来实现CGI功能的一种技术,Servlet技术非常适于服务器端的处理和编程,并且Servlet会长期驻留在内存。从开发的观点看,模式二具有更清晰的页面表现,清楚的开发者角色划分,在大规模项目开发中,模式二更被采用,模式二也更符合当前流行的MVC结构(Model/view/controller),其中Servlet对应controller,处于控制者的位置,处理HTTP请求,负责生成JSP中使用的Beans组件或对象,并判断应将请求传递给哪个JSP等,JSP对应view,负责生成最终的动态网页并返回给浏览器。而JavaBeans对应的是Model,实现各个具体的应用逻辑与功能。1.5.4 JSP的特点1. 简化的页面生成技术。JSP页面用标准的HTML或XML命令来处理页面的格式化和布局设计,而用类似HTML、XML的标记和Java语言编写的脚本程序生成页面内容。这使得页面形式与页面内容互相独立,非常有利于大型项目的分工合作。2. 与Java平台有机集成。JSP技术是Java 2平台的重要组成部分,JSP使用Java语言作为它的脚本语言。在JSP页面中可以使用几乎所有的Java组件和Java API,这就能充分发挥出Java语言的强大功能。使用JSP技术可以创建具有高度可伸缩性和可靠性的Web应用程序。3. 硬件平台和服务器无关性。JSP作为Java家族的一员,秉承了Java技术的“一次编写,随处可用(Write Once,Rum Anywhere)”的特性,可以运行于大多数流行的操作系统平台及Web服务器,这种与服务器硬件和操作系统平台的无关性是JSP相对于其它动态网页技术最大的一个优点。4. 功能可扩展性。如同Microsoft的JSP技术可以通过ActiveX/COM组件来扩展功能一样,JSP可以通过JavaBean和EJB(Enterprise JavaBean)以及自定义的标记来扩展功能。JSP可以通过JDBC,与诸如Oracle、SQL Server这样的大型关系数据库进行连接。JSP提供了一些隐含对象。这些隐含对象在JSP页面中可以直接引用,而不必首先声明。利用JSP提供的这些隐含对象,可以使脚本功能更加强大,并且编程更加容易、方便。例如,利用request对象,可以很容易地接收用户在HTML表单中提交的信息。1.5.5 SQLSERVER 2000 数据库SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,并于1988年推出了第一个OS/2版本。 SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:1真正的客户机/服务器体系结构。 2图形化用户界面,使系统管理和数据库管理更加直观、简单。 3丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。 4SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。 5具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。 6对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。 7SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。1.5.6 系统数据库连接JDBC技术是Java DataBase Connectivity的缩写,它是SUN公司提供的一种支持基本SQL功能的通用的应用程序接口(Application Programming Interface)。它由一组用Java语言编写的类和接口组成。通过这些类和接口,程序开发人员可以在Java语言中方便地建立与数据库的链接,通过执行相应SQL语句,完成对不同数据库的访问。因此,开发人员使用JDBC API可以不必编写一个应用程序来访问Sybase数据库,又另外编写一个应用程序去访问Oracle数据库,再写一个应用程序访问Microsoft的SQL Server。不但如此,使用Java语言编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上开发不同的应用程序。简单地说,JDBC能完成下列三件事:1. 同一个数据库建立连接;2. 向数据库建立连接;3. 处理数据库返回的结果。JDBC是一种通用低层的应用程序编程接口,它在不同的数据库功能模块的层次上提供一个统一的用户界面。说JDBC是一处低级的API,是指它直接调用SQL命令,它比其他的一些数据库连接API要容易使用些,但它有同样可以作为更高级的,用户办面更友好的API或开发工具基础。很多可视化的Java开发工具,如Visual Age For Java、Visual Caf、J+等都提供了基于JDBC的更面向用户的类和包,直接将关系数据库的表或视图映射为Java类,程序员通过可视化工具直接对Java对象进行操作,而真正需要的SQL调用则根据程序员发出的对对象的各种属性、方法的操作来自动产生。另一种使用JDBC API 的方式为,用户程序可以提供一个界面(如菜单等)让用户选择对数据库进行的操作,选中一个任务后,提示用户输入一些必要的信息,然后根据用户的输入产生相应的SQL命令以及Java程序。通过这处方式,用户可以完成对数据库的操作,即使他并不了解SQL语法以及JDBC编程。数据库访问的三层结构如图1.1所示,浏览器端程序要访问数据库,首先通过中间件,然后由中间件对数据库操作权限进行认证,认证通过才能对数据库进行操作。图1.1 使用中间件的数据库访问三层结构用户对数据库的存取权限认证是中间件中完成,对数据库的查询、插入、更新和删除操作等都封装在中间件中,该中间件位于服务器端,中间件对数据库进行操作后,再将处理结果通过Web服务器返回到浏览器端用户。这样,在用户端输入的用户名和密码,可以通过加密算法进行加密后在网络上传输,在中间件中进行解密认证,然后再进行数据库的存取操作,数据库存取权限的用户名和密码出现在位于服务器端的中间件中,这样就更加安全。本系统采用的正是这样的三层结构的数据库访问模式。在三层模型中,命令将被发送到服务的”中间层”,而”中间层”将SQL语句发送到数据库。数据库处理SQL语句并将结果返回”中间层”,然后”中间层”将它们返回用户。其模型如图1.2所示。图1.2 JDBC的三层模型因为”中间层”可以进行对访问的控制并协同数据库的更新,并且可以使用一个易用的高层API,这个API可以由“中间层”进行转换,转换成低层的调用。所以在许多种情况下,三层模型可以提供更好的性能,本系统中所采用的就是此种模型。JDBC是JAVA应用程序与数据库的沟通桥梁。它提供了三项服务功能:一、与数据库建立连接。二、将SQL语句传递给数据库。三、从数据库取得SQL语句的执行结果。当JDBC要与数据库建立连接前,首先,它必须先取得连接此数据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。数据库连接如图1.3所示:图1.3 数据库的连接处理数据库的连接处理具体实现如下:/建立JDBCODBC桥sun.jdbc.odbc.JdbcOdbcDriver;/桥建立不成功时的错误处理catch(ClassNotFoundException event)/建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中Con=建立JDBCODBC桥Sql=SQL查询语句执行查询Rs=返回结果/SQL出错处理 catch(SQLException e1)有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。 MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例: Connection con = DriverManager.getConnection(jdbc:odbc:wombat,login, password); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Table1); while (rs.next() int x = rs.getInt(a); String s = rs.getString(b); float f = rs.getFloat(c); 上述代码对基于JDBC的数据库访问做了经典的总结。1.5.7 BS模式与C/S模式的比较分析C/S模式主要由客户应用程序(Client)、服务器管理程序(Server)和中间件(middleware)三个部件组成。客户应用程序是系统中用户与数据进行交互的部件。服务器程序负责有效地管理系统资源,如管理一个信息数据库,其主要工作是当多个客户并发地请求服务器上的相同资源时,对这些资源进行最优化管理。中间件负责联结客户应用程序与服务器管理程序,协同完成一个作业,以满足用户查询管理数据的要求。 B/S模式是一种以Web技术为基础的新型的MIS系统平台模式。把传统C/S模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。 第一层客户机是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如NetscapeNavigator,微软公司的IE等。浏览器将HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。这个后台就是第二层的Web服务器。 第二层Web服务器将启动相应的进程来响应这一请求,并动态生成一串HTML代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与数据库服务器协同完成这一处理工作。 第三层数据库服务器的任务类似于C/S模式,负责协调不同的Web服务器发出的SQ请求,管理数据库。 B/S模式的优势 首先它简化了客户端。它无需象C/S模式那样在不同的客户机上安装不同的客户应用程序,而只需安装通用的浏览器软件。这样不但可以节省客户机的硬盘空间与内存,而且使安装过程更加简便、网络结构更加灵活。假设一个企业的决策层要开一个讨论库存问题的会议,他们只需从会议室的计算机上直接通过浏览器查询数据,然后显示给大家看就可以了。甚至与会者还可以把笔记本电脑联上会议室的网络插口,自己来查询相关的数据。其次,它简化了系统的开发和维护。系统的开发者无须再为不同级别的用户设计开发不同的客户应用程序了,只需把所有的功能都实现在Web服务器上,并就不同的功能为各个组别的用户设置权限就可以了。各个用户通过HTTP请求在权限范围内调用Web服务器上不同处理程序,从而完成对数据的查询或修改。现代企业面临着日新月异的竞争环境,对企业内部运作机制的更新与调整也变得逐渐频繁。相对于C/S,B/S的维护具有更大的灵活性。当形势变化时,它无须再为每一个现有的客户应用程序升级,而只需对Web服务器上的服务处理程序进行修订。这样不但可以提高公司的运作效率,还省去了维护时协调工作的不少麻烦。如果一个公司有上千台客户机,并且分布在不同的地点,那么便于维护将会显得更加重要。 再次,它使用户的操作变得更简单。对于C/S模式,客户应用程序有自己特定的规格,使用者需要接受专门培训。而采用B/S模式时,客户端只是一个简单易用的浏览器软件。无论是决策层还是操作层的人员都无需培训,就可以直接使用。B/S模式的这种特性,还使MIS系统维护的限制因素更少。 最后,B/S特别适用于网上信息发布,使得传统的MIS的功能有所扩展。这是C/S所无法实现的。而这种新增的网上信息发布功能恰是现代企业所需的。这使得企业的大部分书面文件可以被电子文件取代,从而提高了企业的工作效率,使企业行政手续简化,节省人力物力。 鉴于B/S相对于C/S的先进性,B/S逐渐成为一种流行的MIS系统平台。各软件公司纷纷推出自己的Internet方案,基于Web的财务系统、基于Web的ERP。一些企业已经领先一步开始使用它,并且收到了一定的成效。B/S模式的新颖与流行,和在某些方面相对于C/S的巨大改进,使B/S成了MIS系统平台的首选。2 需求分析要实现一个软件系统,首先应该进行需求分析,这样才能令设计出的软件满足用户的各项功能。下面就对在线自测系统的设计进行需求分析。2.1 可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容。(1) 经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,提高教学质量。所以本系统在经济上是可行的。(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。该管理系统采用了Browser/Server模式进行开发。Browser/Server体系结构紧密的结合了Internet/Intranet技术,是技术发展的大势所趋,它把应用系统带入了一个崭新的发展时代。数据库服务器SQL数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。2.2 系统需要解决的主要问题首先,因为自测是面向特定的某些对象的,所以要将整个系统的角色分为三种,分别是管理员,评分老师和考试。这样将不同的权限分给不同的角色。然后,考生需要自测科目和题库的来源,所以管理者需要对考试科目和试题库进行维护,最后自测者需要选择试卷进行自测。2.3 系统应该具备的基本功能针对管理员角色: 管理员维护:对现有管理员进行管理和添加新的管理员。 课程管理:录入新的课程和管理现有课程。 题库管理:录入新的试题和管理现有试题。 试卷管理:录入新的试卷和管理现有试卷。 考生管理:添加新的考生和管理现有的考生。 评分老师管理:对系统的评分老师进行添加和管理。 考生分数查看:对于已经选择题目参与过自测的考试分析进行查看。针对考生角色: 在线自测:考试选择试题进行自测。 在线考试:查自己自测的分数。针对评分老师角色: 在线评分:学生提交试题之后老师对其评分。除了实现上述功能以外,在线自测系统还应该具有友好、简洁的界面,安全性高,稳定性强的特点。3 系统总体设计3.1 基本简介该系统是专门用于用户注册、登录、试题查询的应用web程序。它应该具有开放性、方便性和灵活性。管理员可以轻松地向题库添加、修改和删除试题。3.2 运行环境为了保证系统运行的效率和可靠性,系统服务器端应具有较高的软硬件配置,客户端的要求不是很高。此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网。其运行要求如下:软件环境:客户端: Windows95/98/2000/XP,Internet Explorer(IE)等服务器端: Windows2000/XP,IE,JDK,Tomca等。数据库:SQL server,运行于服务器端。开发平台:My Eclipse硬件环境:服务器 CPU:PIII 500以上 ,内存:256M以上客户机 CPU:P200MMX以上,内存:32M以上 3.3 系统结构图根据需求分析,在线自测系统的结构图如下:在线自测系统管理员端管理员维护课程管理题库管理试卷管理考生管理评分老师管理考生分数查看图3.1 管理员端系统结构图在线自测系统管理员端管理员维护课程管理题库管理试卷管理考生管理评分老师管理考生分数查看图3.1 管理员端系统结构图在线自测系统考生端在线考试分数查询在线自测图3.2 考生端系统结构图评分老师只能对学生所完成的自测题目进行评分功能。试题库系统的流程图如下:图3.3 试题库流程图3.4 详细设计详细设计是整个设计过程中,最重要的步骤之一。下面就分如下几个部分对系统进行详细设计:(1) 用户个人信息设计(2)数据库中表的设计(3)数据库逻辑ER图设计(4)功能模块的详细设计。3.4.1 用户个人信息设计用户个人信息设计,首先应该实现用户名和密码的设计。用户名要求不能为空、重复,密码输入的两次信息应该一致,然后应该实现用户名密码的修改,最后要求管理员对注册用户的维护操作。3.4.2 数据库中表的设计(1)数据库名称为 db_exam(2)数据库中的关键数据库表格设置表3.1 t_admin序号字段名称类型长度标志描述1userIdInt4主键2userNamevarchar503userPwvarchar50表3.1 t_stu序号字段名称类型长度标志描述1stu_idint4主键2stu_xuehaovarchar503stu_realnamevarchar504stu_sexvarchar505stu_agevarchar506stu_cardvarchar507stu_zhengzhimianmaovarchar508login_namevarchar509login_pwvarchar5010delvarchar50表3.3 t_tea序号字段名称类型长度标志描述1tea_idint4主键2tea_bianhaovarchar503tea_realnamevarchar504tea_sexvarchar505tea_agevarchar506login_namevarchar507login_pwvarchar508delvarchar504 系统界面展示4.1 系统登录界面图4.1 系统登录界面4.2 管理员登录主界面图4.2 管理员登录主界面4.2.1课程管理图4.3 课程管理主界面4.2.2 课程管理图4.4 题库管理主界面4.2.3 试卷管理图4.5 试卷管理主界面5.3 学生登录主界面图4.6 学生登录主界面5.4 老师登录主界面图4.7 老师登录主界面5 软件测试测试是开发时期最后一个阶段,是保证软件质量的重要手段。软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是探测,在探测中发现软件的毛病。5.1 软件测试的意义软件危机曾经是软件界甚至整个计算机界最热门的话题。为了解决这场危机,软件从业人员、专家和学者做出了大量的努力。现在人们已经逐步认识到所谓的软件危机实际上仅是一种状况,那就是软件中有错误,正是这些错误导致了软件开发在成本、进度和质量上的失控。有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。5.2 软件测试的重要性软件测试在软件生命周期中占据重要的地位,在传统的瀑布模型中,软件测试学仅处于运行维护阶段之前,是软件产品交付用户使用之前保证软件质量的重要手段。近来,软件工程界趋向于一种新的观点,即认为软件生命周期每一阶段中都应包含测试,从而检验本阶段的成果是否接近预期的目标,尽可能早的发现错误并加以修正,如果不在早期阶段进行测试,错误的延时扩散常常会导致最后成品测试的巨大困难。 事实上,对于软件来讲,不论采用什么技术和什么方法,软件中仍然会有错。采用新的语言、先进的开发方式、完善的开发过程,可以减少错误的引入,但是不可能完全杜绝软件中的错误,这些引入的错误需要测试来找出,软件中的错误密度也需要测试来进行估计。测试是所有工程学科的基本组成单元,是软件开发的重要部分。自有程序设计的那天起测试就一直伴随着。统计表明,在典型的软件开发项目中,软件测试工作量往往占软件开发总工作量的40以上。而在软件开发的总成本中,用在测试上的开销要占30到50。如果把维护阶段也考虑在内,讨论整个软件生存期时,测试的成本比例也许会有所降低,但实际上维护工作相当于二次开发,乃至多次开发,其中必定还包含有许多测试工作。5.3 软件测试的范围软件测试贯穿于软件定义与开发的整个周期 ,软件的需求规格说明书 ,结构设计及程序编码,都属于软件测试的对象。5.3 软件测试的方法测试在软件开发过程中一直都是备受关注的,即使在传统的软件工程中,也有一个明确、独立的测试阶段。随着软件危机的频频出现以及人们对于软件本质的进一步认识,测试的地位得到了前所未有的提高。测试已经不仅仅局限于软件开发中的一个阶段,它已经开始贯穿于整个软件开发过程,人们已经开始认识到:测试开始的时间越早,测试执行的越频繁,所带来的整个软件开发成本的下降就会越多。Extreme Programming更是把测试推到了极限的位置,一切软件开发活动都要从首先编写测试代码开始。结 论在我的程序设计过程中,我充分的体会到了“实践出真知”这一点,书本上的知识是不够的,只有把理论与实践相结合才能够真正的学到知识。一个管理信息系统的设计,不可能一步到位,还需要不断的完善和补充。同时,系统中还存在许多问题,有待在日后的使用中发现和解决。编程前的深思熟虑是减少程序调试工作量的重要方法,只有进行充分考虑,才会减少调试过程中的工作量。虽然在开始写程序之前我们做了多的准备工作,但在真正的写程序时仍然发现许多问题,有些问题是分析时的疏漏,有些则是如果不做无论如何也想不到的。附 录 A 外文原文Web application developers traditionally have used JSP technology to build HTML dynamically by including Java code in the HTML source. But did you know that you can use this same approach to generate dynamic content besides HTML? You can, and its relatively simple. You can build a JSP page using an XML document that will serve as the template for the output, then replace the portions that must be generated dynamically based on the underlying business logic. You use Java code, either written dir
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年编外人员考试题库答案
- 2025广东广州启安众智建设管理有限责任公司第二批项目制用工内蒙古岗位招聘8人考试参考题库附答案解析
- 2025晋中祁县司法协理员招聘考试参考题库附答案解析
- 17 -18世纪欧洲绘画+课件-2025-2026学年高一上学期美术粤教版必修
- 合作学习:电大英语远程开放教学的创新引擎
- 2025年泌尿外科泌尿系统常见病症诊疗模拟考试卷答案及解析
- 2025年教师招聘之《幼儿教师招聘》通关练习题库包附参考答案详解【轻巧夺冠】
- 2025呼伦贝尔农垦集团有限公司校园招聘44人笔试备考及答案详解一套
- 教师招聘之《小学教师招聘》强化训练高能及答案详解(新)
- 完整社区建设案例集(第三批)
- 龙虎山正一日诵早晚课
- 米粉及杂粮类制品课件
- 楔形平板产生的等厚干涉
- 骨髓腔穿刺在急诊急救中的应用课件
- 机械动力学PPT完整全套教学课件
- 年产2.03万吨高端精细化学品及5G新材料项目环评报告书
- 群众文化副高答辩问题及答案
- GB/T 41972-2022铸铁件铸造缺陷分类及命名
- 主编-孙晓岭组织行为学-课件
- 中医刮痧法诊疗操作评分标准
- 《师范生教师职业能力证书》样式及说明
评论
0/150
提交评论