需求,有时乘客由于不了解航空公司机票销售的信息,而不能在相应的时间内购到理想的机票。从而浪费了大量的人力和物力资源,然而乘客与航空公司联系,把相应的信息反馈给乘客。让乘客选择适合自己的理想的机票,从而大大节省了人力和物力,因此开发这样一个航空售票系统就显得十分必要了。
3.2开发设计思想
本系统开发设计思想:
1.尽量采用本系统现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用本系统现有资源,提高系统开发水平和应用效果的目的[6]。
2.系统应符合售票的规定,满足日常管理的需要,并达到操作过程中的直观、方便、实用、安全等要求。
3.系统采用模块化程序设计方法,这样既便于系统功能的各种组合,又便没有参与开发的技术维护员补充、维护。
4.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改等操作。
3.3系统功能结构图
从功能描述的内容可以看到,本设计可以实现六个完整的功能,根据这些功能,设计出系统的功能模块如图3.1所示:
图3.1系统功能结构图
在功能模块示意图的树形结构中,每一个叶结点都是一个最小的功能模块。每一个功能模块都需要对不同的表完成相同的数据库操作。即添加记录、修改记录、删除记录以及查询显示记录信息。
3.4数据流程分析
了解系统的功能模块划分以及各模块之间的关系[7],这是系统总体设计的重要组成部分。如果要对系统形成一个完整而全面的认识,还需要进行系统流程分析。所谓系统流程就是用户在使用系统时的工作过程。本系统的流程分析如图3.2所示:
图3.2数据流程图
3.5数据概念结构设计
有了数据流图,我们在需求分析的基础上,设计出能够满足用户需求和各种实体,以及确定它们之间的关系,为后面的逻辑结构打下基础。
3.3概念结构图
3.6系统的开发工具和运行环境选择
1.开发工具:中文版VisualFoxPro6.0
系统是采用VisualFoxPro6.0制作的[8]。它是当今比较流行的可视化工具它不像VisualBasic6.0一样需要借助其他的数据库来完成某个软件开发。它有自带的数据库,不仅可以简化数据库管理,而且能使应用程序的开发流程更为合理。VisualFoxPro6.0使组织数据、定义数据库规则和建立应用程序等工作变得简单易行。利用可视化的设计工具和向导,用户可以快速创建表单、查询、和打印报表。
VisualFoxPro6.0还提供了一个集成化的系统开发环境。它不仅支持过程式编程技术,而且在语言方面作了强大的扩充,支持面向对象可视化编程技术,并拥有功能强大的可视化程序设计工具。目前,VisualFoxPro6.0是用户收集信息、查询数据、创建集成数据库系统,进行实用系统开发较为理想的工具软件。
2.运行环境:Windows9x,WindowsNT或Windows2000操作系统。
4详细设计
4.1数据表的逻辑结构设计
航班售票管理系统是一个典型的数据库应用系统,因此它自然离不开数据库的数据表。下面我们来定义数据表的逻辑结构。
4.1.1"航班信息数据表"的逻辑结构定义
在"航班信息数据表"的逻辑结构定义中,把"航班号"字段定为主索引字段,因为一个航班公司的每一个航班号应该是唯一的,而且该字段是用于与"乘客信息数据表"建立关键字段。在一个售票窗口中,只要选择一个航班号,则该航班号下的乘客记录会全部显示出来,也可以在该航班号下增加新的乘客的记录。"航班信息数据表"的逻辑结构定义如表1所示:
表1"航班信息数据库表"的逻辑结构
字段名称字段类型字段大小小数位数索引是否可以为空
航班号字符型16主索引No
发出城市字符型10普通索引No
到达城市字符型10普通索引No
发出时间字符型10普通索引No
到达时间字符型10普通索引No
同时,把其它几个字段定义为普通索引字段,这样便于建立查询,如乘客在售票或订票之前需要查询航班的发出城市、到达城市、发出时间、到达时间等等。
在数据表的结构定义中,我们将"发出时间"和"到达时间"字段定义为字符型,而并不按日期或时间格式加以定义,往往会由于输入的格式不同而经常发生错误;同时,字符型字段在查询时比日期型字段的查询方便得多,因此在设置"发出时间"和"到达时间"字段为字符型字段后,用户用统一的时间格式输入即可。
4.1.2"乘客信息数据表"的逻辑结构定义
乘客管理是航班管理中的另一个重要的方面,首先需要对乘客进行记录,乘客信息是相对于一个具体航班的,因此在系统开发中往往需要建立数据的关联。根据乘客在购票、订票和乘客信息等方面的管理特点,我们特设计"乘客信息数据表"的逻辑结构如表2所示:
表2"乘客信息数据表"的逻辑结构
字段名称字段类型字段大小小数位数索引是否可以为空
航班号字符型16普通索引No
座位号字符型19No
飞行日期字符型12No
订购票人字符型10No
身份证号字符型15关键索引No
座位等级字符型4No
票价字符型默认No
同样,在"乘客信息数据表"中,我们将"飞行日期"字段定义为字符型,而不定义为标准的日期型;同时,我们为"航班号"字段建立普通索引,这样便于与"航班信息数据表"中的"航班号"字段建立关联;将"身份证号"字段定义为关键索引字段,因为通常每一乘客的身份证号是唯一的。
4.1.3"航班座位等级分配与座位占用表"的逻辑结构定义
在订票、售票时,乘客需要指定相关的座位等级,系统为它分配一个座位,在该座位售出之后,需要为该座位作上已经"占用"的标记。根据这些特点,特创建"航班座位等级分配与座位占用表"的逻辑结构。如表3所示:
表3"航班座位等级分配与座位占用表"的逻辑结构
字段名称字段类型字段大小小数位数索引是否可以为空
航班号字符型16主索引No
座位号字符型19No
座位等级字符型4No
票价字符型默认2No
占用标记字符型1Yes
在"航班座位等级分配与座位占用表"中,我们将"座位号"字段定义为关联字段,它在数据处理中是唯一的。为不造成各航班的座位号的数据发生冲突,我们在进行座位的初始化设置或人工编辑过程中,需要在座位号前面附加上航班号。由于航班号不重复,所以每座位号也不重复。"座位号"字段大小应该为"航班号"字段大小再加上实际的座位号的大小。
"占用标记"的字段允许为空,因为在该座位售出之前,它无占用标记。另外,可以为"航班号"字段创建普通索引,这可以在创建查询时使用。
4.1.4"密码表"的逻辑结构
一个密码表的结构往往比较简单,它主要用于对用户名称与用户密码进行记录和编辑修改,因此定义"密码表"的结构如表4所示:
表4"密码表"的逻辑结构
字段名称字段类型字段大小小数位数索引是否可以为空
用户密码字符型6主索引No
用户姓名字符型10No
4.2系统功能的设计
1.系统启动界面
特作一个具有一定特色的系统启动界面,插入一个具有航班飞机的图片,使用户一看到图片就能想到是一个航空公司的系统。这个界面有两个重要的按钮:系统登录和退出登录。
2.系统的权限认证
设置每一个人的权限,每个系统人员都有自己的用户姓名和用户密码,只有在用户姓名和用户密码输入正确后,才能进入该用户的功能模块,否则将不
上一篇:
LED显示屏动态显示和远程监控的实现(论文)
下一篇:
试析影响公路路面平整度的因素及应采取的施工措施