资源描述
机票预订系统的设计一、“机票预订系统”的立项背景机票预订工作的记录、查询、核对等工作量十分庞大,同时,操作相对简单且重复率很高, 因此,可以利用计算机的管理信息系统进行这些繁杂而又简单的工作,以提高机票预定的工作 效率、准确性、管理水平和服务质量。因此开发机票预订系统。本机票预订系统是在现代社会生活节奏不断加快,对机票预订工作的自动化和准确化要求 也日益强烈的背景下,为了实现机票预订工作的网络化,以及实现网络查询和统计一体化而开 发的管理信息系统。该系统为机票预订管理员提供了一个个性化的界面,并且机票预订管理员 只需一次登录就可以使用所有服务;将订票旅客需要的各种服务集中起来,订票旅客可以很方 便地进行自身信息和航班、票价情况查询。总之,从基本订票信息的录入到订票信息的查询, 再到最终的信息核准打印机票,都可以通过这个系统完成。本系统采用最新的计算机技术,界面友好、操作方便,管理员可以针对不同需求分类、排 序、查询、统计,方便订票旅客和其他部门根据自己的需求准确、快速地查询订票及航班信息。二、 “机票预订系统”的可行性研究在项目可性行研究阶段,分析人员应对机票预订部门工作环境进行实地调查。同主要领导、管理人员和工作人员进行了交流,对原有工作情况、工作流程、所完成的任务及目前系统存在 的问题、新系统要解决的主要问题等进行初步调查。初步调查研究的结果成为可行性研究的前 提。本系统开发的目的,就是通过系统开发,实现机票预订有关部门的工作进行集成和重组, 通过网络系统加强各机票预订下辖部门之间的业务联系,提高业务工作水平,进而全面提高工 作效率和质量,更好地为订票旅客服务。该机票预订管理信息系统的应用可大幅度提高机票预 订工作的效率和质量。三、“机票预订系统”的需求分析需求分析是开发软件系统的重要环节,是系统开发的第一步和基础环节。通过需求分析充 分认识系统的目标、系统的各个组成部分、各部分的任务职责、业务范畴、工作流程、工作中 使用的各种数据及数据结构、各部门的业务关系和数据流程等,为系统设计打下基础。 需求分析的好坏往往决定了系统开发的成败。需求分析从系统的调查研究入手,需求分析要对系统的各个方面有全面的了解,既包括系 统内部的各个方面,也包括与系统有联系的各种外部因素。通过调查研究和分析,对系统产生 比较深刻的认识。需求分析阶段的最终结果是“需求分析说明书”,它涵盖了对用户环境、事务处理和信息 流程分析的一切成果,供项目开发小组和用户共同遵守。如果采用瀑布模型,就要对“需求分 析说明书”进行冻结,使它成为凝固可靠的基线。万一要求变更基线,开发者和用户双方,都 必须执行基线变更程序,此变更程序在合同中已做了明确规定。现针对“机票预订系统”对机票预订部门的组织结构、业务流程、用户角色职能、系统数据流进行分析。利用结构化分析和UML中的用例从大到小、从粗到细进行系统建模。1、组织结构调查系统的组织结构,反映了单位内部各个部门的职责划分和它们之间的关系。为了对系统有 一个全貌性的了解,首先要对系统内部部门结构、人员组织及用户情况有所了解。对系统组织 结构的调查,是从总的方面对系统进行宏观了解和分析。信息的流动关系是以组织结构为背景 的,而且总是伴随着组织部门之间的资金流和物流的传递而产生。机票预订系统的组织结构如 图1所示。图1系统组织结构图机票预订由机票预定部门全面负责,下设信息管理部、票务部、客服部三个部门的业务职责如下:信息管理部:管理基本信息、主要包括旅客基本信息的查询、更改、删除;航班信息的添力口、查询、更改、删除。票务部:管理各种票据,主要包括根据订票信息和航班信息打印账单和取票通知、核对账 单和取票通知以及交款信息,无误则打印机票并发放。客服部:为订票旅客提供实时服务,主要包括投诉咨询受理,和售前售后支持。2、系统用户分析“机票预订系统”主要是针对机票预订工作而开发的应用软件。通常有系统管理员、机票 预订管理员和订票旅客三种用户,他们的使用权限如下:系统管理员:对系统、数据库进行维护,主要对不同人员赋予不同的权限。机票预订管理员:对机票预定工作进行具体的操作。订票客户:一般操作水平,能够在本系统查询个人信息和订票信息。(由于水平有限,做出来的系统不包含此功能)3、UML用例图建模图2是根据用户的职能建立的用例图。图2中表示包含关系,表示被包含用例是被多个包含用例使用的一个可复用模块, 而表示对用例的扩展。4、数据流图数据流图是全面描述系统逻辑模型的工具,它抽象概括地把系统中各种业务处理过程联系 起来。在画“机票预订系统”的数据流图时,首先要画出整个顶层图,以保证对整个系统的概 况有个整体了解,然后把顶层图中的细节用下一层次的数据流程图来表示,按照由粗到细、逐 层细化的原则对系统的各个模块进行深入的分析。图3是“机票预订系统”的顶层数据流图。图3顶层数据流图顶层数据流图只是粗略地给出了整个系统的数据流情况,为了更好地把“机票预订系统” 中各个模块的具体数据流处理细节表示出来,可以在顶层图的基础上自顶向下地继续分解,得 到1层和2层数据流程图,如图 4和5所示。旅客信息通知、账单信息通知、账单信息r 1.1 (1.2安排航班订票信息打印通_JL知、账单旅客信息 )L丿通知、账单信息订票信息一 D1订票信息旅客2.3/ 、2.2打印机票收费信息收费订票V2.1信息1核对机票核对 正确信息通知、账单信息图5 2层流程图虽然1层数据流图对“机票预订系统”的顶层数据流图进行了细化,但是1层数据流图仍然不够详细,因此对1层数据流图中个别复杂的加工进一步细化,单独画出一张数据流图, 如图5至图6所示。1.111.13旅客基本信旅客基本信息及航班息及订票要订票要求信息求信息录入安排1丿客户信息.订票信息,D2通知和账单记录旅客基本信息卩V1.141.12 1旅客航班管理管理Jd3旅客基本信息表d4航班信息表图6订票处理的细化流程图旅客 取票 通知 和账 单信订票 信息D1订票记录图7取票处理的细化流程图5、数据字典为了对数据流图中各元素进行详细的说明,采用了数据字典的说明方法。由于篇幅限制, 仅对机票预订系统数据流图的部分数据字典举例说明如下:数据流条目(1 )数据流名称:旅客信息简述:订票旅客基本信息及订票要求数据流来源:旅客确定订票后,由订票管理人员编码整理后,输入计算机数据流去向:加工1安排航班,该加工将录入的数据存入数据库(订票基本信息表)数据项组成:身份证号 + 姓名+性别+工作单位+旅行日期+旅行时间+旅行目的地+联系方式 数据流量:o人/天高峰流量:1000人/天(2 )数据流名称:订票信息简述:航班安排结果数据流来源:旅客信息和航班信息数据流去向:加工 2,打印通知和账单数据项组成:身份证号 + 姓名+性别+班次+航班起飞时间+航班到达时间+航班目的地+票价 数据流量:0次/天高峰流量:1000次/天(3 )数据流名称:航班信息简述:航班基本信息数据流来源:加工1.4航班管理数据流去向:加工1.2安排数据项组成:航班日期 +航班起飞时间+航班到达时间+航班目的地+班次+票价+票余量 数据流量:0次/天高峰流量:1000次/天(4)数据流名称:取票通知和账单信息简述:返回给旅客的航班安排结果及旅客取票时用来核对的凭证数据流来源:加工 2打印取票通知和账单数据流去向:加工 3核对订票信息数据项组成:身份证号 + 姓名+性别+班次+航班日期+航班时间+航班目的地+票价 数据流量:0次/天高峰流量:1000次/天(5)数据流名称:订票信息核对正确简述:将旅客的取票通知和账单与系统中的订票信息核对,二者一致产生的信息数据流来源:加工 3核对订票信息数据流去向:加工 4收费数据项组成:身份证号 + 姓名+性别+班次+航班日期+航班起飞时间+航班目的地+票价 数据流量:0人次/天高峰流量:1000人次/天(6 )数据流名称:收费信息简述:对订票信息核对正确的旅客收费产生的信息数据流来源:加工 4收费数据流去向:加工 5打印机票数据项组成:身份证号 + 姓名+性别+班次+航班日期+航班起飞时间+航班目的地+票价 数据流量:0人次/天高峰流量:1000人次/天加工条目(1 )加工名:安排航班处理逻辑编号:1.1处理逻辑:接收旅客信息的录入,并检查有无错误,如果没有错误,将数据存入订票信息 表,并在航班信息表里查找符合旅客订票信息的相应航班,生成订票信息 激发条件:接收到旅客信息时输入:旅客信息输出:订票信息(2 )加工名:打印通知和账单编号:1.2处理逻辑:由生成的订票信息,打印取票通知和账单 激发条件:接收到已经安排了航班的订票信息时输入:订票信息输出:通知和账单信息(4 )加工名:核对机票信息编号:2.1处理逻辑:对旅客订票信息进行核对 激发条件:接收到旅客的取票通知和账单输入:无输出:“订票信息正确”的信息(4 )加工名:收费编号:2.2处理逻辑:对订票信息核对正确的旅客进行收费,收费后生成收费信息 激发条件:接收到订票信息核对正确的信息并收到旅客交费要求输入:交费信息输出:打印机票信息(5 )加工名:打印机票编号:2.3处理逻辑:由打印机票信息打印机票 激发条件:收到打印机票的信息 输 入:无输 出:机票数据存储条目(1 )数据存储编号:D1数据存储名称:订票信息表简述:存储旅客详细信息及订票要求组 成:旅客身份证号+姓名+性别+工作单位+航班起飞时间+航班到达时间+旅行目的地 关键字:旅客身份证号组织方式:索引文件,以旅客身份证号为关键字相关联的处理:加工 1、加工3数据项条目(1 )数据项名称:身份证号简述表明每个人身份的证件号组成籍贯代码+出生年月曰+其他代码码类型字符长度20位取值范围:数字 0-9,字母a-x(2) 数据项名称:姓名简述:旅客姓名组 成:姓名类 型:字符长 度:10位取值范围:汉字或字母(3) 数据项名称:性别简述旅客性别组成男或女类型字符长度2位取值范围:男或女(4 )数据项名称:联系方式简述:联系电话组成:数字类型:字符长度:15位取值范围:数字0-9(5)数据项名称:班次简述航班班次组成航班类型+航班号码类型字符长度10位取值范围:字母+数字(6 )数据项名称:航班日期简述航班起飞的日期组成年月日类型日期长度10位取值范围:正确的年月日(7)数据项名称:航班起飞时间简述航班起飞的时间组成时分类型时间长度20位取值范围:正确的时分(8)数据项名称:航班到达时间简述航班到达的时间组成年月日+时分秒类型字符长度20位取值范围:正确的年月日和时分秒(9)数据项名称:航班目的地简述航班飞往的目的地组成国家或地区+ 机场类型字符长度10位取值范围:汉字或英文(10)数据项名称:票价简述:相应航班对应机票的价格组成:数字+货币单位类 型:浮点型长 度:8位取值范围:数字0-9(11)数据项名称:票余量简述:机票剩余数量组成:数字类型:整型长度:4位取值范围:数字0-96、IPO 图机票预订工作应完成的多个功能,如图8的IPO图所示。输入航班数据旅客数据订票数据查询要求运行参数处理航班管理旅客管理航班安排票据核对查询要求系统管理输出航班记录旅客记录通知、账单记录订票记录查询结果图8 IPO图7、用户其他需求1. 性能要求查询服务部分:旅客通过本地计算机,从提交查询命令到返回结果不超过3秒钟。数据管理部分:系统管理员从提交一次录入到结果返回不超过3秒钟。2. 灵活性要求如果要为数据项设计编码,尽可能采用行业标准,自行编码也应合乎规范,并留有扩充余地, 还要征得相关业务部门认可。数据库设计也应考虑可扩充性,以适应今后机票预订规模发展和 系统升级的需要。3. 故障处理要求正常使用时不应出错,一般性错误时应给出错误提示。应提供定期自动备份数据库的功能,当 遇到不可恢复的系统错误,可以保证数据库完好无损。在系统出错后,应能恢复最近一次备份 数据库的状态。4. 其他要求 安全性:不同的用户具有不同的使用权限,只有具有最高权限的系统管理员才能修改、注销数据库中的信息,具有一般权限的人员只能读取与自己相关的内容。 一致性:系统的数据要保证一致性、准确性,当某一数据库中记录改变时,与之相关联的数据库也会随之变化。 易操作性:界面设计要符合大多数用户的操作习惯,系统还要提供操作指南,便于用户操作使用。四、概要设计软件开发的第二个阶段是概要设计,在需求分析阶段确定了系统“做什么”的基础上,设 计系统“怎么做”。概要设计注重于宏观上和框架上的设计,它的设计内容包括软件系统的总 体结构设计、数据库(包括数据结构)设计、外部接口设计、功能部件分配设计、部件之间的接 口设计等。1、系统结构设计系统功能模块的划分概要设计的核心问题是确定系统总体结构和模块划分。系统功能要层层划分,直到每一个 模块可以作为一个可以执行的程序单元为止。功能模块划分的最终结果,是系统结构图。根据 需求分析,该机票预订系统可由航班管理、旅客管理、订票管理、系统管理、系统帮助等子系 统组成,如图9所示。查询航班信息 删除航班信息 修改航班信息 增加航班信息用户管理系统备份系统初始化系统恢复退出系统操作说明帮助图9系统结构图各子系统的主要功能如下:(1) 航班管理子系统即管理和维护航班的各项数据信息,包括航班的启程时间与到达时间、目的地、班次、价 格以及票余量。允许业务员和系统管理员添加、更新和删除航班信息和查询航班信息。 该子系统功能由flight模块完成。(2) 旅客管理子系统:即管理和维护旅客的各项数据信息,包括旅客身份证号码、姓名、性别、工作单位、旅行 时间、旅行目的地等。允许业务管理员和系统管理员添加、更新、删除和查询旅客信息。该子系统功能由guest模块完成。(3) 订票管理子系统即管理和维护旅客的订票信息的各项数据,包括身份证号、姓名、性别和航班日期、航班 目的地、班次、价格等信息。允许业务管理员和系统管理员添加、更新、删除以及查询订票信 息,并进行航班的安排,打印取票通知和账单的打印,订票信息的核对,收费以及机票的打印。 而旅客只能查询自己的订票信息。该子系统功能由book模块完成。(4) 系统管理子系统即管理和维护用户的各项数据信息,包括管理员ID、姓名和密码。主要有添加、删除和修改用户信息、修改用户密码、系统初始化和系统备份、系统恢复等5项功能。用户类型决定了用户的权限管理,系统定义了2种用户权限:第1种是机票预订管理员,能查询、添加、删除和修改订票信息、航班和客户的信息数据,还 能根据航班和订票信息为客户安排航班,以及核对通知、账单和订票信息; 第2种是一般用户,能够自行注册和登陆,能够查询个人相关的信息。该子系统功能由 arrangement模块完成。(5) 系统帮助子系统即为用户提供操作帮助,解决用户使用过程中遇到的一般性问题。 该子系统功能由help模块完成。2、数据库设计数据库是应用系统的核心,应当精心设计,以保证系统的正确、可靠、高效运行。数据库 设计包括数据库需求分析、数据库概念设计、数据库逻辑结构设计和数据库物理设计。数据库 设计的目的,是为信息系统在数据库服务器上建立一个理想的数据模型。1. 数据库需求分析机票预订系统的数据库主要用于航班信息、旅客信息、订票信息的管理,因此数据库设计 必须充分满足这些功能要求。根据系统结构设计中各子系统的功能要求,可确定数据库的具体 需求如下:(1) 航班信息管理部分:管理员可对航班信息进行维护,如添加、修改、删除和查询航班信息等。班次为关键字段(2) 旅客信息管理部分管理员可对旅客信息数据进行维护,如添加、修改、删除和查询旅客信息。 旅客身份证号为关键字段(3) 订票信息管理部分系统根据旅客信息和航班信息安排航班,生成订票信息管理员可对订票信息数据进行添加、修改、删除和查询订票信息。航班号和旅客身份证号应该设为关键字段。订票信息生成后打印通知和账单,息管理员将通知和账单交给客户。 管理员将订票信息和通知、账单核对,核对无误后收费并打印机票。 订票信息记录中的旅客身份证号是旅客信息表的外码。订票信息记录中的航班号是航班信息表的外码。(4) 系统管理部分系统用户可以注册添加账户,登陆后查询个人信息和订票信息。 系统管理员添加、删除和修改系统用户信息、修改用户密码。系统管理员可以对系统进行初始化和系统备份、系统恢复。2. 数据库概念设计根据数据库的需求分析,接着开始数据库概念设计。数据库概念设计是指设计出数据库的 概念数据模型,即实体-联系图(简称E-R图)。这里给出E-R模型,如图10所示。图10实体一联系图3. 数据库逻辑结构设计数据的概念结构设计完毕后,要将设计出来的数据库概念模型转化为某种数据库系统所支 持的实际数据模型,也就是数据库的逻辑结构。flight机票预订系统的数据库中各个数据表的设计结构如表1表3所示。数据库命名为reservation MIS ,由3个数据表组成,数据表的命名采用拼音综合,每个表由若干字段组成, 字段用汉字命名。下面设计表的具体字段。(4)旅客注册表:存放旅客注册信息,表4列出了旅客注册表所有字段信息。字段类型长度允许空主键身份证号码字符20否姓名字符10是性别字符2是工作单位字符30是旅行时间字符20是旅行目的地字符10是联系方式字符15是表1旅客信息表guest(2)航班信息表:存放航班基本信息,表2列出了航班信息表所有字段信息。字段类型长度允许空主键班次字符10否航班时间字符10否航班起飞时间字符20否航班到达时间字符20否航班目的地字符10否票价浮点型数字8否票余量整数4否表2航班信息表flight(3)订票信息表:存放订票信息,表3列出了订票信息表所有字段信息。字段类型长度允许空主键身份证号码字符20否V姓名字符10是性别字符2是班次字符10否V航班起飞时间字符20是航班到达时间字符20是航班目的地字符10是票价浮点型数字8是表3订票信息表book字段类型长度允许空主键用户名1020否密码字符6否真实姓名字符10是年龄字符4是性别字符2是工作单位字符30是表4订票信息表 guestzc(5)管理员注册表:存放旅客注册信息,表4列出了旅客注册表所有字段信息。字段类型长度允许空主键用户名1020否密码字符6否真实姓名字符10是年龄字符4是性别字符2是工作单位字符30是表5管理员注册表guestzc3、数据库物理设计数据库物理设计是指设计出数据库的物理数据模型,它是数据库在物理设备上的具体实现,即数据库服务器物理空间上的表空间、表、字段、索弓I、视图、存储过程、触发器以及相应的 数据字典的设计。经过数据库的需求分析和概念模型设计,得到数据库的逻辑结构。现在可以设计好的逻辑 结构在SQL server 2000中建立数据库及数据库中的数据表,具体实现步骤就不再赘述。五、详细设计详细设计是在概要设计的基础上,进一步确定实现系统各层次上所需的具体功能,它的任 务不是编写主要的程序代码,而是设计出程序的实现过程,使程序员据此编写程序。模块详细设计1. 登录窗体设计:系统用户分为旅客和管理员,注册和登录时可以通过单选按钮选择用户类型,旅客用 户可以注册旅客账户并登陆系统,但系统管理员只能通过授权得到管理员用户名和密码, 而不能自行注册管理员。用户的用户名和密码输入正确即可登录系统,不同类型的账户对应使用不同的功能,比如,旅客用户只能对自己的账户注册信息进行修改,航班信息进行 查询,自己的订票信息进行查询;而系统同管理原则可使用全部功能。(1) 输入项:用户名、该用户所对应的密码、用户类型。(2) 输出项:相应的系统登录提示信息。(3) 界面设计:如图11所示。 测试要点:不同类型用户的注册和登录及其相应权限,可使用的功能也因用户类型不同 而不同。旅客和系统管理员的登录的主菜单分别如图12和图13所示。图11登录窗口图12旅客菜单图13管理员菜单2. 登录成功后窗体界面菜单功能项设计:登录成功后,系统提供的主菜单下设的下拉菜单功能项设计如图14 18所示。(这里以管理员身份登陆,并为例)测试要点:各菜单项与相应的功能窗体能否成功连接。以下各图为各个主菜单项下的子菜单项:图14航班管理子菜单项图15旅客管理子菜单项图16订票管理子菜单项Io 旦航班區 旅容苣淫 订票匪慕统管理粟统群期冃户甘理卜辟注册蓿息苣理昔理员注册信息音理裁畚饴要统恢复退出系统图17系统管理子菜单项图18系统帮助子菜单项航班管理主菜单设计1. 航班信息的添加(1) 功能:添加航班相关信息。(2) 输入项:航班信息,其中“班次”、“航班时间(即日期)”、“航班起飞时间”、“航班 到达时间”、“航班目的地”、“票价”和“票余量”均为必填项。(3) 输出项:添加后在“航班信息”窗体表格中显示相应的航班信息或提示请输入完整的航班信 息(4) 界面设计:如图19所示图19航班信息添加界面2. 航班信息的修改(1) 功能:修改航班相关信息。(2) 输入项:航班信息,其中“班次”、“航班时间(即日期)”、“航班起飞时间”、“航班 到达时间”、“航班目的地”、“票价”和“票余量”均为选填项(在对应条目上修改相应数 据项)。输出项:添加后在“航班信息”窗体表格中显示相应的航班信息。(4)界面设计:如图20所示图20航班信息修改界面3. 航班信息的删除(1)功能:删除航班相关信息。输入项:无输出项:删除所选的航班条目。(4) 界面设计:如图21所示图21航班信息删除界面4. 航班信息的查询(1) 功能:查询航班相关信息。(2) 输入项:航班信息,其中选择按“班次”、“航班日期”、“航班目的地”中任意一项进行查询。输出项:添加后在“航班信息”窗体表格中显示相应的航班信息。界面设计:如图22所示图22航班信息查询界面旅客管理主菜单旅客管理主菜单下设的子菜单包括:添加、修改、删除和查询旅客信息子菜单,其界面及 功能同航班管理主下设的添加、修改、删除和查询航班信息子菜单类似,因此,这里不再 赘述,详见可执行程序 .exe。订票管理主菜单订票管理主菜单下设的子菜单包括:航班安排子菜单、核对信息子菜单、修改、删除和查 询订票信息子菜单。其中,修改、删除和查询订票信息子菜单的界面及功能同航班管理主 下设的添加、修改、删除和查询航班信息子菜单类似,因此,这里也不再赘述,详见可执 行程序.exe。仅对航班安排和核对信息功能进行描述。1. 航班安排功能的介绍:输入具体的旅客信息后,单击“可选航班”按钮(如图23所示),即出现可供旅客选择的某一天的多条航班信息,根据旅客的选择,确定到底预订哪一班次,然后单击“安排航班” 按钮,生成某一旅客确定的订票信息。焉容信庖表工件单位旅行时间鹼行目的地離系方式JI王濬帘菜信钢铁200&-12-031365BS&9532申洁实业银行2008-11-17北京13931052163身份证号码: C必埴) 姓名:(必埴)性别:536198706135232旅行日期:C必埴)(聽填)工作单位:蔡明姚2008-11-17联系方式:安排航班退岀班次 卜458航班日期200E-U-L7航班起飞时间.09:05航E1&达时间一12:12图23航班安排界面2. 核对信息功能的介绍:进行订票信息的核对操作,单击“信息核对”子菜单项,弹出窗体,如图24所示。输入任意一个查询条件,然后单击“查询”按钮,即显示该旅客的所有订票信息。若旅客的取票通 知和账单和系统所显示的订票信息完全一致,则单击“核对正确”按钮,接下来弹出“收费 并打印机票”的窗体,如图 25所示。当确认以收费后,单击“收费并打印机票”按钮,则 弹出机票的打印窗体,如图 26所示。反之,若信息核对不正确,或者收费不成功,则退出 信息核对功能,返回主菜单。图24信息核对窗体图25核对正确窗体图26打印机票窗体此时完成整个订票过程。3 订票管理主菜单下设的修改、删除和查询订票信息子菜单的设计:订票管理主菜单下设的修改、删除和查询订票信息子菜单的界面及功能同航班管理主下设的添加、修改、删除和查询航班信息子菜单类似,因此,这里也不再赘述,详见可执行程序.exe 。系统管理主菜单的设计1. 用户管理功能的设计:当以系统管理员身份登录时,系统管理员可以使用此功能实现对旅客和管理员注册信息的管理。包括旅客和系统管理员注册信息的查询、删除和全部显示(如图27所示,这里以旅客注册信息管理为例,系统管理员的注册信息管理功能与此类似,不再一一列举),图27旅客注册信息管理2. 系统初始化功能的设计:(略)3. 系统备份功能的设计:(略)4. 系统还原功能的设计:(略)4.退出系统功能的设计:(略)系统帮助菜单的设计简单叙述了系统使用的要点(略)六、代码实现1系统登陆界面代码Private Sub Comma nd1_Click()登陆-If Optio n1.Value The nFgzc.ShowUn load MeElseIf Option1.Value = False And Option2.Value = False ThenMsgBox 请选择用户类型, vbCritical + vbOKOnly, 消息 End IfEnd SubPrivate Sub Comma nd2_Click()Dim a As In tegerIf Option1.Value = False And Option2.Value = False ThenMsgBox 请选择用户类型, vbCritical + vbOKOnly, 消息End IfIf Option1.Value = True And Text1.Text ThenAdodc1.RecordSource = select 用户名,密码 from guestzc where 用户名=& Text1.Text & and 密码=& Text2.Text & ”Adodc1.RefreshIf Adodc1.Recordset.RecordCou nt 0 The nFlkcd.ShowUn load MeElseMsgBox 用户不存在或密码错误,请重新输入,64,警告! ”End IfEnd IfIf Optio n2.Value = True And Text1.Text The nAdodc2.RecordSource = select 用户名,密码 from gzc where 用户名=& Text1.Text & and 密码=& Text2.Text & ”Adodc2.RefreshIf Adodc2.Recordset.RecordCou nt 0 The nFme nu .ShowUn load MeElseMsgBox 用户不存在或密码错误,请重新输入,64,警告! ”End IfEnd IfEnd SubPrivate Sub Comma nd3_Click()Un load MeEnd Sub2.管理员菜单下航班管理功能代码Private Sub aa_Click()Ffa.ShowEnd SubPrivate Sub ab_Click()Ffu.ShowEnd SubPrivate Sub ac_Click()Ffd.ShowEnd SubPrivate Sub ad_Click()Ffc.ShowEnd Sub3. 管理员菜单下旅客管理功能代码Private Sub ba_Click()Fga.ShowEnd SubPrivate Sub bb_Click()Fgu.ShowEnd SubPrivate Sub bc_Click()Fgd.ShowEnd SubPrivate Sub bd_Click()Fgc.ShowEnd Sub4. 管理员菜单下订票管理功能代码Private Sub gr_Click()Fgr.ShowEnd SubPrivate Sub hd_Click()Fhd.ShowEnd SubPrivate Sub mr_Click()Fmr.ShowEnd Sub5. 管理员菜单下系统管理功能代码Private Sub ca_Click()End SubPrivate Sub cb_Click()Fru.ShowEnd SubPrivate Sub cc_Click()Frd.ShowEnd SubPrivate Sub cd_Click()Frc.ShowEnd SubPrivate Sub de_Click()EndEnd Sub6. 管理员菜单下航班信息添加功能代码Private Sub Comma nd1_Click()If Text1.Text A nd Text2.Text A nd Text3.Text A nd Text4.Text A nd Text5.Text A nd Text6.Text A nd Text7.Text The nAdodc1.Recordset.AddNewText1.SetFocusAdodc1.Recordset.Fields(航班起飞时间)=Text1.TextAdodc1.Recordset.Fields(航班到达时间)=Text2.TextAdodc1.Recordset.Fields(航班日期)=Text3.TextAdodc1.Recordset.Fields(航班目的地)=Text4.TextAdodc1.Recordset.Fields(班次)=Text5.TextAdodc1.Recordset.Fields(票价)=Text6.TextAdodc1.Recordset.Fields(票余量)=Text7.TextElseMsgBox 请输入完整的航班信息!, vbInformation + vbOKOnly, 信息不完整End IfEnd SubPrivate Sub Comma nd2_Click()Text1.Text =-Text2.Text =Text3.Text =Text4.Text =Text5.Text =Text6.Text =Text7.Text =End SubPrivate Sub Comma nd3_Click()Un load MeEnd Sub7. 管理员菜单下航班信息修改功能代码Private Sub Comma nd1_Click()Adodc1.Recordset.UpdateText1.SetFocusAdodc1.Recordset.Fields(航班起飞时间)=Text1.TextAdodc1.Recordset.Fields(航班到达时间)=Text2.TextAdodc1.Recordset.Fields(航班日期)=Text3.TextAdodc1.Recordset.Fields(航班目的地)=Text4.TextAdodc1.Recordset.Fields(班次)=Text5.TextAdodc1.Recordset.Fields(票价)=Text6.TextAdodc1.Recordset.Fields(票余量)=Text7.TextEnd SubPrivate Sub Comma nd2_Click()Textl.Text =Text2.Text =Text3.Text =Text4.Text =Text5.Text =Text6.Text =Text7.Text =End SubPrivate Sub Comma nd3_Click()Un load MeEnd Sub8.管理员菜单下航班信息删除功能代码Private Sub Comma nd1_Click()Dim a As In tegera = MsgBox(确定要删除此信息吗?, 256 + 4 + 32,请确认)If a = 6 The nAdodc1.Recordset.DeleteEnd IfEnd SubPrivate Sub Comma nd2_Click()Un load MeEnd Sub9.管理员菜单下航班信息删除查询功能代码DataGrid1.Visible = TrueIf Text1.Text The nAdodc1.RecordSource = select * from flight where Adodc1.RefreshEnd If班次 =& Text1.Text & ”If Text2.Text The nAdodc1.RecordSource = select * from flight whereAdodc1.RefreshEnd IfIf Text3.Text The nAdodc1.RecordSource = select * from flight whereAdodc1.RefreshEnd If航班日期 =& Text2.Text & ”航班目的地 =& Text3.Text & ”End SubPrivate Sub Comma nd2_Click()Text1.Text =Text2.Text =Text3.Text =Comma nd1_Click End SubPrivate Sub Comma nd3_Click()Un load MeEnd SubPrivate Sub Form_Load() DataGrid1.Visible = False End Sub 10订票管理主菜单下设添加、修改、删除和查询旅客信息子菜单代码订票管理主菜单下设添加、修改、删除和查询旅客信息子菜单,其代码和航班管理下设相 应子菜单的代码类似,因此,这里不再赘述,详见未生成.exe的目标程序。11.订票功能代码航班安排部分代码Private Sub Comma nd1_Click()=& Text3.Text & and航班目的Adodc1.RecordSource = select * from flight where 航班日期 地=& Text4.Text & ”Adodc1.RefreshDataGrid1.Visible = TrueIf Text1.Text A nd Text2.Text A nd Text3.Text A nd Text4.Text Then Adodc2.Recordset.AddNewText1.SetFocusAdodc2.Recordset.Fields(身份证号码)=Text1.TextAdodc2.Recordset.Fields(姓名)=Text2.TextIf Optio n1.Captio n A nd Optio n2.C apti on = The nAdodc2.Recordset.Fields(性别)=Option1.CaptionElseIf Optio n2.Capti on A nd Optio n1.Captio n = The nAdodc2.Recordset.Fields(性别)=Option2.CaptionEnd IfAdodc2.Recordset.Fields(工作单位)=Text5.TextAdodc2.Recordset.Fields(旅行时间)=Text3.TextAdodc2.Recordset.Fields(旅行目的地)=Text4.TextAdodc2.Recordset.Fields(联系方式)=Text6.TextElseMsgBox 请输入完整的旅客信息!, vbInformation + vbOKOnly, 信息不完整”End IfEnd SubPrivate Sub Comma nd2_Click()If DataGridl.Visible = True ThenFdy.ShowElseMsgBox 请先查询航班,64,警告End IfEnd SubPrivate Sub Comma nd3_Click()Un load MeEnd SubPrivate Sub Comma nd4_Click()Text1.Text =-Text2.Text =Text3.Text =Text4.Text =Text5.Text =Text6.Text =Text7.Text =Text8.Text =Text9.Text =Text10.Text =Text11.Text =End SubPrivate Sub Comma nd5_Click()=& Text3.Text & and航班目的Adodc1.RecordSource = select * from flight where航班日期地=& Text4.Text & ”Adodc1.RefreshDataGrid1.Visible = TrueText1.SetFocusIf Text1.Text A nd Text2.Text A nd Text3.Text A nd Text4.Text ThenText1.SetFocusAdodc2.Recordset.Fields(身份证号码)=Text1.TextAdodc2.Recordset.Fields(姓名)=Text2.TextIf Optio n1.Captio n A nd Optio n2.C apti on = The nAdodc2.Recordset.Fields(性别)=Option1.CaptionElseIf Optio n2.Capti on A nd Optio n1.Captio n = The nAdodc2.Recordset.Fields(性别)=Option2.CaptionEnd IfAdodc2.Recordset.Fields(工作单位)=Text5.TextAdodc2.Recordset.Fields(旅行时间)=Text3.TextAdodc2.Recordset.Fields(旅行目的地)=Text4.TextAdodc2.Recordset.Fields(联系方式)=Text6.TextElseMsgBox 请输入完整的旅客信息!, vbInformation + vbOKOnly, 信息不完整”End IfEnd SubPrivate Sub Form_Load() DataGridl.Visible = False Text7.Visible = False Text8.Visible = False Text9.Visible = False Text10.Visible = False Text11.Visible = False End Sub信息核对部分代码Private Sub Comma nd1_Click()DataGrid1.Visible = TrueIf Text1.Text = A nd Text2.Text = A nd Text3.Text = A nd Text4.Text = Then MsgBox 请填写查询内容!, vblnformation + vbOKOnly, 警告”Textl.SetFocusExit SubEnd IfDataGridl.Visible = TrueIf Textl.Text The nAdodcI.RecordSource = select * from reservati on whereAdodcI.RefreshEnd IfIf Text2.Text The nAdodcI.RecordSource = select * from reservati on whereAdodcI.RefreshEnd IfIf Text3.Text The nAdodcI.RecordSource = select * from reservati on whereAdodcI.RefreshEnd IfIf Text4.Text The nAdodcI.RecordSource = select * from reservati on whereAdodcI.RefreshEnd IfIf Text5.Text The nAdodcI.RecordSource = select * from reservati on whereAdodcI.RefreshEnd IfEnd Sub身份证号码 =& Textl.Text &姓名 =& Text2.Text & ”班次 =& Text3.Text & ”航班日期 =& Text4.Text & 川航班目的地 =& Text5.Text &milmilPrivate Sub Comma nd2_Click()Un load MeEnd SubPrivate Sub Comma nd3_Click() Fhdr.ShowUn load
展开阅读全文