航空公司在线web客户管理系统_第1页
航空公司在线web客户管理系统_第2页
航空公司在线web客户管理系统_第3页
航空公司在线web客户管理系统_第4页
航空公司在线web客户管理系统_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件工程过程实践报告题 目:航空公司在线Web客户管理系统 航空公司在线Web客户管理系统一、 课题内容主要任务就是设计实现一个航空售票信息管理系统,完成对航空公司的正常售票等业务的管理。具体任务如下:(1)主要航空港基本信息管理;(2)主要民航航线基本信息管理;(3)售票信息管理;(4)预定票信息管理;(5)退票信息管理;(6)飞机票价格(包括打折)管理;(7)乘客保险信息管理;(8)上述信息的统计及图形显示。二、需求分析1、角色及其职能本系统的角色是乘客、售票员和管理员。售票员除了具有售票和退票的操作权限外还有查询所有信息的权限,管理人员具有对任何信息进行增加,删除、修改和查询的操作,可以查询统计信息。乘客可以通过登录后查询和修改与自己有关的信息。2、数据流图经过初步的需求分析,得到系统的主要功能要求如下:(1) 乘客查询自己的保险信息和订票信息;售票员售票和退票以及查询相关信息;管理人员可以对各项信息进行增加、删除、修改、查询操作。根据分析得到的系统功能要求,设计出航空售票信息管理系统的数据流图,如下图所示。3、概念结构设计3.1实体-联系(E-R)图概念模型的表示方法很多,其中最为著名最为常用的是实体-联系方法(E-R图)。实体-关系图方法是抽象和描述现实世界的有力工具。用E-R图表示的概念模型独立于具体的DBMS所支持的数据模型,它是各种数据模型的共同基础,因而比数据模型更一般、更抽象、更接近现实世界。系统E-R图如下图所示。 3.2各实体详细E-R图航 班航班号发出城市起飞时间到达城市始发日期座位总数客机编号剩余座位飞行距离航班的E-R图 机票编号始发城市终到城市始发时间航班编号仓位类型机票价格座位编号机票机票的E-R图身份证号乘客姓名乘客性别联系电话乘客类型具体住址航班编号飞机编号乘客飞机类型座位数量所属机场飞机 乘客和飞机的E-R图机场编号客机数量机场类型机场位置机场性质备注公司名称公司编号机场信誉度所在城市备注航空公司机场和航空公司的E-R图实体的属性如下所示:机票(编号(KEY)、始发城市、终到城市、仓位类型、始发日期、始发时间、航班编号、座位号、机票价格);航班(编号(KEY)、始发城市、终到城市、始发日期、始发时间、客机编号、头等舱价格、公务舱价格、经济舱价格、剩余座位、座位总数、飞行距离);乘客(乘客ID(KEY)、姓名、性别、联系方式、联系地址、乘客类型);飞机(编号(KEY)、客机类型、所属航班、头等舱座位数、经济舱座位数、公务舱座位数、所属机场);订票(机票编号(KEY)、乘客姓名、乘客类型、折扣比例、乘客ID、仓位类型、航班编号、始发城市、终到城市、始发日期、机票价格、保险类型);航空公司(公司编号(KEY)、公司名称、信誉度、所在城市、备注);机场(编号(KEY)、名称、客机数量、机场位置、机场性质);退票(机票编号(KEY)、乘客ID、姓名、机票类型、机票日期、应退金额);机票价格(编号(KEY)、客运季节、普通乘客折扣、会员折扣比例)。3、 概要设计 1、总体结构设计航空售票管理信息系统共分为航空港基本信息管理、民航航线基本信息管理、售票信息管理、预定票信息管理、退票信息管理、飞机票价格(包括打折)管理、乘客保险信息管理和统计信息及图形显示几个模块。其中管理员有添加、删除、修改权限。具体功能模块如图所示。 2、数据库逻辑设计数据库是系统的后台部分,用来存储信息以供前台调用和输出。数据库设计的是否合理将直接影响到系统的稳定性、安全性及可维护性,同时也会影响到后期的编码。在进行了需求分析和概要设计后,接下来将详细介绍系统中各部分信息的存储结构。4、 详细设计 系统主要分成两个模块:一般用户登录和管理员登录,一般用户登录的登录界面中又有用户注册和密码找回。一般用户登录进去后有如下几个功能:个人信息、修改密码、查询航班和个人订票情况;管理员登录进去后有如下功能:用户管理、充值卡管理、航班管理和订单管理;1、 系统的流程设计系统的流程设计对系统的编码起着至关重要的地位,根据系统的功能要求,做出几个重要的功能的流程图。1.1用户登录模块为了安全性,进入本系统需要(包括“管理员“和“一般用户”)身份验证,只有用户通过帐号与密码一致性的验证,才能进入系统。登录情况有三种:一是帐号与密码一致,二是帐号不存在,三是密码不正确,每一种情况系统都会有提示。另外,用户也可以选择取消登录。当输入帐号时,系统会自动搜索数据库(使用SELECT函数)辨别此用户是“管理员“还是“一般用户”,并且显示出来,倘若是管理员,那么在用户管理模块中可以修改用户密码以及增加新一般用户,否则只能修改密码。设计出的登录流程图如下图所示。 结束系统登录流程图1.2售票模块该流程详细描述售票员售票功能,当用户发出订票请求后,系统搜索数据库中相应的机票信息,如果没找到则该机票已经售完。如果找到相应的机票信息,系统会将相关机票售予该用户。设计出的售票流程图如下图所示。2、系统功能的详细实现下面介绍系统的详细功能设计。2.1用户登录系统登录界面如图所示。在这里设置了一个图片验证码,可以更好的保护用户的信息。当用户输入正确的用户账号和密码以及验证码时,系统会跳转到另一个界面,也就是主窗口。若用户名密码不正确,系统将给出提示:“您输入的用户名和密码不正确,请您重新输入”,然后继续重新输入。2.1.1 用户个人信息的查询2.1.2 用户修改个人密码2.1.3 用户查询航班2.1.4 用户订票查询2.2 管理员主界面 管理员登录界面属于后台,登录界面如下:2.2.1 管理员-用户管理查询用户信息管理员的添加2.2.2 管理员-航班管理航班信息查询航班信息操作2.2.3 管理员-订单管理订单管理 订单报表3、数据库详细设计3.1人员信息人员信息包括乘客信息表、售票人员信息表、管理员信息表;管理人员信息表属性名数据类型长度允许空字段描述Manager_IdVarchar10管理员编号NameVarchar15姓名PasswordVarchar10密码注:管理人员信息表主要存储系统管理人的相关信息,用于管理员登录系统时验证身份,登录系统后,可以修改数据库的任何信息。主键:Manager_Id。 售票员信息表属性名数据类型长度允许空字段描述Salemen_idVarchar10售票员号PasswordVarchar10密码Salemen_nameVarchar15姓名注:售票员信息表主要存储航空公司所有售票员的相关信息,用于系统管理员登录系统时验证身份,登录系统后,可以进行售票和退票以及查询操作。主键:Salemen _id。乘客信息表属性名数据类型长度允许空字段描述Cust_IdVarchar10乘客编号CustomerIDVarchar18身份证号Cust_nameVarchar15姓名sexVarchar2性别Cust_typeVarchar12乘客类型 Cust_telVarchar15联系方式PasswordVarchar10密码注:乘客信息表主要是对乘客信息的存储,添加乘客信息存入该表,乘客用户登录时验证输入信息是否正确,删除和修改乘客信息时即删除和修改该表中对应的相关信息。主键:Cust_id 。3.2机票信息机票信息包括订票信息表、乘客保险信息表、机票信息表、航班信息表、客机信息表、航空港信息表、保险信息表和机票价格信息表,这些机票信息表用来存放与机票相关的所用操作信息如下面一系列表所示。客机信息表属性名数据类型长度允许空字段描述planeNoVarchar10客机编号airlineNoVarchar15航班项目planeTypeVarchar8客机类型commonNumInteger8经济舱座位数commercialNumInteger8公务舱座位数firstNumInteger8头等舱座位数 suoshuflyVarchar15所属航空港 descriptionVarchar30备注注:客机信息表中存储了每架客机的详细信息,登录系统后可以查询该表中的相关信息。为管理人员统计客机数据提供信息。主键:planeNo。订票信息表属性名数据类型长度允许空字段描述ticketNoVarchar10机票编号customerNameVarchar10乘客姓名customerTypeVarchar15乘客类型discountInteger8折扣比例airlineNoVarchar10航班编号departCityVarchar10始发城市arrivalCityVarchar10到达城市ticketDateDate10机票日期serviceTypeVarchar15仓位类型ticketPriceInteger8机票价格safetypeVarchar10保险类型注:订票信息表中记录了乘客订票的信息,每有一位乘客订票,就在该表中插入一条信息,为管理员统计数据提供信息。主键:ticketNo。 航空港信息表属性名数据类型长度允许空字段描述hangkong_idVarchar10航空港编号hangkong_nameVarchar15航空港名称planenumInteger8飞机数量positionVarchar12具体位置applicationVarchar12航空港性质 xinyuduVarchar10信誉度 descriptionVarchar30备注注:航空港信息表中记录了沈阳各个航空港的基本信息,每一个新增加的航空港信息都会添加到这里,为管理员查询信息提供信息,管理员可以对表进行添加、删除、修改和查询等操作。主键:hangkong_id。航班信息表属性名数据类型长度允许空字段描述airlineNoVarchar10航班编号departCityVarchar10始发城市arrivalCityVarchar15到达城市departDateDate15始发日期dapartTimeVarchar12始发时间 arrivalTimeVarchar15到达时间 planeNoVarchar10客机编号 commonPriceInteger4经济舱价格 commercialPriceInteger4公务舱价格 firstPriceInteger4头等舱价格distanceInteger8飞行距离ticketnumInteger4已订票数量 maxpassagernumInteger 4最大乘客人数注:航班信息表中存储了所有航班的相关信息,管理员可以对该表的信息进行增删改查等操作,其他人员只有查询权限。主键:airlineNo。 乘客保险信息表属性名数据类型长度允许空字段描述safeidVarchar10保险编号customerIDVarchar18乘客身份证号customerNameVarchar10乘客姓名safemoneyInteger4保险费safetimeVarchar10保险期限safepeiInteger8保险金额safetypeVarchar15保险类型注:乘客保险信息表中存储了乘客买航空保险的信息,乘客在订票的同时如果选择了买保险会把此信息插入进来。乘客可以通过身份证号查询自己的保险信息。主键:safeid。 飞机票价格信息表属性名数据类型长度允许空字段描述Price_idVarchar10编号seasontypeVarchar 10客运季节vipdiscountInteger4VIP折扣commondiscountInteger4普通乘客折扣descriptionVarchar30备注注:该表中存储各个客运季节不同类型的乘客将享受不同的折扣优惠信息,由管理员对该表进行添加,修改和删除,售票人员和乘客可以对飞机票价格信息进行相关查询。主键:Price_id。 机票信息表属性名数据类型长度允许空字段描述ticketNoVarchar10航班编号departCityVarchar10始发城市arrivalCityVarchar10到达城市departDateDate10始发日期departTimeVarchar10始发时间 airlineNoVarchar10航班编号 serviceTypeVarchar10仓位类型 siteNoInteger8座位号 ticketPriceInteger8机票价格 ticketNumInteger8机票数量 descriptionVarchar30备注注:该表中存储了所有机票的详细信息,由管理员对该表进行添加,修改和删除,乘客和售票员可以对该信息进行相关查询。主键:ticketNo。 保险信息表属性名数据类型长度允许空字段描述safeidVarchar10编号safetypeVarchar15保险类型safemoneyInteger8保险费safetimeVarchar15保险期限safepeiInteger 8保险金额 descriptionVarchar30备注注:该表中存储航空公司为乘客指定的保险详细信息,由管理人员对该表进行添加,修改和删除,售票员和乘客可以对保险信息进行相关查询。主键:safeid。4、 详细设计中关键技术的实现以下主要介绍主要功能的关键技术的实现过程。4.1数据库的连接数据库连接的建立及关闭对系统而言是耗费系统资源的操作。在多层结构应用程序环境中,这种耗费资源的动作对系统性能的影响很大。在传统的数据库连接方式中,一个数据库连接对象均对应一个逻辑数据库连接,每次操作都打开一个逻辑连接,使用完后再关闭连接,这样的反复操作将造成系统性能的急剧下降。数据库连接池是应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请、使用和释放,当连接的数量大于连接池中的连接数时,可以动态地根据情况增加或减少池中的连接数。用JDBC(Java DataBase Connectivity)连接MySQL数据库需要经过下面几个步骤:(1)载入JDBC驱动:Class.forName(org.gjt.mm.mysql.Driver);(2) 建立与数据库的连接:要建立与数据库的连接,首先要创建指定数据库的URL。 利用DriverManager的getConnection方法连接数据库的URL对象,URL格式如下:Stringurl=(jdbc:mysql:/localhost:3306/mydatabase?user=root&password=esoft&useUnicode=true&characterEncoding=gb2312”); (3) 调用执行HQL语句。(4) 结束连接。 4.2验证码的实现为防止用户利用机器自动登录以及灌水,故而采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号生成一幅图片,图片里加一些干扰元素(防止OCR),由用户肉眼识别其中的验证码信息并输入表单,再提交给网站验证,验证成功后才能使用某项功能。验证码的实现流程是:(1)服务器端随机生成验证码字符串,保存在内存中,并写入图片发送给浏览器端显示。(2)浏览器端输入验证码图片上的字符,然后提交服务器端,提交的字符与服务器端保存的字符进行比较,若一致就继续,若不一致就显示错误,不能进入操作的主界面。攻击者编写的robot程序很难识别验证码字符,所以不能顺利完成登录以及其它操作。用户可以识别填写,这就实现了阻挡攻击的作用。就实际的效果来说,验证码只是增加攻击者的难度,而不可能完全的防止。 4.3 密码转码的实现因为管理员可以看到数据库,为防止管理员盗取用户的密码,在编写程序时使用MD5算法,讲密码经过转换为不可逆字符后存放到数据库中,当用户登录输入密码时将密码用算法转换,然后与数据库中的字符想对比,以此来实现密码验证。五、系统实现和测试 系统实现使用的开发平台是MyEclipse,数据库使用的是MySQL,服务器是Tomcat,开发语言用的是JSP。6、 调试过程中的问题(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论