1、目录1 背景 .12 系统分析 .12.1 系统 12.1.1 系统功能分析 .12.1.2 系统 .23 系统设计 .23.1 系统功能模块设计 .23.2.1 数据库需求分析 53.2.2 数据库概念结构设计 63.2.3 数据库逻辑结构设计 84 系统实现 .114.1.1 创建系统用户表 .114.1.2 创建舱位等级信息表 .114.1.3 创建客机信息表 .124.1.4 创建航线信息表 .124.1.5 创建客户类型信息表 .134.1.6 创建客户信息表 .134.1.7 创建订票信息表 .134.2 航空公司管理信息系统主窗体的创建 144.2.1 创建工程项目 MIS_Ti
2、cket144.2.2 创建航空公司管理信息系统的主窗体 .144.2.3 创建主窗体的菜单 .144.3 系统用户管理模块的创建 154.4 舱位信息管理模块的创建 154.4.1 显示舱位信息窗体的创建 .155 结束语 .16图表目录图 3-1 系统功能模块图 .2图 3-3 舱位等级信息实体 E-R 图 7表 3-7.9表 3-8.9表 3-9.9表 3-10.10表 3-11.10表 3-12.10图 4-1 航空公司管理信息系统主窗体 14图 4-2 主窗体中的菜单结构 15图 4-3 舱位等级信息窗体 .161 背景一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信
3、息等,更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。本设计讲述如何建立一个航空公司管理信息系统。一般而言,航空公司的管理信息系统应该包括人事、工资管理模块 。2 系统分析2.1 系统2.1.1 系统功能分析系统开发的总体任务是实现各种信息的系统化、规范化和自动化。系统功能分析是在系统开发的总体任务的基础上完成。本例子中的航空公司管理信息系统需要完成功能主要有: 舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。 客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服
4、役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。 航线信息的输入、修改和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。 客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注信息等。 客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、联系电话、客户类型和备注信息等。 订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金额和备注信息等。2.1.2 系统3 系统设
5、计3.1 系统功能模块设计对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图 3-1所示的系统功能模块图客户信息查询客户信息修改客户信息添加客户类型信息修改客户类型信息添加航线信息查询航线信息修改航线信息添加客机信息查询客机信息修改客机信息添加舱位信息修改舱位信息添加航空公司管理信息系统航线信息管理系统管理订票信息管理客户信息管理添加订票信息订票信息查询订票信息修改密码管理用户管理舱位信息管理航线信息管理客机信息管理客户信息管理客户类型信息管理图 3-1 系统功能模块图组织结构图董事会总经理人事总经办航空服务部地面保障部航空安全部采购部后勤部研发部行政部工程部由于航空系统庞大这里
6、只举例售票系统业务流程图飞机售票系统留言是否合法留言添加入数据库显示所有留言注册登录修改资料或取回密码起点 / 始点查询机票信息选择所有机票是否登录添加入购票车显示购票车信息确认购票信息显示状态是否以购买3.2数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。设计数据库系统时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。数据库设计一般包括如下几个步骤:数据库需要分析。数据库概念结构设计。数据库逻辑结构设计。3.2.1 数据库需求分析用户的需求具
7、体体现在各种信息的提供、保存、更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入。收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。仔细分析调查有关航空公司管理信息需求的基础上,将得到如图 3-2 所示的本系统所处理的数据流程。舱位等级设置 客机登记 客户类型设置基本信息录入 基本信息录入 基本信息录入舱位等级信息管理 客机信息管理 客户类型信息管理航线设置 客户登记 客户信息录入航线信息管理 客户信息管理订票信息录入订票信息管理图 3-2 航空公司管理信息系统数据流程图针对一般航空公司管理信息系统的需求,通过对航空公司管理工作过程的内容和数
8、据流程分析,设计如下面所示的数据项和数据结构:舱位等级信息,包括的数据项有:舱位等级编号、舱位等级名称、是否有礼品、是否有报纸、是否有饮料、是否有午餐、是否有电影、是否可以改签、是否可以退票、是否可以打折、备注信息等。客机信息,包括的数据项有:客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量、备注信息等。航线信息,包括的数据项有:航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格、备注信息等。客户类型信息,包括的数据项有:客户类型编号、客户类型名称、折扣比例、备注信息等。客户信息,包括的数据项有:客户编
9、号、客户姓名、客户性别、身份证号码、联系电话、客户类型、备注信息等。订票信息,包括的数据项有:订票编号、顾客编号、顾客姓名、顾客类型、折扣比例、航线编号、出发城市、到达城市、舱位类型、机票价格、结算金额、备注信息等。有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。3.2.2 数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。本实例根据上面的设计规划出的实体有:舱位等级信息实体、客机信息实体、航线信息实体、客户类型信息实体、客户
10、信息实体、订票信息实体。舱位等级信息实体 E-R 图如图 3-3 所示。舱位等级信息实体舱位等级编号舱位等级名称服务内容 备注信息图 3-3 舱位等级信息实体 E-R 图客机信息实体 E-R 图如图 3-4 所示。客机信息实体客机编号 客机型号 购买时间 服役时间图 3-4 客机信息实体 E-R 图航线信息实体 E-R 图如图 3-5 所示。航线信息实体航线编号 出发城市 到达城市 备注信息图 3-5 航线信息实体 E-R 图客户类型信息实体 E-R 图如图 3-6 所示客户类型信息实体客户类型编号客户类型姓名折扣比例 备注信息图 3-6 客户类型信息实体 E-R 图3.2.3 数据库逻辑结构
11、设计现在需要将上面的数据库概念结构转化为 SQL Server 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。航空公司管理信息系统数据库中各个表格的设计结果如下面表格所示。每个表格表示在数据库中的一个表。表 3-7 为供应商信息表。表 3-7 serviceInfo 舱位等级信息表列 名 数据类型 可否为空 说 明serviceNO char NOT NULL 舱位等级编号serviceName nvarchar NULL 舱位等级名称noPresent char NULL 是否有礼物noNewsPaper char NULL 是否有报纸noDrink char NULL
12、是否有饮料noFood char NULL 是否有午餐noMovie char NULL 是否有电影canChange char NULL 是否可以改签canCancel char NULL 是否可以退票canDiscount char NULL 是否可以打折serviceMemo text NULL 备注信息表 3-8 planeInfo 客机信息表格列 名 数据类型 可否为空 说 明planeNO char NOT NULL 客机编号planeType char NULL 客机型号buyDate datetime NULL 购买日期serveDate datetime NULL 服役日期i
13、sCommon nvarchar NULL 经济舱座位数量isCommercial nvarchar NULL 公务舱座位数量isFirst nvarchar NULL 头等舱座位数量planeMemo text NULL 备注信息表 3-9 airlineInfo 航线信息表列 名 数据类型 可否为空 说 明airlineNO char NOT NULL 航线编号departCity nvarchar NULL 出发城市arrivalCity nvarchar NULL 到达城市departDate char NULL 航班日期departTime char NULL 出发时间arrival
14、Time char NULL 到达时间planeNO char NULL 客机编号commonPrice numeric NULL 经济舱价格commercialPrice numeric NULL 公务舱价格firstPrice numeric NULL 头等舱价格airlineMemo text NULL 备注信息表 3-10 customerType 客户类型信息表列 名 数据类型 可否为空 说 明ctypeNO char NOT NULL 客户类型编号ctypeName char NULL 客户类型名称discount numeric NULL 折扣比例续表列 名 数据类型 可否为空
15、说 明ctypeMemo text NULL 备注表 3-11 customerInfo 客户信息表列 名 数据类型 可否为空 说 明customerNO char NOT NULL 客户编号customerName char NULL 客户姓名customerSex char NULL 客户性别customerID char NULL 身份证号码customerTele char NULL 客户联系电话customerType char NULL 客户类型customerMemo text NULL 备注表 3-12 ticketInfo 订票信息表列 名 数据类型 可否为空 说 明tick
16、etNO char NOT NULL 订票编号customerNO char NULL 客户编号customerName char NULL 客户姓名customerType char NULL 客户类型discount numeric NULL 折扣比例airlineNO char NULL 航线编号departCity nvarchar NULL 出发城市arrivalCity nvarchar NULL 到达城市ticketDate datetime NULL 出发日期serviceType char NULL 舱位类型ticketPrice numeric NULL 机票价格ticke
17、tSum numeric NULL 结算金额customerMemo text NULL 备注4 系统实现4.1 数据库结构的实现经过前面的需求分析和概念结构设计以后,得到数据库的逻辑结构。现在就可以在 SQL Server 2000 数据库系统中实现该逻辑结构。这是利用 SQL Server 2000数据库系统中的 SQL 查询分析器实现的。下面给出创建这些表格的 SQL 语句。4.1.1 创建系统用户表CREATE TABLE dbo.user_Info1 (user_ID char (10) COLLATE Chinese_PRC_CI_AS NOT NULL ,user_PWD cha
18、r (10) COLLATE Chinese_PRC_CI_AS NULL ,user_Des char (10) COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY4.1.2 创建舱位等级信息表CREATE TABLE dbo.serviceInfo (serviceNO char (4) COLLATE Chinese_PRC_CI_AS NOT NULL ,serviceName nvarchar (20) COLLATE Chinese_PRC_CI_AS NULL ,noPresent char (2) COLLATE Chinese_PRC_CI
19、_AS NULL ,noNewsPaper char (2) COLLATE Chinese_PRC_CI_AS NULL ,noDrink char (2) COLLATE Chinese_PRC_CI_AS NULL ,noFood char (2) COLLATE Chinese_PRC_CI_AS NULL ,noMovie char (2) COLLATE Chinese_PRC_CI_AS NULL ,canChange char (2) COLLATE Chinese_PRC_CI_AS NULL ,canCancel char (2) COLLATE Chinese_PRC_C
20、I_AS NULL ,canDiscount char (2) COLLATE Chinese_PRC_CI_AS NULL ,serviceMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.1.3 创建客机信息表CREATE TABLE dbo.planeInfo (planeNO char (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,planeType char (20) COLLATE Chinese_PRC_CI_AS NULL ,buyDate
21、datetime NULL ,serveDate datetime NULL ,isCommon nvarchar (20) COLLATE Chinese_PRC_CI_AS NULL ,isCommercial nvarchar (20) COLLATE Chinese_PRC_CI_AS NULL ,isFirst nvarchar (20) COLLATE Chinese_PRC_CI_AS NULL ,planeMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.1.4 创建航线信息表
22、CREATE TABLE dbo.airlineInfo (airlineNO char (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,departCity nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,arrivalCity nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,departDate char (10) COLLATE Chinese_PRC_CI_AS NULL ,departTime char (10) COLLATE Chinese_PRC_CI_AS
23、 NULL ,arrivalTime char (10) COLLATE Chinese_PRC_CI_AS NULL ,planeNO char (18) COLLATE Chinese_PRC_CI_AS NULL ,commonPrice numeric(18, 2) NULL ,commercialPrice numeric(18, 2) NULL ,firstPrice numeric(18, 2) NULL ,airlineMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.1.5
24、创建客户类型信息表CREATE TABLE dbo.customerType (ctypeNO char (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,ctypeName char (20) COLLATE Chinese_PRC_CI_AS NULL ,discount numeric(2, 0) NULL ,ctypeMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.1.6 创建客户信息表CREATE TABLE dbo.customerInfo (cu
25、stomerNO char (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,customerName char (50) COLLATE Chinese_PRC_CI_AS NULL ,customerSex char (2) COLLATE Chinese_PRC_CI_AS NULL ,customerID char (18) COLLATE Chinese_PRC_CI_AS NULL ,customerTele char (20) COLLATE Chinese_PRC_CI_AS NULL ,customerType char (14) COLLAT
26、E Chinese_PRC_CI_AS NULL ,customerMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.1.7 创建订票信息表CREATE TABLE dbo.ticketInfo (ticketNO char (14) COLLATE Chinese_PRC_CI_AS NOT NULL ,customerNO char (14) COLLATE Chinese_PRC_CI_AS NULL ,customerName char (50) COLLATE Chinese_PRC
27、_CI_AS NULL ,customerType char (14) COLLATE Chinese_PRC_CI_AS NULL ,discount numeric(18, 0) NULL ,airlineNO char (14) COLLATE Chinese_PRC_CI_AS NULL ,departCity nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,arrivalCity nvarchar (50) COLLATE Chinese_PRC_CI_AS NULL ,ticketDate datetime NULL ,serviceTy
28、pe nvarchar (20) COLLATE Chinese_PRC_CI_AS NULL ,ticketPrice numeric(18, 2) NULL ,ticketSum numeric(18, 2) NULL ,ticketMemo text COLLATE Chinese_PRC_CI_AS NULL ) ON PRIMARY TEXTIMAGE_ON PRIMARY4.2 航空公司管理信息系统主窗体的创建上面的 SQL 语句在 SQL Server 2000 中查询分析器的执行,将自动产生需要的所有表格。有关数据库结构的所有后台工作已经完成。现在将通过航空公司管理信息系统中各
29、个功能模块的实现,讲解如何使用 Visual Basic 来编写数据库系统的客户端程序。4.2.1 创建工程项目MIS_Ticket启动 Visual Basic 后,单击 File|New Project 菜单,在工程模板中选择 Standard EXE,Visual Basic 将自动产生一个 Form 窗体,属性都是缺省设置。这里我们删除这个窗体,单击 File|Save Project 菜单,将这个工程项目命名为 MIS_Ticket。4.2.2 创建航空公司管理信息系统的主窗体图 4-1 航空公司管理信息系统主窗体在主窗体中加入状态栏控件,可以实时反映系统中的各个状态的变化。状态栏控
30、件需要在通常的属性窗口中设置一般属性,还需要在其特有的弹出式菜单中进行设置。选中状态栏控件,单击鼠标右键,选中 Property 菜单,然后设置属性。面板 1 用来显示各种文本信息,面板 2 用来显示当前日期,面板 3 用来显示当前时间。4.2.3 创建主窗体的菜单在如图 4-2 所示的主窗体中,单击鼠标右键,选择弹出式菜单中的 Menu Editor,创建如图 4-2 所示的菜单结构:图 4-2 主窗体中的菜单结构4.3 系统用户管理模块的创建用户管理模块主要实现: 用户登录。 添加用户。 修改用户密码。4.4 舱位信息管理模块的创建舱位信息管理模块主要实现如下功能: 添加舱位信息。 修改舱
31、位信息。 删除舱位信息。4.4.1 显示舱位信息窗体的创建选择“航线信息管理|舱位信息 ”菜单,将出现如图 9-12 所示的窗体。图 4-3 舱位等级信息窗体5 结束语一个完整的航空公司管理信息系统就创建完毕了。在本设计中我们详细地讲述了该航空公司管理信息系统的系统设计部分,包括功能模块设计、数据库结构设计等。系统设计为整个程序构建了骨架,各个功能模块实现各个细节部分。再次感谢我的指导老师对我的殷切知道,谢谢各位领导。附录参考文献下面是期刊文献、书籍、译著和在线文档等参考文献的格式:1 作者. 题目J. 期刊. 年, 卷(期): 起始页 结束页 .2 作者. 题目M. 出版地: 出版社, 年代: 起始页 结束页.3 作者. 题目M. 译者译. 出版社, 年代: 起始页结束页.4 作者. 题目EB/OL.网址, 访问日期.