资源描述
软件工程试验报告设计题目:飞机订票系统 小组成员:顾彪 卢鹏 陆姓祥学 号:P1401070518 P1401070522 P1401070525课程教师: 段 江 实验指导老师:段 江实验地点: 沉毅北楼6楼机房试实验时间: 2010/08/302010/09/03目录一、问题定义10二. 可行性研究102.1.系统规模及目标要求102.2研究现有系统112.3导出高层逻辑模型112.4数据处理流程图11三. 需求分析133.1系统开发背景及系统分析过程133.1.1机票预定系统的功能要求133.1.2下面分析各个子系统的功能需求:143.1.3机票预定系统的性能需求163.1.4机票预定系统的数据需求173.1.5机票预定系统的数据字典173.1.6建立机票预定系统的约束203.1.7软件主要功能213.2资及效益分析223.2.1费用开支223.2.2收益223.3可行性综合分析223.3.1结论233.3.2用户特点及一般约束233.4功能需求(用DFD图表示)233.4.1用户注册233.4.2用户订票243.4.3退票253.4.4机票信息查询263.4.5外部接口需求性能及软件属性需求263.4.6数据需求(ER图表示)27四. 系统设计291.系统规格292.系统地运行环境302.1 设备302.2 支持软件302.3 接口302.4 控制302.5 功能分配303 接口设计303.1 用户接口303.2 外部接口314设计过程314.1 处理流程314.2 总体结构和模块外部设计344.3 功能分配65运行设计65.1 运行模块组合65.2 运行控制75.3 运行时间76 数据结构设计76.1 逻辑设计要点76.2 物理结构设计要点86.3 数据与程序的关系96.4数据设计:97系统出错处理设计107.1 出错输出信息107.2 出错处理对策107.3 维护设计10五. 系统实现11总体设计(系统总流程图)115.1登陆界面125.2注册界面125.3主界面的用户个人信息界面135.4用户订票界面145.5用户退票界面145.5用户登录时的管理员界面为不可用155.6添加管理员界面155.7舱位等级信息修改界面165.8飞机信息修改接面165.9航线信息修改界面17六. 程序测试分析及结果、使用说明181.程序使用说明:182.测试分析及结果18课程总结19附录19实现系统登录19后台部分源代码34一、问题定义项目名称:机票预定系统解决的问题:为方便旅客购票项目目标:研究费用较低的自动订票系统项目规模:开发成本不超过120万元初步设想:用旅行社的计算机系统生成订票信息和打印机票可行性研究:为了更全面的研究机票预定系统项目可行性,建议进行为期3周到可行性研究,成本不超过2000元二. 可行性研究2.1.系统规模及目标要求系统的主要功能是提供机票预订服务;性能要求是对数据的操作准确的反映在航空公司的主服务器上;输入要求是数据完整,详细;输出要求是简捷,快速,实时;完成期限预计2周 。在旅游局中的终端是安装了Windows NT的PC机,主要目的是向机场的服务器传递数据。当顾客在旅游局进行咨询时,终端向服务器发出查询请求,服务器根据航班信息库的实时数据,向终端发送数据,显示在终端的屏幕上。当顾客向售票员定票时,终端向服务器发出详尽的一份定单,服务器核对后,存入定票信息库,并修改机票信息库。当顾客再次来取票时,终端向服务器发出查询定票请求,服务器接收后,查询定票信息库,核对后,传送机票确认表单,终端打印出机票。航空公司拟开发一个机票预定系统。旅行社把预定机票的旅客信息(包括姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入机票预定系统,系统为旅客安排航班,印出取票通知和帐单。旅客在飞机起飞前一天凭取票通知和帐单交款后取票,系统校对无误后即印出机票给旅客。系统实现后,大大提高旅游局的机票预定服务效率。降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。a.系统能有效、快速、安全、可靠和无误的完成上述操作。b. 软件系统的界面要美观,布局要合理,窗口的内容尽量简单明了提供的信息,语言要通俗易懂,有层次感,分类清晰明了。服务器程序利于维护。c.系统实现后,大大提高航空公司的机票预定服务效率。降低售票服务中的错误发生率,减少信息交流的烦琐过程及其带来的开销。技术可行性操作可行性经济可行性法律可行性经费来源:航空公司。硬件条件:建议使用奔腾800以上的pc机,内存需在512兆以上。运行环境:Windows 操作系统数据库:Microsoft Access终端PC机20台网络设备/配 成本/效益分析结果,效益 成本。技术可行,现有技术可完全承担开发任务。 操作可行,软件能被原有工作人员快速接受。2.2研究现有系统 现有系统是信息的重要来源。显然,如果目前有一个系统正在被人使用,那末这个系统必定能完成某些有用的工作,因此,新的目标系统必须能够完成它的基本功能。;另一方面,如果现有剖系统是完美无缺的,用户阻燃不会日出开发新系统的要求,因袭,现有的系统必定有某些缺点,新系统就必须能解决就系统中存在的问题。另外,所需要的经费也是一个重要的经济指标,如果,行动系统不能增加收入或减少使用费用,那么从经济的角度新系统就不如旧系统。可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,必须记住,可行性研究的目的不是解决问题,而是确定问题是否值得去理解。怎样到达这个目的呢?当然不能靠主观猜想而只能靠客观分析。必须分析几种主要的可能解法的利弊,从而判断原定的系统目标和规模是否实现,系统完成后说所能带来的效益是否大到值得投资开发这个系统的程度。2.3导出高层逻辑模型优秀的设计过程通常总是从现有的物理系统出发,导出现有系统的逻辑模型,再参考现在有系统的逻辑模型,设想目标系统的逻辑模型,最后根据目标系统的逻辑模型建造新的物理系统。2.4数据处理流程图 数据库订票处理程序取票事务取票处理程序订票事务社会因素方面的可行性法律因素 本软件的开发和使用没有触犯国家的任何法律。用户使用可行性 本软件使用起来简单易学,使用单位人员有使用计算机的基本常识,因此,他们完全可以充分利用本软件提高他们的办公效率。三. 需求分析3.1系统开发背景及系统分析过程 当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。今年是“十五”计划开局之年,中共十五届五中全会通过的国民经济和社会发展第十个五年计划建议中已明确指出:“信息化是当今世界经济和社会发展的大趋势,也是我国产业优化升级和实现工业化、现代化的关键环节。”“大力推进国民经济和社会信息化,是覆盖现代化建设全局的战略举措。”,可见,党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。现在将详细介绍我的课程设计网上机票预订管理系统。3.1.1机票预定系统的功能要求 系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。 根据可行性研究的结果和客户的要求,分析现有情况及问题,采用Client/Server结构,将机票预定系统划分为两个子系统:客户端子系统,服务器端子系统。 旅客订票流程图:3.1.2下面分析各个子系统的功能需求: A客户端子系统: 系统的功能实现上,可以分为以下几个部分: 1旅客信息的输入和统计 旅客要求订票的信息由专人负责输入。这部分功能是客户端子系统 的基本部分,这个功能是以后各个部分的基础。系统要求做到即能够从其它子系 统中共享一部分信息,又有方便的操作界面工手工输入旅客信息。这部分要求对 输入的数据进行简单的统计,供航空公司进行查询和宏观调控。 2旅客信息的存储: 将旅客的信息存储到旅行社的客户端系统中,以备以后的取票确认以及查 询。 3机票信息的传递及接收: 将旅客所须的机票信息由旅行社客户端由网络传到航空公司的服务器上,并 且接受航空公司返回的航班信息,然后存储起来。 4取票通知及帐单的生成和打印: 把已存储的从航空公司返回的航班机票信息打印出来,并且生成帐单打印出来一起交给旅客。 印出机票给已经订票的旅客:根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。 5机票销售情况的核算 这一功能是在上一功能的基础上,对机票销售额进行单项核算,得到该旅行社的销售情况并把核算结果作为企业报表输出。 B服务器端的功能要求: 机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现航班查询,机票生成,销售统计,综合信息查询等子系统。以计算机成本核算为中心,实现销售业务的计算机自动化,为航空公司降低成本、提高销售额、经营决策提供及时精确的依据。 在服务器端系统的功能实现上,可以分为以下几个部分: 1接收由旅行社客户端发回的所需机票信息: 通过网络接收机票信息并存入到服务器的数据库中。 2生成航班信息: 根据所需机票信息(时间,地点),在数据库中查询并得到正确的航班的信息(价格,时间,等级),分配所需的机票数并在数据库中做出已售出的标记。 3传递航班信息到客户端(旅行社): 把得到的航班信息通过网络传递到旅行社。 4接收旅行社的反馈信息: 对旅行社的反馈信息进行分析,把已经售出的机票进行统计,对被旅客所退掉的机票要进行数据库的恢复。 5印出机票给已经订票的旅客: 根据旅客的取票通知及帐单,经过确认无误后,接受旅客的付款后把机票印出来交给旅客。 6销售额的分析和管理 这一步骤的功能要求包括对销售的机票进行分析,这一工作是在前面的基础上,以计算机为工具,对机票预定系统的功能和目标进行扩充。它以财务管理学为理论基础,以辅助决策为目标,以机票销售数据为中心,广泛采用统计学、运筹学的分析方法,对销售信息进行深层加工,建立反映不同航班需求的模型,提供管理上所需的各种辅助决策信息和财务信息。这一要求是机票预定系统的最高目标,将通过系统运行后获得的大量销售历史数据基础上,实现这一目标。 3.1.3机票预定系统的性能需求 为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的性能需求: 系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足企业对信息处理的需求。19由于机票预定系统的查询功能对于整个系统的功能和性能完成举足轻重。作为系统的很多数据来源,而机票数量和时间又影响企业的决策活动,其准确性很大程度上决定了机票预定系统的成败。在系统开发过程中,必须采用一定的方法保证系统的准确性。 系统的开放性和系统的可扩充性 机票预定系统在开发过程中,应该充分考虑以后的可扩充性。例如订票系统的方式的改变(网上订票),用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。 系统的易用性和易维护性 机票预定系统是直接面对使用人员的,而使用人员往往对计算机并不时非常熟悉。这就要求系统能够提供良好的用户接口,易用的人机交互界面。要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。 机票预定系统中涉及到的数据是航空公司的相当重要的信息,系统要提供方便的手段供系统维护人员进行数据的备份,日常的安全管理,系统意外崩溃时数据的恢复等工作。 系统的标准性 系统在设计开发使用过程中都要涉及到很多计算机硬件、软件。所有这些都要符合主流国际、国家和行业标准。例如在开发中使用的操作系统、网络系统、开发工具都必须符合通用标准。如规范的数据库操纵界面、作为业界标准的TCP/IP网络协议及ISO9002标准所要求的质量规范等;同时,在自主开发本系统时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。 系统的先进性 目前计算系统的技术发展相当快,做为机票预定系统工程,应该保证系统在下个世纪仍旧是先进的,在系统的生命周期尽量做到系统的先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开放性和可扩充性,不断改善系统的功能完成。另一方面,在系统设计和开发的过程中,应在考虑成本的基础上尽量采用当前主流并先进且有良好发展前途的产品。系统的响应速度 系统在日常处理中的响应速度为秒级,达到实时要求,以及时反馈信息。在进行统计分析时,根据所需数据量的不同而从秒级到分钟级,则是保证操作人员不会因为速度问题而影响工作效率。 3.1.4机票预定系统的数据需求 机票预定系统的数据需求包括如下几点: 数据录入和处理的准确性和实时性 数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性,并且对操作人员要进行系统的培训。 在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。 数据的一致性与完整性 由于系统的数据是共享的,在不同的旅行社中中,机票是共享数据,所以如何保证这些数据的一致性,是系统必须解决的问题。要解决这一问题,要有一定的人员维护数据的一致性,在数据录入处控制数据的去向,并且要求对数据库的数据完整性进行严格的约束。 对于输入的数据,要为其定义完整性规则,如果不能符合完整性约束,系统应该拒绝该数据。 4.3 数据的共享与独立性 整个机票预定系统的数据是共享的。然而,从系统开发的角度上看,共享会给设计和调试带来困难。因此,应该提供灵活的配置,使各个分系统能够独立运行,而通过人工干预的手段进行系统数据的交换。这样,也能提供系统的强壮性。 3.1.5机票预定系统的数据字典 系统中的数据元素: 名字:旅客信息 别名: 描述:旅客的个人信息,用于对旅客的确认 定义:旅客信息=姓名+性别+工作单位+身份证号码+旅行时间 +旅行目的地 位置:输入到旅行社端(client端) 名字:订票旅客清单 别名: 描述:已订票的旅客的记录 定义:订票旅客清单=旅客信息的合集 位置:输入到旅行社端(Client端) 名字:取票通知 别名: 描述:旅客领取机票的凭证 定义:取票通知=旅客姓名+领票时间 位置:输出到打印机 名字:订票信息 别名: 描述:旅客的旅行时间和目的地,用于确定旅客的航班 定义:订票信息=旅客旅行时间+旅客旅行目的地 位置:传输到航空公司端(Server端) 名字:航班机票信息 别名: 描述:旅客的航班信息,根据旅客的旅行时间和目的地确定 定义:航班机票信息=旅客机票时间+旅客机票班次 位置:传输到旅行社端(Client端) 名字:旅客订票记录 别名: 描述:已订票的旅客在航空公司的记录 定义:旅客订票记录=旅客姓名+航班机票信息 位置:输出到航空公司端(Server端) 名字:售出机票信息 别名: 描述:旅客的航班机票的信息 定义:售出机票信息=旅客的航班机票 位置:输出到打印机 6.机票预定系统的运行要求 机票预定系统中的各个子系统的硬件和软件的配置如下: (1)服务器端子系统的运行要求: 系统软件: Window NT Server 数据库管理系统:SQL Server 硬件要求:Pentium III 450以上, 258M RAM, 14G HD (2).客户端子系统的运行要求: 系统软件: Window NT Workstation 数据库管理系统:SQL Server 硬件要求:Pentium 133以上, 32M RAM, 4.3G HD 3.1.6建立机票预定系统的约束 3.1.6.1 Client/Server结构总体设计方案对它的约束: 机票预定系统做为Client/Server 结构的一个应用系统,不可避免的要受到Client/Server结构的约束。在其实施的各个阶段都要服从它的一些规划,包括功能设计、系统配置和计划。同时,由于信息的共享,机票预定系统还受到其它系统的信息约束。 3.1.6.2人力、资金、时间的约束 机票预定工程实施的目标就是要带给航空公司看得出见的效益,其开发过程中也要考虑到人力、资金和时间的约束。因此,在设计中,重点是销售系统中的方便快捷,能提供给旅客以优质高效的服务,并提高销售的效率和便捷,为航空公司带来良好的效益。 3.1.6.3技术发展规律的约束 计算机技术和产品的发展日新月异,将会给信息处理带来更多的手段,同时也会带来更加丰富的信息表达形式。例如图象和语音技术的进步,多媒体技术的发展,这些都要求系统在设计时考虑技术变化的可能性,为可能的变化预留一定的系统处理能力。3.1.7软件主要功能要完成功能主要有:l 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入。 l 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。l 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。l 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。l 退票窗口,用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。l 管理员界面的管理员添加界面能对管理员信息进行查询、添加、删除和修改,包括用户名、登陆密码和联系方式。l 管理员界面的舱位信息的查询、添加、删除和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。l 管理员界面的客机信息界面对客机信息的添加、修改、删除和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。l 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。l 客户等级信息的的添加、修改、删除和查询,包括客户等级编号、客户等级名称、折扣比例和备注信息等。l 管理员界面的用户信息查询,能查询所有的已注册的用户信息。l 管理员界面订票信息界面,可以查询所有的已订的机票的信息。3.2资及效益分析3.2.1费用开支基础投资:终端PC机15台:100015 = 15万网络设备/配置:25 万共计:40万其他投资:jin技术引进:40 万操作员培训费用: 30(人)5000(元)=15万其他不可知额外支出:20万共计: 75万总计: 115万3.2.2收益一次性收益:50万经常性收益:20万/年不可定量收益:5-10万/年3.3可行性综合分析技术可行性:对于该系统的技术要求,现行的软件开发条件,环境,完全可以实现。Vb和access完全可以提供该系统的操作要求和数据库需求。操作可行性:该系统的开发要求是界面简单,易于操作,因此管理人员利用用户手册完全可以操作此软件,所以机票预订系统的操作上是完全可行的。经济可行性:该系统做为课程设计开发,经济可行性在此不做讨论。法律可行性:没有触犯任何国家法律。3.3.1结论由于投资效益比远大于100%, 技术、经济、操作都有可行性,可以进行开发。l3.3.2用户特点及一般约束1.管理员和用户的登陆 要求合法的管理员以及用户才能登陆体统,防止系统被无关人员动用,使用字符串匹配对用户名和密码进行判断。管理员和用户的登录对相应的操作权限也不一样,如果是用户登录,管理员的窗口属性为不可用,管理员有舱位信息管理,客机信息管理,航线信息管理,客户类型信息管理,客户信息和订票信息管理,用户主要有舱位查询,客机信息查询,航线信息查询,客户类型信息查询,自己的信息管理,和自己订票和退票。2.管理员的日常操作 管理员可以对舱位信息,客机信息,航线信息,客户类型信息,进行查询、修改和删除操作,可以对客户信息和订票信息只有查询操作。3.用户的的日常操作 用户可以进行注册然后登陆系统,可以查询舱位信息,客机信息查询,航线信息查询,客户类型信息,可以对自己的信息进行修改,可以定票(按照航班号进行预订机票,显示所订机票的信息和价格,进入支付系统付账,并再次要求客户确认,确认无误后订票成功),可以退票(在特殊情况下(如天气不适合飞机起降,飞机延误超过30分钟)等给予全额退票,如果是个人原因只能退50%),对退票后的机票要在未售出机票中重新体现。3.4功能需求(用DFD图表示)3.4.1用户注册流程图: 注册成功可登录点击新用户注册P 填写信息获得确认填写相应的信息注册1.层图注册成功 P2返回用户信息 P1点击新用户注册填写相应的信息注册填写信息 获得确认D添加用户信息数据流图3.4.2用户订票流程图:用户登录查阅机票信息P订票1层图:用户登录订票成功用户信息订票信息输入要查询信息P1D1机票信息查询机票信息P2机票信息处理订票息P2.1机票信息查询信息2层图:用户登陆用户用户信息处理用户信息P1D1用户信息查询用户信息P2用户户证信息用户信息D2订票信息查询订票信息P2.1.1D3机票已卖完信息检查机票是否存在P2.1.2D4订票有误信息更新机票信息P2.1.3定票信息定票信息错误书信息机票数量已满信息定票信息定票信息3.4.3退票流程图:退票成功 退票用户登陆 用户信息退票信息1层图:退票成功用户登陆用户信息退票信息处理订票信息P1D1订票记录录取消机票记录P2机票信息退款处理P3D2退票的相关规定机票信息退票的原因机票信息3.4.4机票信息查询流程图:用户登陆查询机票用户查找的机票信息机票信息1层图:用户登陆用户查找的机票信息机票信息处理机票信息P1机票清单D机票信息清单D2机票信息机票信息机票信息P2机票信息3.4.5外部接口需求性能及软件属性需求在用户界面方面要求错误信息格式均以弹出提示框的形式出现,硬软件接口方面没有特别的需求,一般用户都可以直接使用。因为系统本身较小,并不投入实际应用,因此响应时间、结果精度方面可能会比较差,数据量大小方面能够处理较大的数据量。在数据检索、数据增删改方面必须做到丝毫不差,满足软件开发的正确性要求。必须考虑充足的异常处理机制以及软件的复用性,以便增强软件的健壮性。在安全保密性方面做到不同身份所能处理的事务不同,避免保密数据泄漏;设置足够的触发器对不安全的数据修改进行回滚操作,进而保证了安全性要求。所开发出来的软件必须是可维护的,不能把一些东西做的太死。3.4.6数据需求(ER图表示)管理员信息实体E-R图如图2-1所示。管理员信息实体 管理员电话管理员编号管理员密码管理员用户名舱位等级信息实体E-R图如图2-2所示。图2-2舱位等级信息实体E-R图客机信息实体E-R图如图2-3所示。图2-3 客机信息实体E-R图航线信息实体E-R图如图2-4所示。图2-4航线信息实体E-R图客户类型信息实体E-R图如图2-5所示。图2-5 客户类型信息实体E-R图客户信息实体E-R图如图2-6所示。图2-6 客户信息实体E-R图订票信息实体E-R图如图2-7所示。图2-7 订票信息实体E-R图实体之间关系的E-R图如图2-8所示。图2-8实体之间关系的E-R图四. 系统设计 经过需求分析阶段的分析过程,已粗略的表现了整个设计过程。总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段要完成两个小阶段,首先要进行系统设计,从需求分析阶段的数据流图设想完成系统功能的最佳物理方案,然后进行软件结构设计,确定软件有哪些模块组成以及这些模块之间的动态调用关系。用结构图来描绘软件结构1.系统规格通过计算机网络将客户端与服务器的数据库相连,将从客户端得到的信息进行处理,实现航班查询,机票生成,销售统计,综合信息查询等子系统。以计算机成本核算为中心,实现销售业务的计算机自动化,为航空公司降低成本、提高销售额、经营决策提供及时精确的依据。在客户端系统的功能实现上,可以分为以下几个部分:.接收由客户端输入的所需机票信息 .查询生成航班信息.将查询到的航班信息反映到客户端.选定要预订的航班及座位.印出机票给已经订票的旅客.销售额的分析和管理 为了保证系统能够长期、安全、稳定、可靠、高效的运行,机票预定系统应该满足以下的性能需求:1.系统处理的准确性和及时性2.系统的开放性和系统的可扩充性3.系统的易用性和易维护性4.系统的标准性5.系统的先进性6.系统的响应速度快 2.系统地运行环境2.1 设备奔腾133,16兆以上内存的pc机。2.2 支持软件用VC程序设计语言作为系统的支持软件。2.3 接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。 使用WIN9X/NT/XP操作系统2.4 控制本软件是以支持VC的操作系统来控制软件运行。2.5 功能分配客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。3 接口设计3.1 用户接口本产品的用户一般需要通过终端进行操作,进入主界面后点击相应的窗口,分别进入相对应的界面(如:输入界面、输出界面)。用户对程序的维护,最好要有备份。3.2 外部接口3.2.1 用户界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。在界面设计上,应做到简单明了,易于操作,并且要注意到界面的布局,应突出的显示重要以及出错信息。外观上也要做到合理化。总的来说,系统的用户界面应作到可靠性、简单性、易学习和使用3.2.2 接口在输入方面,对于键盘、鼠标的输入。在输出方面,打印机的连接及使用。在网络传输部分,在网络硬件部分,实现高速传输。4设计过程4.1 处理流程 下面将使用(结构化设计)面向数据流的方法对机票预定系统的处理流程进行分析。系统可分为两大部分:一、客户机上的程序,二、服务器上的程序。以下将分别对系统的这两大部分进行流程分析:84.1.1 客户机程序流程 客户机上的输入信息为旅客资料或帐单号,还包括一个定票/领票选项。输出为打印帐单或机票,和确认或出错信息。其内部处理流程如下: 图 1下面对各模块(以数字表示)进行功能说明: . 读入并确定(定票/领票) 它是一个事务处理中心,若输入是定票时转入2 ,输出则转入5。 . 读入旅客资料 读取所输入的旅客资料,并将其格式化,将格式化数据送3。 . 检验输入资料 检验格式化输入资料,初步检查输入是否有误,它是一个事务处理中心,有误则转2再次读入,检查无误则将数据送4。 . 准备服务器数据 由格式化旅客资料准备需发送到服务器的数据,将准备好的数据送7。 . 读入帐单号 读取所输入的帐单号,并将其格式化,将格式化数据送6。 . 准备服务器数据 由格式化帐单号准备需发送到服务器的数据,不同于4,它将准备的是帐单号,将准备好的数据送7。 . 准备网络数据包 将数据准备/加密成网络传输数据包。 . 网络数据发送 将数据包经网络发送到服务器程序, 它是程序与网络的接口。 . 网络数据接受 接受由服务器程序经网络传送到客户机的数据包, 它是程序与网络的接口。 . 解开/判断 解开9 所接受的数据包,并判断数据是定票数据或是领票数据,它是一事务处理中心,是定票则将数据送11,是领票则将数据送18。 . 定票成功? 由数据判断定票是否成功,它是一事务处理中心,若定票成功则将 数据送11,不成功则将数据送18。 准备输出数据 由接收的服务器数据准备输出数据,其中关于帐单的数据将送入13,其他包括旅客资料等送入14。 打印帐单 由帐单信息处理帐单格式并打印出帐单。 输出定位确定 在屏幕上显示确定定位及其他信息。 判断错误 由数据判断出错误类型,将类型送到16。 准备错误语句 由具体错误类型准备错误语句,送17。 输出错误语句 在屏幕上显示错误语句。 领票核对成功? 由数据判断领票核对是否成功,它是一事务处理中心,若成功则将数据送19,不成功则将数据送15。 准备机票输出数据 由接收的服务器数据准备将打印的机票数据数,据其中关于帐单的机票的数据将送入20,其他包括旅客资料等送入14。 打印机票 由机票信息处理机票格式并打印出机票。 4.1.2 服务器程序流程 下面对各模块(以数字表示)进行功能说明: 图 2 网络数据接收 接受由客户机程序经网络传送到客户机的数据包, 它是程序与网络的接口。 . 解开数据 解开/解密打包的数据,并将恢复的数据格式化送入3。 . 判断操作 由数据判断需要做什么数据库操作,它是一事务处理中心,若为定票操作则将数据送4,若为领票操作则将数据送15。 . 准备数据库查询语句 由定票数据准备访问SQL SERVER数据库所需的SQL 语句,送入5。 . 数据库操作 运行SQL 语句,查询并存入数据库,获得相应的定票数据,将数据送入6。它需包括初步对查询的判断。它必须为乘客安排可抵达目的地的有座位的航班。 . 判断查询是否成功 利用查询所得的数据判断定票是否成功,它是一事务处理中心,若为定票操作成功则将数据送7,若不成功则将数据送8。 . 准备回送数据 准备定票成功后需回送客户机程序的数据,送16。 . 确定原因 由查询数据判断定票不成功的原因,送9。 . 准备回送数据 根据不成功的原因,准备需送回客户机程序的数据,送入16。 .准备数据库查询语句 由领票数据准备访问SQL SERVER数据库所需的SQL 语句,送入11。 . 数据库操作 运行SQL 语句,查询并存入数据库获得相应的领票数据,将数据送入6。它需包括初步对查询的判断。 . 判断查询是否成功 利用查询所得的数据判断领票是否成功,它是一事务处理中心,若为领票操作得到确认则将数据送11,若不成功则将数据送8。 . 准备回送数据 准备领票确认后需回送客户机程序的数据,送16。 . 确定原因 由查询数据判断领票不能确认的原因,送15。 . 准备回送数据 根据不成功的原因,准备需送回客户机程序的数据,送入16。 . 准备网络数据包 将数据准备/加密成网络传输数据包。 . 网络数据发送 将数据包经网络发送到服务器程序, 它是程序与网络的接口。 以上显示的各模块数字相同的为同一模块;由于事务流处理上的便利,将有些功能模块,拆分到各事务流中。 4.2 总体结构和模块外部设计 下面以结构图来描述机票预定系统的软件总体结构。框内注明了模块的名字;方框之间的直线表示模块的调用关系。 4.2.1 客户机部分 图34.2.2 服务器部分接收数据机票预定系统(服务器部分)数据处理查询发送数据判断类型准备SOL判断查询解开数据包数据库操作判断原因准备数据包接收客户机数据准备返回数据准备返回数据发送数据到客户机图 4其中在数据处理、查询下作了省略只给出了一部分模块,实际上是有两部分,分别对应于定位及确认。 4.3 功能分配 各项模块的功能可参照3.1 中的说明。客户机程序主要有三大块:接收数据、网络通信及输出部分。服务器程序主要也是由三大功能:接收网络数据、数据库操作及发送网络数据部分。服务器程序需与已建立的SQL SERVER 数据库互连,其接口将于下面部分阐述。5运行设计5.1 运行模块组合客户机程序在有输入时启动接收数据模块,通过各模块之间的调用,读入并对输入进行格式化。在接收数据模块得到充分的数据时,将调用网络传输模块,将数据通过网络送到服务器,并等待接收服务器返回的信息。接收到返回信息后随即调用数据输出模块,对信息进行处理,产生相应的输出。服务器程序的接收网络数据模块必须始终处于活动状态。接收到数据后,调用数据处理/查询模块对数据库进行访问,完成后调用网络发送模块,将信息返回客户机。5.2 运行控制运行控制将严格按照各模块间函数调用关系来实现。在各事务中心模块中,需对运行控制进行正确的判断,选择正确的运行控制路径。在网络传方面,客户机在发送数据后,将等待服务器的确认收到信号,收到后,再次等待服务器发送回答数据,然后对数据进行确认。服务器在接到数据后发送确认信号,在对数据处理、访问数据库后,将返回信息送回客户机,并等待确认。5.3 运行时间在软体的需求分析中,对运行时间的要求为必须对作出的操作有较快的反应。网络硬件对运行时间有最大的影响,所以建议采用高速ATM 网络。其次硬件对本系统的速度影响将会大于软件的影响,建议使用 Pentium III 处理器。硬件对本系统的速度影响将会大于软件的影响。6 数据结构设计6.1 逻辑设计要点passager表乘客ID姓名性别工作单位旅行时间旅行目的地说明:乘客表保存了所有定票旅客的个人信息和旅行信息。主键为乘客ID。Plane表航班号目的地座位数票价起飞时间剩余座位数座位号分配说明:航班班次表保存了所有从本地起飞的班机信息,它的主键为航班号。在定位前先查寻座位空数,在定位后将修改剩余座位号。Ticket表机票号取票单号座位号说明:机票表里存储了有关机票的信息。主键为机票号。Getticket表:取票单号乘客ID航班号起飞时间订票数量说明:取票表里存储的是有关取票的核对信息和要取机票有关的信息。6.2 物理结构设计要点物理数据结构设计主要是设计数据在模块中的表示形式。数据在模块中都是以结构的方式表示。1 旅客信息1 旅客姓名2 旅客性别3 身份证号码4 工作单位2 帐单号3 旅行目的地1. 航班号2. 目的地3. 起飞时间4. 座位号4 网络包5 错误信息6 机票信息1 航班号2 目的地3 起飞时间4 旅客姓名5 旅客性别6 身份证号码7 剩余座位号8 座位号分配7.通知单信息1 帐单号2 取票通知单号3 旅客姓名4 身份证号码5 航班号6 起飞时间7 目的地6.3 数据与程序的关系服务器程序在对定票/领票进行操作时需对数据库数据库数据结构,也就是数据表进行查询和修改:在定票/领票过程中都需要对数据库中的所有表,进行联合查询、修改。物理数据结构主要用于各模块之间函数的信息传递。接口传递的信息将是以数据结构封装了的数据,以参数传递或返回值的形式在各模块间传输。出错信息将送入显示模块中,机票结构,帐单结构,送入打印准备模块中准备打印格式。6.4数据设计:旅行时间 姓名 性别身份证号码 旅客 旅行地点 航班机票信息 工作单位 1 账单 订票 取票通知 航空公司 1 N 1可售机票 旅社 合适航班机票 等级 订票旅客清单 售出机票信息 价格 时间 7系统出错处理设计7.1 出错输出信息程序在运行时主要会出现两种错误:1、由于输入信息,或无法满足要求时产生的错误,称为软错误。2、由于其他问题,如网络传输超时等,产生的问题,称为硬错误。对于软错误,须在定票/领票操作成功判断及输入数据验证模块由数据进行数据分析,判断错误类型,再生成相应的错误提示语句,送到输出模块中。对与硬错误,可在出错的相应模块中输出简单的出错语句,并将程序重置。返回输入阶段。7.2 出错处理对策所有的客户机及服务器都必须安装不间断电源以防止停电或电压不稳造成的数据丢失的损失。在网络传输方面,可考虑建立一条成本较低的后备网络,以保证当主网络断路时数据的通信。在硬件方面要选择较可靠、稳定的服务器机种,保证系统运行时的可靠性。7.3 维护设计维护方面主要为对服务器上的数据库数据进行维护。五. 系统实现总体设计(系统总流程图)l 验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。5.1登陆界面l 新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接 陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入。5.2注册界面l 主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息显示到界面上,还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。5.3主界面的用户个人信息界面l 主窗体的订票界面,你可以点击你想查询的有关机票的信息的按钮(舱位信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。5.4用户订票界面退票窗口,用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。5.5用户退票界面5.5用户登录时的管理员界面为不可用l 管理员界面的管理员添加界面能对管理员信息进行查询、添加、删除和修改,包括用户名、登陆密码和联系方式。5.6添加管理员界面l 管理员界面的舱位信息的查询、添加、删除和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别,以及备注信息等。5.7舱位等级信息修改界面l 管理员界面的客机信息界面对客机信息的添加、修改、删除和查询,包括客机编号、客机型号、购买时间、服役时间、经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。5.8飞机信息修改接面l 管理员界面的航线信息界面对航线信息的添加、修改、删除和查询,包括航线编号、出发城市、到达城市、航班日期、出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信息等。5.9航线信息修改界面l 客户等级信息的的添加、修改、删除和查询,包括客户等级编号、客户等级名称、折扣比例和备注信息等。5.9.1客户类型信息修改界面l 管理员界面的用户信息查询,能查询所有的已注册的用户信息,把相应的信息放到一个表中。5.9.2客户查询界面六. 程序测试分析及结果、使用说明1.程序使用说明: 1.运行程序显示登录界面 2.运行程序显示登录界面,输入用户名和密码,选择用户类型,通过身份验证,进入系统的使用界面。 3.不同的身份具有不同的权限。用户只能操作用户信息界面、订票界面、退票界面(eg:用户名:wangsichao,密码:123321)。管理员:可以对管理员信息界面、舱位等级界面、飞机信息界面、客户类型信息界面、航线信息界面进行查询、增加、删除、修改(eg:用户名:wangchao,密码:123456)。 4.程序的功能和使用(见概要设计里的功能模块设计说明)。2.测试分析及结果数据库连接出错:重复点击查询时 Sqlserve2000服务器里的两个值绑定到同一个属性中出错课程总结 通过短暂的课程设计,我深有感触。在平时做的时候感觉没这么吃力,但是在我真正做设计时发现有很多错误,有的时候要解决一个错误会花上很多时间,在做的过程中,有很多错误意想不到,有的错误却犯得很幼稚,不过这样对自身的排错能力能得到很大的提
展开阅读全文