




已阅读5页,还剩47页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安石油大学本科毕业设计(论文)深圳航空公司机票预定系统毕业论文目录1 绪论11.1 开发目的及其意义11.2 国内外研究状况21.3 研究方法22 系统开发技术简介32.1 系统开发简介32.1.1 服务器端:32.2 Java开发结构的介绍3 2.2.1 Java及J2EE简介32.2.2 ORACLE数据库简介52.2.3 MyBatis简介62.2.4 Spring简介72.3 B/S结构简介83 可行性分析93.1 系统分析93.2 业务流程分析93.2.1 业务流程分析的目的93.2.2 业务流程分析93.3 系统安全性分析113.4 可行性分析143.4.1 社会可行性143.4.2 经济可行性143.4.3 方案可行性143.4.4 技术可行性144 需求分析报告154.1 任务概述154.1.1 目标154.1.2 用户的特点154.2 对性能的规定154.2.1 精度154.2.2 灵活性154.2.3 输入输出要求164.2.4 故障处理要求164.2.5 运行环境规定164.3 需求规定174.3.1 模块流程图174.3.2 数据流图174.3.3 数据字典184.4 功能需求分析194.4.1 代理商操作模块194.4.2 系统管理员操作模块194.4.3 普通用户操作模块195 详细设计20I5.1 系统体系结构设计205.1.1 B/S体系结构205.1.2 机票预订系统基于WEB的三层体系结构215.1.3 机票预订系统基于MVC的体系结构225.2 数据库设计235.2.1 实体分析235.2.2 实体E-R图235.2.3 实体模型的关系分析255.2.4 数据库表设计256 系统的实现286.1 系统登录286.2 系统管理员模块306.2.1 用户信息管理306.3 代理商模块347 系统测试357.1 系统测试的目标357.2 测试的实现357.2.1 模块测试357.2.2 系统及子系统测试358 程序维护说明378.1 程序维护简介378.2 程序维护过程378.2.1 规则378.2.2 验证过程388.2.3 出错及纠正方法389 结 论39参考文献40致 谢41附 录421 绪论1.1 开发目的及其意义深圳航空有限责任公司成立于1992年11月,1993年9月17号正式开航,是主要经营航空客、货、邮运输业务的股份制航空运输企业.目前深圳航空公司总资产超过200亿,员工14000多人,拥有波音747、空客320、319等各类型飞机130多架,经营国内国际航线280多条,引入国际先进的战略、安全、人力资源、品牌策划、财务等管理理念和管理方法,引领深圳航空从一个小优秀企业向着卓越的航空企业迈进,荣获“深圳市市长质量奖”、“国际五星钻石奖”等荣誉.航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带来了极大的方便.互联网、邮寄机票以及电子机票技术的发展正在改变航空公司的销售业务,使全世界的消费者不出户就可以买到机票.自九十年代以来,因特网技术的飞速发展正在迅速地改变着人们的生活方式,因特网正在由科学工作者的工具变为普通百姓获取信息、进行交流的场所,而因特网的商业应用则尤为引人注目.航空公司在因特网上建立网上售票系统不仅方便了旅客,还节省了航空公司的代理费用,加速了资金周转,这为售票成本居高不下的深圳航空公司带来了无限生机.网上售票的另一优点是扩充了航空公司的销售网点,使航空公司通过因特网将其销售网点扩展到全世界.在中国还有很多地方不能实现网上订票,这就需要完善的机票售票系统来完成这些功能.中国民航高达500亿元以上人民币的客运销售额是网上售票的巨大潜在市场.国际民航业的激烈竞争又迫使担负国际航线运输任务的航空公司必须尽快推出自己的因特网售票系统,而这些又必须由一个安全的网上订票与支付系统作支持.更重要的还要提供票务管理.面对不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行.航空业身处信息时代的电子商务大潮中,加之传统的售票方式已经不能满足现今航空业的发展,于是航空售票管理系统就自然而然被应用. 网上售票系统是一个非常合适的电子商务项目,因为它打破了旧有经营模式(坐店经营、按点上下班)所带来的地理和时间上的限制,通过网络使企业面对整个世界,直接接触成千上万的新用户,为用户提供每周7天,每天24小时的服务,从而接触更多的潜在市场,创造了新的商业机会另外,在售票系统中不涉及到物流(订机票者可以到机场取票),因此,较其他电子商务系统更易于实现和运作.网上售票系统实际上是一个特殊的售票点,是一个利用因特网技术建立的计算机系统.一方面它与因特网相连,向广大上网用户提供各类航班信息,接受用户在线订票,另一方面它与传统订票网络系统连接,实时获取及更改机票余额等信息,起到一个特殊售票点的作用.1.2 国内外研究状况电子航空售票系统不仅有利于航空公司降低成本、增加利润、提高工作效率,也为航空公司带来一个广阔的市场.航空公司可以利用Web Services的“互操作性”与其他电子商务进行“耦合”,提供更综合、更高级的服务;也可以通过兼并、收购等多种方式组成电子商务的连锁环节,发展规模经营,提高整体竞争力.电子航空售票系统通过计算机互联网为用户提供全方位全功能的服务,给用户带来极大的便利. 与国外迅速发展的趋势不同,国内电子机票的推广经历了一个曲折的过程.1999 年,南方航空公司率先利用DCOM技术在国内推出自己的网上订票系统.2001 年南航电子客票销售达到 1.45 亿元,2004 年,南航电子客票的销售额超过20亿元,2005 年更达41.43 - 3亿元.但电子机票的发展并非一帆风顺.我国南航、东航、国航这三大航空集团都先后应用CORBA和 DOCM技术推出了自己的电子机票. 这两种紧密捆绑的分布式对象技术在使用运行于相同平台的软件和紧密管理的局域网创建企业应用程序时非常优秀, 但是在创建跨平台、适应Internet的可伸缩性的应用程序时力不从心,遇到了很多问题,例如如何通过防火墙、协议的复杂性等.由于各个航空公司的电子航空售票系统开发平台各异、技术系统互不配套,难以互通,无法实现系统间互操作,使得机票改期、改签与升降舱等的操作都遇到了麻烦,有的电子客票成为不能改动的客票,使旅客深感不便,因此,实现电子客票技术系统的兼容是当务之急.基于以上分析采用MVC技术开发的电子航空售票系统能够解决当前存在的系统间不兼容造成的资源浪费、重复开发问题,这种基于组件的分布式技术变革的必然产物为使用新方法进行商务和公司事务处理打开了方便之门.1.3 研究方法本系统使用Spring MVC +MyBatis技术开发,使用Oracle数据库保存数据,集成开发环境可使用支持可视化GUI界面设计的主流工具(如eclipseant beanjbuilder).本系统使用JSP技术,其目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作.系统稳定性、安全性、可移植性更强.开发工具使用Eclipse,运行环境为sun公司的jdk1.7.2 系统开发技术简介2.1 系统开发简介本系统可以实现对代理商信息、航班信息、飞机信息的增删改查;另外还可以对机票预订信息进行查看.下面是对这几部分进行的说明和分析:2.1.1 服务器端: 1.代理商信息管理主要包括:添加代理商、修改代理商信息、删除代理商、查询代理商信息.这其中大部分是标准数据的维护,包括新增、修改、删除等;2.航班管理主要包括:添加航班、修改已存在航班信息、查询航班信息、删除航班信息.这里是对航班管理的模块.3.飞机信息管理主要用包括:添加飞机类型、修改飞机类型、删除飞机类型、查看飞机类型.这里是对飞机型号管理的模块.4.预定机票管理主要是查看已预订机票的信息.2.2 Java开发结构的介绍本系统采用JAVA语言和Oracle数据库实现,采用JSP、MyBatis、SpringMVC、JQuery技术.从技术上来说是可以实现的.2.2.1 Java及J2EE简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称.Java主要特性:1.Java语言是简单的,Java语言的语法与C语言和C+语言很接近, Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧.2、Java语言是一个纯的面向对象程序设计语言.3、Java语言是分布式的.Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(J)4、Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证.Java的安全检查机制使得Java更具健壮性.5、Java语言是安全的.Java提供了一个安全机制以防恶意代码的攻击. 6、Java语言是体系结构中立的.Java程序在Java平台上被编译为体系结构中立的字节码格式,可以在实现这个Java平台的任何系统中运行.7、Java语言是可移植的.这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度.Java系统本身也具有很强的可移植性, 8、Java是解释型,高性能的.与那些解释型的高级脚本语言相比,Java的确是高性能的. 9、Java语言是多线程的.Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized).10、Java语言是动态的.Java语言的设计目标之一是适应于动态变化的环境.Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类.Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用.Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本.Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式.在1998年joke发表1.2版时,sun公司使用了新名称Java2platform来称呼,修改后joke称为j2sdk,并分为:标准版(Standard Edition)又称J2SE;企业版(Enterprise Edition)又称J2EE;微型版(MicorEdition)又称J2ME.简单的说,J2EE是一种商业应用系统模型或者说是一种规范,它包含java远程方法调用(RMI)企业级Java Bean、Java消息服务(JMS)、Java服务器页面(jip)等技术体系.利用的资源我们是可以方便、快速的创建一个强大的企业级应用,比如电信的话务系统,企业的知识管理系统等.JSP(Java Server Pager)JSP是一种运行于Web服务器的脚本语言,是开发Web动态网页快速而有效的工具.JSP页面由HTML代码和嵌入其中的Java代码所组成,当客户端发送请求时,服务器端由JSP容器处理JSP页面中的Java代码,然后将生成的HTML页面返回给客户端浏览器.Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块.使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架.通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和POI.Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术.Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制.jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多).jQuery是免费、开源的,使用MIT许可协议.jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能.除此以外,jQuery提供API让开发者编写插件.其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页.2.2.2 ORACLE数据库简介ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能.但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它.ORACLE相比其他数据库的优点包括: 1.提供了与第三代高级语言的接口软件PRO*系列,能在C,C+等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵.加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性. 2.支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等. 3. 提供了基于角色(ROLE)分工的安全保密管理.在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现. 4.ORACLE7.X以来引入了共享SQL和多线索服务器体系结构.这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成很多用户. ORACLE的特性包括:1. 完整的数据管理功能: (1)数据的大量性 (2)数据的保存的持久 (3)数据的共享性 (4)数据的可靠性2.完备关系的产品:(1)信息准则-关系型DBMS的所有信息都应在逻辑上用一种方法,即表中的值显式地表示;(2)保证访问的准则(3)视图更新准则-只要形成视图的表中的数据变化了,相应的视图中的数据同时变化.(4)数据物理性和逻辑性独立准则3.分布式处理功能:ORACLE数据库自第5版起就提供了分布式处理能力,到第7版就有比较完善的分布式数据库功能了,一个ORACLE分布式数据库由Oracledbms、sql*Net、SQL*CONNECT和其他非ORACLE的关系型产品构成.4.用ORACLE能轻松的实现数据仓库的操作.2.2.3 MyBatis简介MyBatis 是支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索.MyBatis 使用简单的 XML或注解用于配置和原始映射,将接口和 Java 的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录.每个MyBatis应用程序主要都是使用SqlSessionFactory实例的,一个SqlSessionFactory实例可以通过SqlSessionFactoryBuilder获得.SqlSessionFactoryBuilder可以从一个xml配置文件或者一个预定义的配置类的实例获得.用xml文件构建SqlSessionFactory实例是非常简单的事情.推荐在这个配置中使用类路径资源(classpath resource),但你可以使用任何Reader实例,包括用文件路径或file:/开头的url创建的实例.MyBatis有一个实用类-Resources,它有很多方法,可以方便地从类路径及其它位置加载资源.Mybatis的功能架构分为三层:(1) API接口层:提供给外部使用的接口API,开发人员通过这些本地API来操纵数据库.接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理.(2) 数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等.它主要的目的是根据调用的请求完成一次数据库操作.(3) 基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件.为上层的数据处理层提供最基础的支撑.MyBatis框架讲解:加载配置:配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中.SQL解析:当API接口层接收到调用请求时,会接收到传入SQL的ID和传入对象(可以是Map、JavaBean或者基本数据类型),Mybatis会根据SQL的ID找到对应的MappedStatement,然后根据传入参数对象对MappedStatement进行解析,解析后可以得到最终要执行的SQL语句和参数. SQL执行:将最终得到的SQL和参数拿到数据库进行执行,得到操作数据库的结果. 结果映射:将操作数据库的结果按照映射的配置进行转换,可以转换成HashMap、JavaBean或者基本数据类型,并将最终结果返回.2.2.4 Spring简介Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益.目的:解决企业应用开发的复杂性功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能范围:任何Java应用简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.Spring的特性:1.方便解耦,简化开发通过Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码所造成的过度程序耦合.有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用.2.AOP编程的支持通过Spring提供的AOP功能,方便进行面向切面的编程,许多不容易用传统OOP实现的功能可以通过AOP轻松应付.3.声明式事务的支持在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量.4.方便程序的测试可以用非容器依赖的编程方式进行几乎所有的测试工作,在Spring里,测试不再是昂贵的操作,而是随手可做的事情.5. Spring不排斥各种优秀的开源框架,相反,Spring可以降低各种框架的使用难度,Spring提供了对各种优秀框架(如Struts,Hibernate、Hessian、Quartz)等的直接支持.2.3 B/S结构简介本系统采用B/S结构,在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性.任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端.B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护.系统的扩展非常容易.软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性.对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护.无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享.所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向.今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的.因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器.航空订票系统是面向全国人的一个系统,用户数量庞大,对于这样的要求,我们只能采用B/S结构来做这个系统.大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位. 当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高.所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行.B/S 结构图如图2-1所示: 图2-1 B/S 结构图3 可行性分析3.1 系统分析服务端: 1.代理商信息管理主要包括:添加代理商、修改代理商信息、删除代理商、查询代理商信息.这其中大部分是标准数据的维护,包括新增、修改、删除等;2.航班管理主要包括:添加航班、修改已存在航班信息、查询航班信息、删除航班信息.这里是对航班管理的模块.3.飞机信息管理主要用包括:添加飞机类型、修改飞机类型、删除飞机类型、查看飞机类型.这里是对飞机型号管理的模块.4.预定机票管理主要是查看已预订机票的信息.3.2 业务流程分析3.2.1 业务流程分析的目的运用业务流程图可以为用户进行方便的操作进行指导,另外系统模块的业务流程图在管理员或是程序员在进行系统的维护以及系统升级是会有很大的帮助,当然,在进行业务流程分析的同时会对一些系统的数据流进行分析,进而为系统的数据库设计进行分析作了准备.3.2.2 业务流程分析深圳航空公司机票预定系统的服务器端系统流程图如图3-1:启动本系统程序后,系统用户进行系统登录,用户输入管理口令,系统对其输入信息进行验证,如果口令不正确则重新进入登陆界面,提示口令错误;口令输入正确后进入系统本界面,对系统进行管理.主要包括:航班管理、系统用户管理、飞机类型管理、机票预定信息.航班管理主要是:添加新航班、修改航班信息、删除航班、按条件查看航班信息;飞机类型管理包括:删除信息、查询信息、修改信息、增加飞机类型信息;用户管理包括:增加系统新用户、查看用户信息、删除用户信息、修改用户信息;预定机票管理:查看预定机票信息.管理员登录口令是否正确进入主界面用户管理航班管理飞机型号管理机票订单管理添加用户修改用户查看用户删除用户添加航班修改航班删除航班查看航班添加飞机查看飞机修改飞机删除飞机查看机票 否 是图3-1 服务器业务流程图深圳航空公司机票预定系统客户端流程图如图3-2:客户端登陆界面,并提示用户输入口令,用户输入口令后,系统对其进行验证.如果口令错误返回登录界面重新登录;如果验证通过,则进入用户界面.用户可以使用本系统进行:航班管理,可以按条件查询航班信息.用户口令是否正确进入主界面查询航班查看机票订单 否 图3-2 客户端业务流程图3.3 系统安全性分析1. 基于系统平台的安全措施:防止系统被破坏和盗窃;防止非法数据输入;防止非法使用; 防止非法文件操作;防止非法访问信息: 防止非法窃听信息.基于系统平台的可靠性:硬件故障对策; 软件故障对策;操作错误对策: 数据错误对策.2. 操作系统安全性:在操作系统方面.应用操作系统具有的日志功能,记载运行及用户的使用情况,发生系统错误时具有自恢复能力;同时加强系统文件和用户访问控制管理,严格限制用户权限,根据访问控制的要求,对用户采取一些控制措施.如:校验注册用户的合法性和口令的有效性,校验用户权限,控制对系统资源的使用权限等.3. 数据库安全性:数据库安全性问题一直是围绕着数据库管理员的恶梦,数据库数据的丢失以及数据库被非法用户的侵入使得数据库管理员身心疲惫不堪.数据库系统作为信息的聚集体,是计算机信息系统的核心部件,其安全性至关重要.要保护数据库安全,关键在于加密.我们不仅要为发往互联网的数据库中的数据加密,还要为从硬盘转移到后端系统的过程中的数据加密.数据库系统的安全性很大程度上依赖于数据库管理系统.如果数据库管理系统安全机制非常强大,则数据库系统的安全性能就较好.为了较好的保证数据库的安全,一般采取以下几种措施:(1)用户角色的管理这是保护数据库系统安全的重要手段之一.它通过建立不同的用户组和用户口令验证,可以有效地防止非法用户进入数据库系统,造成不必要的麻烦和损坏;另外在数据库中,可以通过授权来对用户的操作进行限制,即允许一些用户可以对服务器进行访问,也就是说对整个数据库具有读写的权利,而大多数用户只能在同组内进行读写或对整个数据库只具有读的权利.(2)数据库的加密由于数据库系统在操作系统下都是以文件形式进行管理的,因此入侵者可以直接利用操作系统的漏洞窃取数据库文件,或者直接利用OS工具来非法伪造、篡改数据库文件内容.数据库管理系统分层次的安全加密方法主要用来解决这一问题,它可以保证当前面的层次已经被突破的情况下仍能保障数据库数据的安全,这就要求数据库管理系统必须有一套强有力的安全机制.解决这一问题的有效方法之一是数据库管理系统对数据库文件进行加密处理,使得即使数据不幸泄露或者丢失,也难以被人破译和阅读.我们可以考虑在三个不同层次实现对数据库数据的加密,这三个层次分别是OS层、DBMS内核层和DBMS外层.在OS层加密.在OS层无法辨认数据库文件中的数据关系,从而无法产生合理的密钥,对密钥合理的管理和使用也很难.所以,对大型数据库来说,在OS层对数据库文件进行加密很难实现.在DBMS内核层实现加密.这种加密是指数据在物理存取之前完成加解密工作.这种加密方式的优点是加密功能强,并且加密功能几乎不会影响DBMS的功能,可以实现加密功能与数据库管理系统之间的无缝耦合.其缺点是加密运算在服务器端进行,加重了服务器的负载,而且DBMS和加密器之间的接口需要DBMS开发商的支持.在DBMS外层实现加密.比较实际的做法是将数据库加密系统做成DBMS的一个外层工具,根据加密要求自动完成对数据库数据的加解密处理.采用这种加密方式进行加密,加解密运算可在客户端进行,它的优点是不会加重数据库服务器的负载并且可以实现网上传输的加密,缺点是加密功能会受到一些限制,与数据库管理系统之间的耦合性稍差.(3)数据保护数据库的数据保护主要是数据库的备份,当计算机的软硬件发生故障时,利用备份进行数据库恢复,以恢复破坏的数据库文件或控制文件或其他文件.Oracle数据库通常有以下安全策略:1. SQL注入的防护SQL注入就是利用插入有害字符进行攻击的术,也称SQL注射式攻击.SQL注入攻击是攻击者把SQL语句插入到Web表单的输入域或页面请求查询字符串中,欺骗服务器执行恶意SQL语句的操作,它是应用程序级攻击Web主要途径,是黑客攻击的最常见手段,是构建网络安全的一大障 碍.目前来说,对于SQL注入攻击的防范主要是要找到一种能保证代码兼容性的方法 Oracle虽然没有直接提供防止SQL注入攻击的对象和方法,但它却提供了丰富的、强大的防御工具.合理地利用这些机制,对防止SQL注入攻击很重要.其次,构建安全的参数类型,进一步过滤掉组装的SQL语句对Web站点的注入攻击.把用户验证的SQL语句构造到存储过程中是行之有效的方法.2. 采用标准协议并利用防火墙限制外部IP地址直接访问在网络上访问数据库采用TCP/IP网络库,它是微软推荐使用的库,已经受长期的实践考验,而且可以跨交换机和跨操作系统平台使用.如果服务器与网络连接,使用非标准端口可能会受到攻击,而且不一定能实现跨平台或跨交换机访问,同时要及时更新操作系统和Oracle数据库.由于Windows和Oracle的广泛使用,因此微软的产品经常受到别人的攻击.稳妥的办法就是经常到微软网站下载补丁,对Windows操作系统和Oracle数据库升级,及时补住Windows和Oracle自身存在的技术漏洞,防止遭到他人的攻击.另外要安装防火墙,限制外部IP对数据库服务器的直接访问,数据库服务器连接互联网潜在的危险就是可能受到外部的攻击,限制外部IP直接访问数据库服务器将有效保证数据库安全.一般允许局域网IP、相关单位IP以及软件供应商的指定IP,可以访问数据库,其它IP不允许直接访问数据库服务器.3. Oracle数据库的备份隔离服务器,定期备份.物理和逻辑上的隔离组成了 Oracle数据库安全性的基础.驻留数据库的机器应该处于一个从物理形式上受到保护的地方.数据库应该安装在企业内部网的安全区域中,不要直接连接到网络.定期备份所有数据,同时注意这并不意味着数据库备份就安全,如出现硬盘的损坏有可能造成数据的丢失,因此一般应将数据库备份同时保存到备份机上.将服务器上的备份数据复制到备份机上是一种办法,但明显这种效率较低,需要备份人员每天坚持去做.通过建立 Oracle数据库备份用户和共享文件夹,也可以直接将数据库备份到客户端.做好数据库异地备份.3.4 可行性分析3.4.1 社会可行性人类社会文明的发展已进入信息化的高速发展时期,传统的手工方式支持下的管理模式,已经不能满足各方面的需要.开发本系统的目标不仅是提高工作效率,减轻劳动强度,而且减少出错率,具有很好的社会意义.3.4.2 经济可行性经济可行性主要是只指算一个新的系统开发所需要的投资费用和运算费用,并与估计的新系统收益进行比较,看是否有利.其主要依据是成本/效益分析,该系统的目标是以最低的成本,最高的效率、在最短的期限内开发出具有社区物业管理功能的系统.硬件方面,本系统开发时不需要太高的配置,无需较大的资金投入,成本较低,有利于开发.软件方面,采取Oracle 、SpringMVC等工具进行开发,易于实现.其次,本系统采用B/S模式,使系统运行安全可靠、便于应用、可维护性好、易于进行二次开发、具有良好的扩展性,从经济上来说是可行的.3.4.3 方案可行性根据系统的分析,本软件充分从适用性出发,全面为不同的使用用户考虑.使软件的许多功能与规则都可根据用户的习惯进行定制.包括软件界面、操作方式、录入方式、打印格式等数据,用户均可根据个人或单位的使用爱好进行设置.方案的实施会带来不错的效益.3.4.4 技术可行性本系统采用Windows 7系统的底层架构,采用Java作为开发语言,数据库采用 Oracle.严格按照软件开发流程进行设计.采用先进科学和广为流行的设计方法简化设计流程.模块化的设计方法,有助于管理,因为科学合理的划分多个功能,单独设计,用助于降低设计难度及减少错误程序的影响范围,又使整个界面间易于衔接和修改.关系型数据库的高速发展使管理信息系统具备了良好的开发环境.本系统使用的Java普及性好,操作简单,用户可以很快掌握使用方法,因此,在技术上是完全可行的.4 需求分析报告4.1 任务概述4.1.1 目标这里我们根据系统角色的不同给出针对各个角色所需要实现的功能:管理员(1)对代理商信息增删改查;(2)对航班计划增删改查;(3)对飞机型号增删改查;(4)查看已注册代理商统计信息;(5)查看已预定机票统计信息.代理商(1)根据出发地、目的地以及出发日期查询航班;(2)修改密码.普通用户(1)根据出发地、目的地以及出发日期查询航班.请根据功能要求完成该系统的编码及相关文档.要求界面美观、功能完善、可用性、安全性高,尽可能多的考虑用户体验.4.1.2 用户的特点本系统的最终用户为机票预订系统管理员、各代理商以及普通用户.系统管理员:负责系统数据的维护.使用系统较为频繁.代理商:为普通用户预订机票,会频繁使用系统,并提交数据.普通用户:仅可以查看机票信息,使用系统频率较高,但数据交互不多.4.2 对性能的规定4.2.1 精度1.代理点的用户密码长度至少为8位.2.预订同一班次机票,数量不得大于2张.4.2.2 灵活性该软件尽可能多的人工设置,以适应运行环境、精度和有效时限的变化.这些人工设置必须有默认值.要设定专门的接口用于软件的升级.要设定接口功能,有一些功能我们可能暂时没有想到或者现在没有办法实现,但在将来可能实现,我们需要把这一功能添加到软件中,但又不要求软件进行升级重安装之类的操作. 4.2.3 输入输出要求对于服务器端保存文件,无论其文件原来的格式是什么我们都以统一格式保存.当客户端需要该文件时,客户端程序自动将保存的信息转换为相应的文件.4.2.4 故障处理要求软件可能出现的异常:空指针错误,会导致强制关闭.要求能够及时保存操作的数据,不会因为异常而使数据丢失.操作记录,要求记录出现异常的原因.硬件可能出现的异常:突然断电.要求同上.4.2.5 运行环境规定操作系统:Windows 7/Windows xp数据库:Oracle 10g建议内存:512M以上4.3 需求规定4.3.1 模块流程图图4-1 系统模块流程图4.3.2 数据流图图4-2 系统数据流图4.3.3 数据字典1.系统用户(管理员+代理商+普通用户)名字:用户信息描述:添加系统用户时填写定义:用户信息=用户编号+用户姓名+用户登录名+用户密码+用户登录密码+用户身份证号+用户户籍地址+用户角色 位置:浏览器端由系统管理员填写2.角色名字:角色信息描述:添加系统用户时填写定义:角色信息=角色编号+角色名称 位置:浏览器端由系统管理员填写3.航班信息名字:航班信息描述:添加航班信息时填写定义:航班信息=航班编号+航班出发时间+航班到达时间+航班出发地+航班目的地+航班驾驶员+航班票价+航班座位数 位置:浏览器端由系统管理员填写4.飞机类型信息名字:飞机类型信息描述:添加飞机类型信息时填写定义:飞机类型信息=飞机类型+飞机总坐位数+飞机+航班出发地+航班目的地+航班驾驶员+航班票价+航班座位数 位置:浏览器端由系统管理员填写5.机票订单信息名字:机票订单信息描述:用户订票后,自动生成机票订单信息定义:机票订单信息=乘客姓名+机票类型+乘坐日期+购买日期+购票价格 位置:用户订票后,自动生成机票订单信息4.4 功能需求分析机票预定系统管理员模块代理商模块普通用户用户管理飞机管理航班管理机票订单管理航班查询修改密码航班查询机票订单查询该系统主要包括如下功能模块:图4-3 系统功能模块图4.4.1 代理商操作模块1.查询机票信息:代理商根据客户要求的出发城市、到达城市和出发日期查询机票信息,以供预订机票之用.2.预订机票:根据查询出的机票信息预订机票.要求输入客户姓名、地址、证件类型、证件编号等信息4.4.2 系统管理员操作模块1.代理商信息管理:对代理商信息进行增删改查.包括售票地址、联系人姓名、身份证号等信息.2.航班基本信息管理:对航班基本信息进行增删改查.包括航班编号、出发城市、到达城市、出发时间和到达时间.3.飞机类型信息管理:飞机类型信息是指深证航空公司现有飞机的类型,包括飞机型号、飞机座位数、飞机生产厂家等. 4.机票订单信息管理:机票订单信息是指顾客预订机票后,系统后会生成预订机票信息,供用户和管理员查看. 4.4.3 普通用户操作模块1. 查看航班信息:普通用户根据客户要求的出发城市、到达城市和出发日期查询航班信息.为了保证系统的安全性,仅对普通用户开发该功能.该功能不要求进行身份验证,只要登录该系统均可进行该项操作.5 详细设计5.1 系统体系结构设计5.1.1 B/S体系结构B/S结构即浏览器和服务器结构.它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构.这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO).以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的.它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全.在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效.与C/S结构相比,B/S结构的优势主要体现在以下两个方面:(1)维护和升级方式简单目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性.对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护.无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享.所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向.今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的.因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器.(2)成本降低,选择更多大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位. 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高.所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行. 比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统.5.1.2 机票预订系统基于WEB的三层体系结构Web正逐渐改变着社会结构和人类生活.随着全球互联网的迅速发展,以WWW为基础构架的各种应用系统正日益普及,从而极大地影响了各类管理应用系统的开发及实施方法.以Web为基础的网络同传统的C/S结构相比有许多优势,如统一的通讯协议、瘦客户机(客户端只需要浏览器)、任何连入互联网的节点甚至无线连接都可以接入管理系统等.由于Web体系结构的巨大优势,许多大型企业正在建立Web平台的人力资源管理系统并融合了企业资源配置,使整个企业形成一个生产、管理的有机整体,实现高效的计算机化管理.本文中对HRMS的实现是基于Web的,采用B/S这种最新的体系结构.人力资源管理系统主界面窗体上集成有Web浏览和消息处理功能,能根据需要链接到企业内部网或Internet上,查询、处理相关的企业内部信息和政策法规信息,实现全方位的信息资源共享.这种B/S模式主要是由表示层、功能服务层、数据服务层构成的三层体系结构,如图5-1所示.图5-1 WEB三层体系结构图该系统的物理结构有三层:第一层是分布在企业集团及全国甚至是世界各地的网络用户终端,有关人员可以使用终端上的浏览器,在授权范围内,从任何地方进入管理系统.第二层是位于企业信息中心机房的Web服务器,它负责接受各用户的访问请求,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农发行沧州市孟村回族自治县2025秋招群面模拟题及高分话术
- 农发行乌海市海勃湾区2025秋招数据分析师笔试题及答案
- 农发行武威市天祝藏族自治县2025秋招英文面试题库及高分回答
- 农发行新乡市获嘉县2025秋招无领导模拟题角色攻略
- 国家能源乐东黎族自治县2025秋招笔试数学运算题专练及答案
- 广州白云区中储粮2025秋招网申填写模板含开放题范文
- 单位节约粮食的倡议书
- 2025年常州市武进区卫健系统公开招聘工作人员12人考前自测高频考点模拟试题参考答案详解
- 2025年4月广西师范大学劳动合同制员工招聘2人模拟试卷附答案详解(典型题)
- 2025年甘肃医学院招聘事业编制专业技术人员13人(第一批)模拟试卷附答案详解(完整版)
- 锅炉工安全培训知识课件
- 天津地区高考语文五年高考真题汇编-文言文阅读
- JJG693-2011燃气泄漏检测仪器检定规程
- 三峡大学科技学院实习报告及实习成绩考核鉴定表模板
- 电缆电线技术标书
- 柔性压力传感器制备法
- 水稻高产栽培技术要点
- (免费分享)工商银行业务委托书打印版
- GB 5226.1-2008机械电气安全机械电气设备第1部分:通用技术条件
- 《毛泽东思想和中国特色社会主义理论体系概论》全套课件
- (完整)农村污水处理工程施工组织设计
评论
0/150
提交评论