1引言
1.1编写目的
在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。
本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。主要解决了实现该系统程序模块具体设计问题。包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。
在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。
1.2背景
开发软件名称:机票预订系统。
用户:航空公司,乘客
运行环境:个人电脑
开发平台:MyEclipse 7.0 Mysql数据库。
1.3定义
插入:对数据库的操作的一种,用于将数据存入数据库中。
更新:对数据库的操作的一种,用于更改数据库中的数据信息。
2程序系统的结构
3查询订票程序设计说明
3.1程序描述
本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,修改机票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。
1、机票预订功能:旅客和机场管理员有权力进行该项功能。首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。
2、取票通知:该项功能只有机场管理员有权力进行操作,在机票预订功能成功完成之后,系统会自动给浏览器端发送一条取票信息以及所需缴纳的费用。旅客可以利用特定设备将该取票信息打印出来,这就是取票通知。
3、查询航班:可以通过输入出发地,目的地,日期和时间选定自己航班。
4、查询机票:该项功能三方都可以操作,可以通过自己的身份证号以及取票通知上的机票号查询自己的机票信息。
5、打印机票:该功能只有机场管理员有权力操作,只有当管理员确认旅客已经付款后才予以打印机票,可以通过身份证号和对应的取票信息上的机票号查询机票信息,然后服务器返回机票信息,管理员就可以打印该机票信息,交给旅客。
6、各航班的营运统计:该项功能只有机场管理员才能操作,他可以通过输入年份和月份查询当月个航班的营运情况,以便机场能够及时掌握航班动态。
7、后台的航班添加:该项功能只有机场管理员才能操作,他通过提供航班的具体信息添加航班信息。
8、后台的取消航班:该项功能只有机场管理员才能操作,先通过航班号和航班日期查询到航班信息后,取消航班就可以将该航班从数据库中删除。
9、后台的航班查询:该项功能只有机场管理员才能操作,通过航班号和航班日期查询到航班信息。
10、后台的机票生成:该项功能只有机场管理员才能操作,可以通过该项功能给刚添加的航班生成对应的飞机票号纪录。
3.2功能
该程序输入一处理一输出图如下:
精度:时间要求精确到分,价格精确到个位
灵活性:响应鼠标和键盘的操作
时间特性:是电脑的配置和网络的响应速度而定
3.4输人项
名称 | 数据类型 | 数据格式 | 有效范围 | 输入方式 | 数据来源 | 保密条件 |
姓名 | Varchar | 无 | 6位以上 | 输入 | 乘客 | 加密 |
性别 | Varchar | 无 | 2位 | 选择 | 乘客 | 加密 |
身份证号码 | Varchar | 无 | 16—20位 | 输入 | 乘客 | 加密 |
联系电话 | Varchar | 无 | 8位以上 | 输入 | 乘客 | 加密 |
电子邮件 | Varchar | 无 | 8位以上 | 输入 | 乘客 | 加密 |
工作单位 | Varchar | 无 | 8位以上 | 输入 | 乘客 | 加密 |
航班号 | Varchar | 无 | 8位以上 | 选择 | 乘客 | 无 |
账单号 | Varchar | 无 | 8位以上 | 输入 | 系统生产 | 无 |
航班等级 | Varchar | 无 | 2位以上 | 选择 | 管理员 | 无 |
航班日期 | Varchar | 无 | 8位以上 | 选择 | 管理员 | 无 |
3.5输出项
名称 | 数据类型 | 数据格式 | 输出方式 | 保密条件 |
飞行出发地 | Varchar | 无 | 字符串 | 无 |
目的地 | Varchar | 无 | 字符串 | 无 |
起飞时间 | Varchar | 无 | 字符串 | 无 |
商务仓票价 | Varchar | 无 | 字符串 | 无 |
经济仓票价 | Varchar | 无 | 字符串 | 无 |
座位空数 | Varchar | 无 | 字符串 | 无 |
是否领票 | Varchar | 无 | 字符串 | 无 |
航班日期 | Varchar | 无 | 字符串 | 无 |
航班等级 | Varchar | 无 | 字符串 | 无 |
3.6算法
(1)【确定】按钮触发的处理:验证用户的合法性。
处理流程:
取得用户输入的用户名和密码;
加密用户名和密码,传输到数据库并与账户表进行一致性验证;
If用户名and 密码 正确
以该用户身份进入系统总控界面并获得相应系统权限
else
提示“用户名或密码错误”
累计错误三次,系统将自动关闭
else if
3.7流程逻辑
订票系统ER图
服务器程序上可使用Mysql 的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
在输入方面,对于键盘、鼠标的输入,可用Java、jsp的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用Java的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
本程序用高级语言jsp进行编程,直接内存分配由jsp程序运行时分配。
本组件所依赖的变量,结构要求全部在组建内申明。
3.10注释设计
3.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统将自动关闭。
3.12测试计划
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。
4改票程序设计说明
4.1程序描述
更改机票:利用身份证号和对应的机票号和账单号就可以查询到机票信息,然后就可以退订机票。
4.2功能
退票程序IPO图
4.3性能
精度:时间要求精确到分,价格精确到个位
灵活性:响应鼠标和键盘的操作
时间特性:是电脑的配置和网络的响应速度而定
4.4输人项
名称 | 数据类型 | 数据格式 | 有效范围 | 输入方式 | 数据来源 | 保密条件 |
身份证号码 | Varchar | 无 | 16—20位 | 输入 | 乘客 | 加密 |
航班号 | Varchar | 无 | 8位以上 | 选择 | 乘客 | 无 |
账单号 | Varchar | 无 | 8位以上 | 输入 | 系统生产 | 无 |
4.5输出项
名称 | 数据类型 | 数据格式 | 输出方式 | 保密条件 |
飞行出发地 | Varchar | 无 | 字符串 | 无 |
目的地 | Varchar | 无 | 字符串 | 无 |
起飞时间 | Varchar | 无 | 字符串 | 无 |
座位空数 | Varchar | 无 | 字符串 | 无 |
是否退票 | Varchar | 无 | 字符串 | 无 |
航班日期 | Varchar | 无 | 字符串 | 无 |
4.6算法
处理流程:
取得用户输入的用户名和密码;
加密用户名和密码,传输到数据库并与账户表进行一致性验证;
If用户名and 密码 正确
以该用户身份进入系统总控界面并获得相应系统权限
else
提示“用户名或密码错误”
累计错误三次,系统将自动关闭
4.7流程逻辑
4.8接口
服务器程序上可使用Mysql 的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
在输入方面,对于键盘、鼠标的输入,可用Java、jsp的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用Java的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
4.9存储分配
本程序用高级语言jsp进行编程,直接内存分配由jsp程序运行时分配。
本组件所依赖的变量,结构要求全部在组建内申明。
3.10注释设计
4.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统将自动关闭。
4.12测试计划
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。
5退票程序设计说明
5.1程序描述
退订机票:利用身份证号和对应的机票号和账单号就可以查询到机票信息,然后就可以退订机票。
52功能
改票程序IPO图
5.3性能
精度:时间要求精确到分,价格精确到个位
灵活性:响应鼠标和键盘的操作
时间特性:是电脑的配置和网络的响应速度而定
5.4输人项
名称 | 数据类型 | 数据格式 | 有效范围 | 输入方式 | 数据来源 | 保密条件 |
身份证号码 | Varchar | 无 | 16—20位 | 输入 | 乘客 | 加密 |
航班号 | Varchar | 无 | 8位以上 | 选择 | 乘客 | 无 |
账单号 | Varchar | 无 | 8位以上 | 输入 | 系统生产 | 无 |
5.5输出项
名称 | 数据类型 | 数据格式 | 输出方式 | 保密条件 |
飞行出发地 | Varchar | 无 | 字符串 | 无 |
目的地 | Varchar | 无 | 字符串 | 无 |
起飞时间 | Varchar | 无 | 字符串 | 无 |
座位空数 | Varchar | 无 | 字符串 | 无 |
是否改票 | Varchar | 无 | 字符串 | 无 |
航班日期 | Varchar | 无 | 字符串 | 无 |
5.6算法
(1)【确定】按钮触发的处理:验证用户的合法性。
处理流程:
取得用户输入的用户名和密码;
加密用户名和密码,传输到数据库并与账户表进行一致性验证;
If用户名and 密码 正确
以该用户身份进入系统总控界面并获得相应系统权限
else
提示“用户名或密码错误”
累计错误三次,系统将自动关闭
5.7流程逻辑
机票退订系统乘客退票流程:
退票流程图
改票系统ER图
5.8接口
服务器程序上可使用Mysql 的对数据库的备分命令,以做到对数据的保存。
在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。
在输入方面,对于键盘、鼠标的输入,可用Java、jsp的标准输入/输出,对输入进行处理。
在输出方面,打印机的连接及使用,也可用Java的标准输入/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速ATM。
内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。
5.9存储分配
本程序用高级语言jsp进行编程,直接内存分配由jsp程序运行时分配。
本组件所依赖的变量,结构要求全部在组建内申明。
5.10注释设计
5.11限制条件
当系统第一次使用时,具有统一的用户ID和密码:超级用户和123456。在三次验证错误后,系统将自动关闭。
5.12测试计划
在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。
主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。