《UML航空订票系统.doc》由会员分享,可在线阅读,更多相关《UML航空订票系统.doc(43页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、!- 课程设计(论文)课程设计(论文) 课程名称: 信息系统开发方法与工具 题 目: 航空订票管理系统 院 (系): 管理学院 专业班级: 信管 0901 姓 名: 学 号: 指导教师: 2012 年 6 月 14 日 !- 课程设计(论文)任务书课程设计(论文)任务书 专业班级:信息管理与信息系统 学生姓名: 指导教师(签名): 一、课程设计(论文)题目一、课程设计(论文)题目 航空订票管理系统 二、本次课程设计(论文)应达到的目的二、本次课程设计(论文)应达到的目的 1针对一个实际航空订票管理系统的开发,使学生深刻理解和掌握管理信息系统系 统分析、系统设计和系统实施的理论和方法; 2巩固和
2、加深理解所学编程语言、开发工具,提高综合应用能力;掌握系统UML建 模、界面设计、数据库设计、程序代码设计,提高实践能力; 3初步了解学术研究的基本方法与步骤,并通过设计报告(论文)的撰写,了解学 术报告(论文)的写作方法。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技 术参数、设计要求等)术参数、设计要求等) 1、设计内容:开发出一套航空订票软件管理系统。保证航空订票的各个环节顺 利工作,并为用户提供一个友好的界面,使订票业务和管理工作相对轻松。 2、设计过程:按照系统设计目的、系统需求、系统功能分析与设计、用户
3、界面设计、 源程序设计、使用说明等环节整理课程设计的成果,形成设计报告,设计报告应 包括的内容: 系统需求分析:需求描述、系统 UML 主要用例、主要类图、主要活动图、状态 及部署图(如果必要) 、业务流程图、数据流图、数据字典附必要的文字说明 系统设计:功能结构设计、I/O设计、代码设计、界面设计、数据库设计、网络 环境。撰写设计总结报告。 3设计成果提交:A.设计报告;B.源程序。报告要符合学校格式规范要求。 四、应收集的资料及主要参考文献:四、应收集的资料及主要参考文献: 1慕静等 管理信息系统开发方法、工具与应用 北京:清华大学出版社 2010 2 商恩福 网上订票系统分析与设计 天津
4、工业大学计算机科学与软件学院 3 张晓燕 飞机订/售票管理系统开发 浙江工贸职业技术学院 4 张园 基于 B/S 结构的航空预订票系统的设计与实现 广东海洋大学 五、审核批准意见五、审核批准意见 教研室主任(签字)教研室主任(签字) !- 需求说明 当前航空市场的不断扩大,并且随着人们的生活水平的提高,越来 越多的认选择飞机作为出行的交通工具,因此对航空公司的服务要求也 就越来越高,因此为了适应这样一个快速的发展需求,管理大量数据, 并有效的稳定和管理航空公司,实行现代化信息管理,无疑成为一个好 的选择方式。该数据库设计主要对该系统中涉及的数据进行处理和分类, 严格区分实体和属性,并把属性归类
5、。充分表达出属性的含义。并直接 展现出实体之间的关系。 该系统从开始的需求分析到设计到运营维护都有这严格的要求以及 实施。在需求分析阶段实现了编码的规范、数据据字典的规范、以及后 面实施代码编写的规范。在设计阶段实现了数据字典的规范、数据库的 规范并让使数据库最终达到三范式。 系统最终实现有预定订票、查询预定信息、删除预定信息、处理预 定信息、航班信息的添加、航班信息的删除、航班信息的查询等一系列 所设机航空的的最基本的功能。 关键字:UML 建模,航空公司,交通、订票系统 !- 目 录 1 需求分析需求分析.1 1.1 需求简介.1 1.2 类图的设计.2 1.2.1 类图绘制的步骤.2 1
6、.3 对象图的设计.4 1.3.1 根据对象图测试的结果.5 1.3.2 修改类图.5 1.4 包图的设计.6 1.4.1 包设计与提取.6 2 动态图动态图.10 2.1 用例图 .10 2.1.1 需求特性列表.10 2.1.2 用例图的绘制.11 2.1.3 用例描述.11 2.2 交互图 .13 2.2.1 顺序图的绘制.13 2.2.2 顺序图通讯图的转换.15 2.3 活动图 .16 2.4 状态图及部署图 .17 2.4.1 状态图.17 2.5 系统数据流程分析.17 2.6 数据字典 .18 3 系统设计系统设计.22 3.1 功能结构设计:.22 3.1.2 功能结构图:.
7、22 3.2 I/O 设计.23 3.3 代码设计.25 3.3.1 代码封装包的设计.25 3.3.2 代码设计.26 3.4 界面设计 .28 3.4.1HelloWord 测试项目部署.28 3.4.2 项目代码迭代.28 3.5 数据库设计.31 3.6 网络环境.35 !- 总结总结.36 致谢致谢.37 !- 1 需求分析 1.1 需求简介 随着现在社会的发展,人民生活水平的不断提高,人们出行的交通 工具也跟随社会的发展而发展起来了。乘飞机出行的人越来越多。所以 这方面的市场非常大。所以“航空订票系统”的开发是势在必行。在此 基础上确定了顾客与各航空公司所需要的“航空订票系统” 。
8、此系统实 现了最基本的预定订票、查询预定信息、删除预定信息、处理预定信息 等功能。与此同时我会不断更新系统的功能最终使系统更加完美。 本系统通过初期的需求分析,建立了严密的数据逻辑结构以及数据 库设计所涉及的严格的编码规范、最终是其数据库达到三范式。让系统 更加适合数据库设计的要求。并使其在后面的系统实施阶段更加方便快 捷,在系统维护和运行阶段尽量出现少的错误。让系统能够全面正常运 转。让系统更加人性化更加方便用户使用。 格式说明: 大标题(章) 1 绪论 黑体小三号 一级节标题 4.1 实验装置和试验方法 黑体四号 二级节标题 4.2.2 实验装置 黑体小四号 正 文 宋体小四号 行距 22
9、 磅 表题与图题 宋体五号 参考文献及致谢等: 宋体小四号 表格 每个表格应有表序和表题,表序和表题应写在表格上方正中,表序 后空一格书写表题。 插图 !- 插图必须精心制作,线条粗细要合适,图面要整洁美观。每幅插图 应有图序和图题,图序和图题应放在图位下方居中处。 1.2 类图的设计 图 1-1 航空订票系统总类图 1.2.1 类图绘制的步骤 1)在类图的设计过程中根据前面的需求分析最终等到的类有: (1)顾客类 (2)业务员类即管理员类 (3)订票类 (4)订票清单类 (5)航班类 !- Customer Booking_Tickets Flight Booking_List Accoun
10、tExecutive 图 1-2 寻找出来的类图 2)每一个类中暂时给出主要操作和属性 图 1-3 添加完主属性和操作后的类图 3)根据分析得到每个类和类之间的关系。 图 1-4 添加完关系后的类图 !- 4)类的泛化 图 1-5 泛化后的类图 1.3 对象图的设计 图 1-6 航空管理对象图 !- 1.3.1 根据对象图测试的结果 1)根据图中所给出的标号和类我们可以开始经行测试 (1)首先顾客张三根据电话或者网上预约或者柜台可以进行对机 票的预定 (2)再着根据自己定票信息来查询航班 (3)最后业务员根据订票订单来处理张三所订的票据信息 2)在测试中企业顾客和个人顾客的订票过程一模一样。
11、3)在测试中发现无法退票并且无退票订单退票无法实现 4)等到以上结论后应该对其进行修改 1.3.2 修改类图 图 1-7 修改后的类图 1)修改时注意在相关的类中添加属性和操作确保添加完之后系统 能够正常运行而不影响原系统 2)修改是注意之间的关系的改变 !- 1.4 包图的设计 图 1-8 总包图 1.4.1 包设计与提取 1)根据类图提取包和划分如图所示 上 上 上 上 上 上 上 上 上 上 上 上 图 1-9 根据类图提取出来的包和划分 !- 2)寻找各个包内的子包和类图 (1)用户包 上 上 上 上 上 上 上 图 1-10 用户包中的子包 (2)界面包 图 1-11 界面包中的子包
12、和类 (3)数据包 上 上 上 上 上 上 上 上 上 上 图 1-12 数据包中的子包 (4)订票包 !- 图 1-13 订票包中的子包和类 3)找完后的子包和类图 图 1-14 寻找完类和子包后的包图 4)添加完包之间的关系后的包图 !- 图 1-15 完成后的包图 !- 2 动态图 2.1 用例图 绘制用例图之前我们要做的准备主要有 1)列出需求特性列表 2)对每一个用例作出详细的描述 上面两步一个在我们绘制用例图之前完成一个在我们绘制完用例图 之后完成 2.1.1 需求特性列表 根据前期的需求分析得到的需求特性列表为: 表 2-1 需求特性列表 编号说明 FBT001 使用电话订票 F
13、BT002 使用网络订票 FBT003 柜台订票 FBT004 录入订票信息 FBT005 产生订票列表 FBT006 处理订票信息 FBT007 退票 FBT008 退票处理 FBT009 产生退票信息 FBT010 查询航班信息 FBT011 查询订票信息 FBT012 航班预定 FBT013 添加航班信息 FBT014 修改航班信息 !- 2.1.2 用例图的绘制 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上
14、 上 上 上 上 上 上 上 上 图 2-1 用例图 绘制完用例图之后我们开始详细描述用例需求 2.1.3 用例描述 表 2-2 订票需求用例的描述 用例编号用例编号UC001 用例名称用例名称订票 用例概述用例概述顾客用来订票 范围订票系统 主参与者主参与者顾客 次要参与者界面系统 项目相关人 订到票 顾客得到票据 项目相关人 利益说明 前置条件有航班信息和机票信息 后置条件打包成票据信息发送到业务员 接上表 !- 成功保证订票信息可以查询到 步骤活动 1填写订票信息,业务员处理订票信息,查 询已定信息 基本事件流基本事件流 2填写订票信息 1a产生订票信息扩展事件流 1b无 子事件流无 规
15、则与约束无 表 2-3 退票描述 用例编号用例编号UC002 用例名称用例名称退票 用例概述用例概述顾客用来退票 范围订票系统 主参与者主参与者顾客 次要参与者界面系统、航空公司管理员 项目相关人完成退票 顾客退票成功 项目相关人 利益说明 前置条件已经订票并且航班未发 后置条件打包成退票票据信息发送到业务员 成功保证退完后会有提示 步骤活动 1填写退票信息,业务员处理退票信息 基本事件流基本事件流 2填写退票信息 1a产生退票列表扩展事件流 1b无 子事件流无 规则与约束无 !- 2.2 交互图 2.2.1 顺序图的绘制 1)订票用例的顺序图 上 上上 上 上 上上 上 上 1: login
16、 2: back_info 3: select_flight_info 4: back_flight_info 5: query_tickets_info 6: back_ticket_info 7: booking 8: process_booking_info 9: send 10: process_booking_info 11: back_to_customer 图 2-2 订票用例顺序图 2)添加航班信息顺序图 !- 上 上 上上 上 上 上 1: login 2: back_login_info 3: query_add_flight_info 4: process_query_f
17、light_info 5: back_query_info_to 6: add_flight_info 7: process_add_info 8: back_sucess 图 2-3 添加航班信息顺序图 !- 2.2.2 顺序图通讯图的转换 1)生成的订票通讯图: 上 上 上 上 上 上 上 上 上 8: process_booking_info 10: process_booking_info 1: login 3: select_flight_info 5: query_tickets_info 7: booking 2: back_info 4: back_flight_info 6:
18、 back_ticket_info 9: send 11: back_to_customer 图 2-4 订票通讯图 2)生成的添加航班信息通讯图: 上 上 上 上 上 上 上 4: process_query_flight_info 7: process_add_info 1: login 3: query_add_flight_info 6: add_flight_info 2: back_login_info 5: back_query_info_to 8: back_sucess 图 2-5 添加航班通讯图 !- 2.3 活动图 根据前期的需求分析等一系列前提工作之后我们得到活动图,其
19、中 主要活动的活动图未。 订票活动图: LoginReLogin check_login_info NO query_flight_i nfo query_tickets _info success_logi n add_info end_customer query_booki ng_info Into check_login_infoYES back_login_i nfo process_que ry_info add_info_fro m_customer send_to_cou nter end_booking_system process_add _info end_counter
20、 业 业 业业 业 业 业业 业 图 2-6 订票活动图 !- 2.4 状态图及部署图 2.4.1 状态图 根据前期的交互图得到以下订票的状态图: 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 上 图 2-7 订票状态图 2.4.2 部署图 根据前期所做的需求分析以及类图等的一系列分析,最终将其做成 B/S 架构的工程,则其部署图为如下: B/S客客户户端端 tomcat服服务务器器 数数据据库库服服务务器器 -请求 * -响应请求 * -请求 * -响应请求 * 图 2-8 部署
21、图 2.5 系统数据流程分析 1)基本业务调查 基本业务简介:实现顾客注册、登录、查询机票信息、查询航班信 息打印预定机票等功能。管理员注册、登录、处理预定机票信息、添加 航班信息、删除航班信息、查询航班信息等基本业务: !- 订票业务流程图: 顾客 管理员 顾客信息 登录 注册 机票预定 判定航班信息 存储航班信息 存在 不存在 反馈 提示用户 图 2-9 订票业务主流程图 !- 2)数据流程图 根据了解和调查结果,给出系统业务总数据流程图为。 顾客 1、注册 F1 顾客信息F1 2、登录 管理员 F1 F2 管理员信息 F3 3、注册 F3 F4 F5 4、顾客预 订机票 5、顾客删除预定
22、 机票信息 6、查询机票信息 7、管理员处理预 定机票信息 8、管理员添加航班 信息 9、管理员删除航班 信息 11、打印机票信息 F6 F6 F7 F6、F8 F8 F9 F10 订票信息表 顾客预定信息表 航班信息表 F9 F9 10、查询航班信息 F9、F10 F9 F9、F10 F6 F6、F7 F6 F6 F6 F6、F11 航班信息表 F11 图 2-10 主数据流程图 2.6 数据字典 在数据流程图中,数据信息和处理过程需要通过数据字典才能描述 清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处 理过程给出更详细、更准确的说明。 1)数据流定义 可以通过表格的形式给出
23、数据流程图的主要数据流,如表 2.1 所示。 !- 表 2-4 航空订票系统主要数据流定义 序号名称位置结构定义最大数据流量 1 顾客登录信息 F1 登录名+密码2000 次/天 2 管理员登录信息 F5 登录名+密码1000 次/天 3 航班信息查询F9、F10 航班编号+起始 地+目的地 5000 次/天 4 航班信息添加 F9 航班编号+起始 地+目的地+起始 时间+到达时间 100 次/天 5 航班信息删除 F10 航班编号100 次/天 6 处理顾客预定信息 F6 航班编号5000 次/天 7 查询机票信息 F6 航班编号1000 次/天 8 删除预定信息 F7 航班信息+顾客 姓名
24、 1000 次/天 9 预定机票 F6 航班编号+起始 地+目的地 2000 次/天 10 打印机票 F6 航班编号+顾客 名+航班基本信 息 2000 次/天 11 顾客注册 F1 登录名+密码+顾 客基本信息 5000 次/天 12 管理员注册 F3 登录名+密码+管 理员基本信息 100/天 !- 2)数据存储定义 可以采用如下表格的形式给出系统的主要数据定义,如表 2.2 所示。 表 2-5 航空订票系统主要数据存储定义 编号名称输入输出数据量存取频度存取方式说明 D1 顾客信息顾客注册 登录 打印机票 预定机票 删除机票 50000 条2000 次/天 查询 检索 更新 顾客编 号必
25、须 存并且 唯一 D2 管理员信息 管理员注册登录1000 条100 次/天更新 管理员 编号必 须存在 并且唯 一 D3 机票信息 顾客预定机 票 打印机票 顾客删预定 除机票 管理员处理 预定信息 20000 条 30000 次/ 天 更新 添加 机票编 号不能 为空并 且唯一 D4 顾客预定信 息 顾客预定信 息 打印机票 顾客删预定 除机票 管理员处理 预定信息 20000 条 20000 次/ 天 查询 更新 添加 预定编 号不能 为空并 且唯一 D5 航班信息 添加航班信 息 删除航班信 息 查询航班信 息 删除航班信 息 打印机票 20000 条3000 次/天 查询 更新 添加
26、 删除 航班编 号不的 为空并 且唯一 3)处理过程 可以采用如下表格的形式给出系统的主要处理过程定义,如表 2.3 !- 所示。 表 2-6 航空订票系统主要处理过程定义 序号处理过程名称输入输出处理说明 P1.1 顾客登录登录名、密码顾客信息 读取数据库中存在的登 录名和密码 P1.2 验证顾客登录登录名、密码顾客信息 根据所设条件验证起是 否符合所设条件,并读 取数据库来验证登录 P1.3 重填登录信息登录名、密码顾客信息 读取数据库中存在的登 录名和密码 P1.4 登录主界面登录名、密码顾客主界面 根据顾客信息读取其各 自的主界面 !- 3 系统设计 3.1 功能结构设计: 3.1.2
27、 功能结构图: 根据前期的设计需求以及业务流程图登一系列分析与设计最终的得 到的功能结构图如下: 航空 订票 管理 信息 系统 订票 子功 能 航班 信息 子功 能 处理 子功 能 登录 注册 功能 预定 机票 删除 预定 信息 查询 预定 信息 添加 航班 信息 删除 航班 信息 查询 航班 信息 处理 预定 信息 打印 预定 机票 信息 登录注册修改 密码 修改 个人 资料 图 3-1 功能结构图 3.2 I/O 设计 根据上面的功能结构设计最后得到的 I/O 设计界面为以下: 1)登录界面的 I/O 设计,在此 I/O 设计中存在的流入有用书输入, 输出为从数据库到主页面。 !- 图 3
28、-2 登陆界面 I/O 2)人员管理界面 I/O 设计: (1)会员管理 I/O 设计中,涉及到的输入输出为,用户从前台页面 注册,输出到数据库中,管理员涉及到的是从数据库中读取数据显示信 息。 图 3-3 会员信息 I/O (2)管理员 I/O 设计中,涉及到的数据库输入输出主要是查询管理 员的信息。 图 3-4 管理员信息 I/O 3)航班管理 I/O 设计: (1)查询航班 I/O 设计,主要涉及的 I/O 操作有,管理员输入查询 信息,并从数据库中读取信息。 !- 图 3-5 航班信息 I/O (2)添加航班信息 I/O 设计,主要的操作有用户输入航班信息,由 后台 Java 代码将其
29、插入数据库中。 图 3-6 添加航班信息 I/O 4)订票 I/O 设计: 查询订票信息 I/O 设计,涉及到的输入输出主要有,用户客户端的 输入,以及数据库的输入和往客户端输出。 !- 图 3-7 查询订单信息 I/O 图 3-8 显示订单信息 I/O 5)退票 I/O 设计: 查询退票信息 I/O 设计,涉及到的输入输出主要有,用户客户 端的输入,以及数据库的输入和往客户端输出。 图 3-9 查询退票订单 I/O 图 3-10 显示退票信息 I/O !- 3.3 代码设计 3.3.1 代码封装包的设计 在代码设计阶段,为了把数据库操作和页面操作还有逻辑操作,还 有就是每一个表的操作分开,建
30、立的代码分装包如图所示: 图 3-11 代码包图 !- 3.3.2 代码设计 代码设计主要有类名的定义,变量的定义,方法的定义等一系列规 范化的表达。其中主要的数据库的连接类代码为: package com.plihuo.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class DatabaseOpen private Connection conn = null; private String urlSql = jdbc:mysql:/l
31、ocalhost:3306/flight; public Connection getConnection() try Class.forName(com.mysql.jdbc.Driver); this.conn = DriverManager.getConnection(urlSql+ ?user=root catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace(); !- return this.conn; 3.4 界面设计 3.4.1HelloWord
32、测试项目部署 在上面软件安装部署完成之后开始部署软件的测试测试结果为以下: 图 3-12 测试程序效果 3.4.2 项目代码迭代 1)在部署完运行环境和环境测试之后第一次项目迭代后的运行界面为以下: (1)登录主界面: !- 图 3-13 登录主界面 (2)后台管理主界面: 图 3-14 后台主界面 2)在上述基础上进行后台处理并创建的每一个子菜单对应下运行的主 界面为: (1)人员管理主菜单: !- 图 3-15 用户管理界面 (2)航班信息管理主菜单: 图 3-16 航班界面 (3)订票信息管理主菜单: !- 图 3-17 订票界面 (4)退票管理: 图 3-18 退票界面 3.5 数据库
33、设计 在数据库设计方面,根据前期的所做的类图最终可以得到以下数据库: !- 图 3-19 数据库设计 数据库代码实现: create database if not exists flight; USE flight; /*Table structure for table admin_info */ DROP TABLE IF EXISTS admin_info; CREATE TABLE admin_info ( admin_id char(8) NOT NULL, admin_name char(12) NOT NULL, admin_sex char(2) NOT NULL, admi
34、n_birthday datetime NOT NULL, admin_profess char(8) NOT NULL, admin_tel char(11) NOT NULL, !- admin_address varchar(20) NOT NULL, process_booking_id char(8) DEFAULT NULL, back_id char(8) DEFAULT NULL, PRIMARY KEY (admin_id) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; /*Data for the table admin_info */ /*Table structure for table admin_login_info */ DROP TABLE IF EXISTS admin_login_info; CREATE TABLE admin_login_info ( admin_id char(8) NOT NULL, userpassworld char(20) NOT NULL, username char(20) NOT NULL, KEY admin_id (admin_id), CONSTRAINT admin_login_info_ibfk_1 FOREIGN KEY (admin_id) REFERE