桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 6 页 共 33页
写的标准和考虑所有不同应用程序设计的标准。其奥秘是一组由驱动程序实现的Java接口。驱动程序负责标准JDBC调用向支持的数据库所要的具体调用转变。
应用程序编写一次并移植到各种驱动程序上。应用程序不变,驱动程序则各不相同。驱动程序可以用于开发多层数据库设计的中间层,也称中间件(middleware)。
除了向开发者提供统一的独立于DBMS的框架外,JDBC还提供了让开发者保持数据库厂家提供的特定功能的办法。JDBC驱动程序必须支持ANSI AQL-2项目层,但JDBC允许开发者直接将查询字符串传递到连接的驱动程序。这些字段可能是ANSI SQL也可能不是,或者根本不是AQL。这些字符串的使用是基础驱动程序的事。
JDBC不是Mincrosoft的ODBC(开放式数据库连接)规范派生的,JDBC完全是用Java编写的,而ODBC是个C接口。但是,JDBC和ODBC都是基于X/开放SQL命令层接口(CLI),相同的概念性基础使API工作进展更快,使API的接受更加容易。JavaSoft提供了将JDBC变成ODBC的JDBC-ODBC桥。这个用本地方法完成的版本很小很有效。一般来说,JDBC API中有两层接口:应用程序层,开发人员用API通过SQL调用数据库和取得结果,驱动程序层,处理与具体驱动程序版本的所有通讯。每个JDBC应用程序(或小程序)至少要有一个JDBC驱动程序,每个驱动程序是针对一种DBMS的。但驱动程序不必直接联到数据库。
JDBC API用于连接Java应用程序与各种关系数据库。这使得人们在建立客户/服务器应用程序时,通常把Java作为编程语言,把任何一种浏览器作为应用程序的友好界面,把Internet或Intranet作为网络主干,把有关的数据库作为数据库后端。以下是使用JDBC的优缺点。
优点如下:
(1)JDBC API与ODBC十分相似,有利于用户理解。
(2)JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以致力于应用程序中的关键地方。
(3)JDBC支持不同的关系数据库,使得程序的可移植性大大加强。 (4)用户可以使用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC。 (5)JDBC API是面向对象的,可以让用户把常用的方法封装为一个类,备后用。
缺点如下:
(1)使用JDBC,访问数据记录的速度会受到一定程度的影响。
(2)JDBC结构中包含了不同厂家的产品,这就给更改数据源带来了很大的麻烦。
2.3 数据库技术
我们通过对系统的数据库进行设计就是要对所开发的系统的数据库的建立和设
桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 7 页 共 33页
计的一个完整的过程。它是一种数据库开发技术,和编程语言的开发不太一样,他是专门针对数据库各个方面的设计和分析。数据库技术是一门非常重要的技术,所开发的数据库是否能够完整的运行和所使用的数据库开发技术是息息相关的,我们开发设计一个数据库必须要符合数据库设计的规范,单独从数据库设计方面讲通常我们都采用达到第三范式的标准为标准来设计数据库里面的数据库表。只有把数据库里面的表,视图,触发器等基本的数据库组成单位设计的合理,才能给系统设计出来一个完整性,安全性,高效性的数据库。
我们开发的公交卡管理系统的后台数据库采用了目前被企业广泛使用的Oracle数库,因为Oracle服务器提供开放、全面和综合的信息管理,它由Oracle数据库和Oracle实例组成,它主要在管理信息系统、企业数据处理、因特网及电子商务等领域使用非常广泛,并且在数据安全性与数据完整性控制方面性能优越,拥有跨操作系统、跨硬件平台的数据互操作能力。另外,它不仅仅可以平衡各个数据库之间联系,同时还可以针对多个数据库进行高效的支持,虽然我们开发的公交卡管理系统只有一个数据库文件,但是我们开发的程序具备一定的扩展性,在今后的使用过程中我们会对系统进行扩展,我们可以分别建立多个系统数据库来存放不同的数据信息,这样就对数据库管理工具的要求比较高,所以我们采用了目前企业比较流行的Oracle数据库管理系统。 2.4 Servlet技术
Servlet是java类,他提供了基于协议的请求和响应服务,担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层,具有独立于平台和协议的特性,可以生成前台web页面,生命周期通过Web容器控制。它主要是接收客户端的请求(多数是http),并将处理结果返回给客户端。在mvc模式中属于Control控制层。
我们知道jsp通过容器的管理最后编译成servlet类,同样也是运行在服务端的,但是jsp更加侧重处理与界面相关的一些显示。当然也避免不了与一些后台数据的交互,这时候就引入了jsp中嵌入java代码的语法。
JAVA Servlet的优势:
Servlet可以和其他资源(文件、数据库、Applet、Java应用程序等)交互,以生成返回给客户端的响应内容。如果需要,还可以保存请求-响应过程中的信息。 采用Servlet,服务器可以完全授权对本地资源的访问(如数据库),并且Servlet自身将会控制外部用户的访问数量及访问性质
Servlet可以是其它服务的客户端程序,例如,它们可以用于分布式的应用系统中,可以从本地硬盘,或者通过网络从远端硬盘激活Servlet。
Servlet可被链接(chain)。一个Servlet可以调用另一个或一系列Servlet,即成为
桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 8 页 共 33页
它的客户端。
采用Servlet Tag技术,可以在HTML页面中动态调用Servlet。Servlet API与协议无关。它并不对传递它的协议有任何假设。像所有的Java程序一样,Servlet拥有面向对象Java语言的所有优势。
Servlet提供了Java应用程序的所有优势——可移植、稳健、易开发。使用Servlet 的Tag技术,Servlet能够生成嵌于静态HTML页面中的动态内容。
一个Servlet被客户端发送的第一个请求激活,然后它将继续运行于后台,等待以后的请求。每个请求将生成一个新的线程,而不是一个完整的进程。多个客户能够在同一个进程中同时得到服务。一般来说,Servlet进程只是在Web Server卸载时被卸载。
Servlet是用Java编写的Server端程序,它与协议和平台无关。Servlet运行于Java-enabled Web Server中。Java Servlet可以动态地扩展Server的能力,并采用请求-响应模式提供Web服务。
最早支持Servlet技术的是JavaSoft的Java Web Server。此后,一些其它的基于Java的Web Server开始支持标准的Servlet API。Servlet的主要功能在于交互式地浏览和修改数据,生成动态Web内容。
Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。 2.5 互联网信息服务
互联网信息服务指的就是IIS,它是微软提供的运行在Windows操作系统平台的一种网络服务功能。目前很多操作系统都对IIS进行了良好的支持,所以基于IIS开发的应用程序都使用起来非常的方便和便捷,不必去更改服务器上的操作系统就可以把开发好的系统在服务器上良好的运行。IIS互联网信息服务架设和管理起来非常的方便和简单,尤其是目前Win7操作系统架设起来就更加的简单。
IIS是微软平台运行程序的一个必须具备的系统工具,它和运行JAVA程序平台的一样,只是一个运行信息管理系统的一个运行的环境,我们目前使用ASP.NET框架开发出来的管理系统或者网站都需要在IIS上运行支持才能使用。
目前被使用的IIS的最新版本是7.0的版本,在IIS7.0中在Win7的操作系统中已经被集成了。IIS7.0可以高效的支持JSP。
桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 9 页 共 33页
3 系统需求分析
3.1 可行性分析
可行性分析是在开发任何管理系统或者网站的前期对开发的系统在需求、技术、经济等几个方面的分析。通过对需求、技术、经济等几方面的分析来评估系统是否具备开发的可行性。其中最重要的技术方面的可行性,技术可行性就是分析使用哪种软件开发技术来开发系统具备可行性。其次是对软件系统的需求方面进行分析,分析软件的需求是否可以达到预先设想的功能要求。最后讨论系统的操作可行性和经济可行性。
3.1.1需求可行性分析
需求可行性是对开发的系统能实现什么样的要求进行分析和讨论。开发的系统或者网站是否和之前的要求是一致的。只有在开发前期评价系统是否能够完整之前的要求,才能去进行系统的开发实施。如果不具备需求可行性开发好的系统在功能方面不能胜任之前预想的要求就等于开发失败。开发系统是否有用,能否完整之前讨论的要求。下面对公交卡管理系统进行实际的需求分析。
公交卡管理系统是利用计算机技术和模块化设计等理论,对本系统的功能、具体的业务管理等系统进行了设计,其中企业内部管理子系统的客流量统计和服务考核两方面突显了作者的工作重点,完成公交卡管理系统中的用户注册,挂失,充值,消费等功能,并且对管理员的管理功能进行完善,而模块化的设计模式也为今后的功能扩展预留了足够的空间,为智能化公交的建设打下了良好的基础。 3.1.2技术可行性分析
技术可行性就是研究讨论开发一个系统采用什么样的技术手段来进行。技术可行性在一个系统开发过程中是至关重要的。开发的公交卡管理系统是一个可以在互联网络上的对公交卡信息管理的系统。公交卡管理系统仅仅可以实现本地区的操作和使用,在任何地点,任何有网络的地方都可以使用系统对公交卡信息进行控制和管理。确定了程序的开发结构之后就需要考虑和评估程序开发语言,采用什么样的开发语言来对系统进行开发也是非常重要的。就目前学校学习的程序开发语言中JAVA.JSP是比较流行和熟悉的程序设计语言。JAVA.JSP程序目前已经被越来越多的软件开发人员所采用,因为这样的技术学习起来比较简单,容易理解,在程序语言语法方面也容易理解。通过这样的分析选择JAVA.JSP技术手段来对公交卡管理系统进行开发是具备可行性的。
3.1.3操作可行性分析
操作可行性是开发好的系统要在使用中方面具备简洁的导航菜单,在用户使用过程中很方便的找到自己需要操作的功能表单。程序界面不仅仅要美观、简洁,同时还可以让使用系统的人员一眼就看到系统要实现的全部功能。通过简洁的操作导航菜单
桂林电子科技大学信息科技学院毕业设计(论文)说明书 第 10 页 共 33页
来对进行系统功能进行操作和使用。还有一个更加简单的方法就是设置快捷键,很多软件在使用过程中都有快捷键,使用快捷键可以不用鼠标来进行操作就可以直接打开直接需要的功能。通过以上对操作方面的可行性进行分析,系统在操作上必须具备在操作方面的可行性,不然开发出来的系统很难被用户使用,不但不能降低工作效率,反而增加了工作难度。 3.1.4经济可行性分析
经济方面可行性分析讨论开发软件系统过程中产生的费用问题。首先对开发系统需要的必要成本的投入进行分析,然后在对使用系统之后产生的利润进行分析和讨论。如果开发软件系统产生的费用已经远远大于使用之后产生的利润,就完全没有必要进行软件系统的开发了。通过对公交卡管理系统开发的成本和和运行后的利润以及节约的成本进行分析,采用公交卡管理系统来对公交卡进行管理,成本投入不大,能够大大的提高工作的效率。分析结果显示开发和使用公交卡管理系统在经济上具备可行性。
3.2 系统功能需求
整个系统包括了系统登录模块,用户管理模块,公交卡管理模块,充值管理模块,字典管理模块,公交卡激活管理模块,公交卡挂失管理模块等几个重要的功能模块。
本系统采用层次化的验证系统,用户可以分为系统管理员和普通用户两类成员。不同的用户拥有不同的权限,可以进行不同的操作和管理,使得用户之间的分界清晰。
管理员权限包括用户的添加删除管理,公交卡管理,充值管理,字典管理(相当于一个转换器),公交卡激活管理,公交卡挂失管理等功能。
普通用户权限就只能进行公交卡充值,公交卡挂失,公交卡激活和自己档案信息。 公交卡管理系统的功能模块图如图3-1所示。
图3-1 系统功能模块图