1、11 引言 .21.1 编写目的 21.2 背景 21.3 定义 21.4 参考资料 32 程序系统的结构 .33 程序 1(查询预订系统)设计说明 43.1 程序描述 43.2 功能 53.3 性能 53.4 输人项 53.5 输出项 63.6 算法 63.7 流程逻辑 73.8 接口 83.9 存储分配 93.10 注释设计 93.11 限制条件 93.12 测试计划 93.13 尚未解决的问题 94 程序 2(退订系统)设计说明 94.1 程序描述 94.2 功能 104.3 性能 104.4 输人项 104.5 输出项 104.6 算法 114.7 流程逻辑 114.8 接口 124.
2、9 存储分配 134.10 注释设计 134.11 限制条件 134.12 测试计划 134.13 尚未解决的问题 132详细设计说明书1 引言1.1 编写目的在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。主要解决了实现该系统程序模块具体设计问题。包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。在下一阶段的编码过程中,程序设计员
3、可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。1.2 背景开发软件名称:机票预订系统。开发者:张锐钦用户:航空公司,旅行社,乘客运行环境:个人电脑开发平台:MyEclipse 7.0 Mysql 数据库。系统架构:该系统采用 java+jsp 完成,用 AWT 开发系统界面设计。1.3 定义查询:对数据库的操作的一种,用于搜索数据信息。3插入:对数据库的操作的一种,用于将数据存入数据库中。更新:对数据库的操作的一种,用于更改数据库中的数据信息。1.4 参考资料软件工程 齐治昌 谭庆平 宁洪等 高等教育出版社 实用软件工程 郑人
4、杰等 清华大学出版社2 程序系统的结构按航班号查询按账单号查询按起飞地查询按目的地查询功能选择查询界面查看航班 查 看 待 办 任 务 确认航班输入个人信息预定航班打印机票支付机票功能选择航班预定界面查看航班信息 查 看 待 办 任 务 取消航班预定 查 看 待 办 任 务 功能选择航班退订界面主界面程序系统结构图43 查询订票程序设计说明3.1 程序描述本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。1、机票预订功能:旅行社和机场管理员有权力进行该项
5、功能。首先通过查询得到旅客所需的航班,确定该航班还有没有被预订的座位,然后选择座位的等级,填写旅客的详细信息之后就可进行网上预订机票。2、取票通知:该项功能只有旅行社和机场管理员有权力进行操作,在机票预订功能成功完成之后,系统会自动给浏览器端发送一条取票信息以及所需缴纳的费用。旅行社可以利用特定设备将该取票信息打印出来,这就是取票通知。3、查询航班:可以通过输入出发地,目的地,日期和时间选定自己航班。4、查询机票:该项功能三方都可以操作,可以通过自己的身份证号以及取票通知上的机票号查询自己的机票信息。5、打印机票:该功能只有机场管理员有权力操作,只有当管理员确认旅客已经付款后才予以打印机票,可
6、以通过身份证号和对应的取票信息上的机票号查询机票信息,然后服务器返回机票信息,管理员就可以打印该机票信息,交给旅客。6、各航班的营运统计:该项功能只有机场管理员才能操作,他可以通过输入年份和月份查询当月个航班的营运情况,以便机场能够及时掌握航班动态。7、后台的航班添加:该项功能只有机场管理员才能操作,他通过提供航班的具体信息添加航班信息。8、后台的取消航班:该项功能只有机场管理员才能操作,先通过航班号和航班日期查询到航班信息后,取消航班就可以将该航班从数据库中删除。9、后台的航班查询:该项功能只有机场管理员才能操作,通过航班号和航班日期查询到航班信息。10、后台的机票生成:该项功能只有机场管理
7、员才能操作,可以通过该项功能给刚添5加的航班生成对应的飞机票号纪录。3.2 功能该程序输入一处理一输出图如下:机票预订系统 IPO 图 3.3 性能精度:时间要求精确到分,价格精确到个位灵活性:响应鼠标和键盘的操作时间特性:是电脑的配置和网络的响应速度而定3.4 输人项名称 数据类型 数据格式 有效范围 输入方式 数据来源 保密条件姓名 Varchar 无 6 位以上 输入 乘客 加密性别 Varchar 无 2 位 选择 乘客 加密身份证号码 Varchar 无 1620 位 输入 乘客 加密联系电话 Varchar 无 8 位以上 输入 乘客 加密电子邮件 Varchar 无 8 位以上
8、输入 乘客 加密机票查询预订系统数据输入 数据输入 数据输出数据判断页面信息录入旅行社登陆数据处理SQL数据库操作判断查询返回账单打印账单确定错误原因显示错误原因返回机票信息打印机票6工作单位 Varchar 无 8 位以上 输入 乘客 加密航班号 Varchar 无 8 位以上 选择 乘客 无账单号 Varchar 无 8 位以上 输入 系统生产 无航班等级 Varchar 无 2 位以上 选择 管理员 无航班日期 Varchar 无 8 位以上 选择 管理员 无输入项表3.5 输出项名称 数据类型 数据格式 输出方式 保密条件飞行出发地 Varchar 无 字符串 无目的地 Varchar
9、 无 字符串 无起飞时间 Varchar 无 字符串 无商务仓票价 Varchar 无 字符串 无经济仓票价 Varchar 无 字符串 无座位空数 Varchar 无 字符串 无是否领票 Varchar 无 字符串 无航班日期 Varchar 无 字符串 无航班等级 Varchar 无 字符串 无3.6 算法(1) 【确定】按钮触发的处理:验证用户的合法性。处理流程:取得用户输入的用户名和密码;加密用户名和密码,传输到数据库并与账户表进行一致性验证;If 用户名 and 密码 正确以该用户身份进入系统总控界面并获得相应系统权限else提示“用户名或密码错误”累计错误三次,系统将自动关闭7el
10、se if(2) 【取消】按钮触发的处理:关闭用户登录窗口。3.7 流程逻辑机票预订系统乘客订票流程:开始输入航班信息判断是否提示所查航班不存在N填写个人信息查看并确认个人及航班信息跳转到网银页面打印机票Y是否支付重新选择航班支付是否成功8订票系统流程图订票系统 ER 图3.8 接口服务器程序上可使用 Mysql 的对数据库的备分命令,以做到对数据的保存。在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。在输入方面,对于键盘、鼠标的输入,可用 Java、jsp 的标准输入/输出,对输入进行处理。在输出方面,打印机的连接及使用,也可用 Java 的标准输入
11、/输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速 ATM。内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封性别 身份证号电子邮件电话姓名航班号票价目的地目的地编号起点时间座号乘客订票 航班9装了的数据,以参数传递或返回值的形式在各模块间传输。3.9 存储分配本程序用高级语言 jsp 进行编程,直接内存分配由 jsp 程序运行时分配。本组件所依赖的变量,结构要求全部在组建内申明。3.10 注释设计1、模块首部的注释:用户验证程序。2、对调用函数的注释:调用加密函
12、数 MD5。3.11 限制条件当系统第一次使用时,具有统一的用户 ID 和密码:超级用户和 123456。在三次验证错误后,系统将自动关闭。3.12 测试计划在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。3.13 尚未解决的问题对用户 ID 和密码的更安全加密方式尚未解决104 退票程序设计说明4.1 程序描述退订机票:该功能只有管理员有权力操
13、作,所以乘客先得联系管理员,利用身份证号和对应的机票号和账单号就可以查询到机票信息,然后就可以退订机票。4.2 功能退票程序 IPO 图4.3 性能精度:时间要求精确到分,价格精确到个位灵活性:响应鼠标和键盘的操作时间特性:是电脑的配置和网络的响应速度而定4.4 输人项名称 数据类型 数据格式 有效范围 输入方式 数据来源 保密条件身份证号码 Varchar 无 1620 位 输入 乘客 加密航班号 Varchar 无 8 位以上 选择 乘客 无账单号 Varchar 无 8 位以上 输入 系统生产 无输入项表4.5 输出项名称 数据类型 数据格式 输出方式 保密条件飞行出发地 Varchar
14、 无 字符串 无目的地 Varchar 无 字符串 无退票系统 数据输入 数据判断 显示机票信息 显示退票成功11起飞时间 Varchar 无 字符串 无座位空数 Varchar 无 字符串 无是否退票 Varchar 无 字符串 无航班日期 Varchar 无 字符串 无4.6 算法(1) 【确定】按钮触发的处理:验证用户的合法性。处理流程:取得用户输入的用户名和密码;加密用户名和密码,传输到数据库并与账户表进行一致性验证;If 用户名 and 密码 正确以该用户身份进入系统总控界面并获得相应系统权限else提示“用户名或密码错误”累计错误三次,系统将自动关闭(2) 【取消】按钮触发的处理:
15、关闭用户登录窗口。4.7 流程逻辑机票退订系统乘客退票流程:开始输入航班还乘客信息判断是否信息输入有误N显示机票信息打印机票Y12退票流程图退票系统 ER 图4.8 接口服务器程序上可使用 Mysql 的对数据库的备分命令,以做到对数据的保存。在网络软件接口方面,使用一种无差错的传输协议,采用滑动窗口方式对数据进行网络传输及接收。在输入方面,对于键盘、鼠标的输入,可用 Java、jsp 的标准输入/输出,对输入进行处理。查看个人及航班信息并确认退票退票成功性别 身份证号电子邮件电话姓名航班号票价目的地目的地编号起点时间乘客退票座位航班13在输出方面,打印机的连接及使用,也可用 Java 的标准
16、输入 /输出对其进行处理。在网络传输部分,在网络硬件部分,为了实现高速传输,将使用高速 ATM。内部接口方面,各模块之间采用函数调用、参数传递、返回值的方式进行信息传递。具体参数的结构将在下面数据结构设计的内容中说明。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。4.9 存储分配本程序用高级语言 jsp 进行编程,直接内存分配由 jsp 程序运行时分配。本组件所依赖的变量,结构要求全部在组建内申明。3.10 注释设计3、模块首部的注释:用户验证程序。4、对调用函数的注释:调用加密函数 MD5。4.11 限制条件当系统第一次使用时,具有统一的用户 ID 和密码:超级用户和 123456。在三次验证错误后,系统将自动关闭。4.12 测试计划在测试过程中,首先需要对各子单元过程进行测试。在各子单元过程测试完毕后,再对各模块(包括各子单元过程之间的接口)进行测试,处理好各模块之间的接口,最后对系统进行测试和维护。主要通过测试部分,发现开发人员忽视的部分,通过测试人员和编码人员的沟通和协作,可以不断的改进系统,不断提高系统的性能以及安全性。4.13 尚未解决的问题对用户 ID 和密码的更安全加密方式尚未解决