UML建模设计航空订票系统姓名:卫飞班级:1528学号:201515614375一、背景1.1背景概述随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求1.2主要组成及功能1、新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入。2、验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭3.我的航班界面。你可以点击你想查询的有关机票的信息的按钮(舱位信息查询,客机信息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。4.退票功能。用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息二、使用Rose绘制图分别有:用例图、类图、包图、顺序图、协作图、状态图、活动图、组件图、部署图情景:机票预订系统是某航空公司推出的一款网上选票系统。其中,未登陆用户只能查询航班信息;以登陆的用户还可以网上购买机票,查看已购买机票,也可以退定机票;系统管理员可以安排系统中的航班信息。此外,该购票系统还可以与外部的一个信用评价系统有交互。当某用户一个月之内退订两次及以上的机票时,需要降低该用户在信用评价系统中的等级。当信用等级过低时,则不允许用户再次购买机票。1.用例图用例图是被称为参与者的外部用户所能观察到的系统功能的模型图。用例是系统中的一个功能单元,可以被描述为参与者与系统之间的一次交互作用,并显示那个参与者参与了哪个用例的执行。该用例图中角色模型有已经登录用户,未登陆用户,管理员三者构成。已登录用户与登录系统存在着直接的通信关系;未登陆用户与查询信息之间存在着通信关系;管理员与安排航班信息之间存在着通信关系。而登录系统又包含了:购买机票、查看机票、退定机票三者。购买在与评价系统的继续购买与禁止购买之间存在着扩展关系。2.类图类图是以类为中心的,类图通过显示出系统的类以及这些类之间的关系来表示系统。订票系统的属性为class和航班信息,已登录用户的属性为姓名身份证和电话,操作为权限,预定,撤销,查看。未登陆用户的属性有姓名,操作方式只限于查看。管理员的属性为姓名,管理员密码,操作方式为安排航班信息。评价系统的操作方式为检索用户的退票次数与时间。购买许可的操作方式为允许或禁止购买。在该图中,订票系统与已登录用户,未登陆用户,管理员之间存在着一般化关系。订票系统为父类,其余为子类,子类继承父类的属性和操作。评价系统与已登录用户之间存在着依赖关系。3.包图包图是对类进行组合,进而表示出复杂的类图。一个包是UML上有逻辑关系的元件的集合。在该图中,业务与用户,管理员,购买业务之间存在着依赖关系,表示当用户信息,管理员信息,购买业务发生辩护时,都可能会导致业务发生改变。当业务发生改变时,也会对信用评价造成影响。4.状态图状态图是一个类对象所可能经历的所有历程的模型图。状态图由对象的各个状态和连接这些状态的转换事件组成。当一个事件发生时,它会触发状态间的转换,导致对象从一种状态转换到新的状态。状态图中可用于描述用户接口、设备控制器和其他具有反馈的子系统,还可以用于描述在生命期中跨越多个不同性质的阶段的被动对象的行为,在每一阶段该对象都有自己的特殊行为。本图中,有7种状态,由用户登录开始。未登录用户经过注册后状态转换为登录用户可以进入订票系统。管理员可以通过登录的方式进而进入修改安排航班信息的状态。而登录用户或注册后的用户需要经过评价系统的评价后方可进入购买的状态。5.协作图协作图对在一次交互中有意义的对象和对象之间的链式建模。类元角色描述了一个对象,关联角色描述了协作关系中一个链。协作图用几何排列来表示交互作用中的各角色。附在类元角色的箭头上代表的消息。消息的发生顺序用消息箭头处的编号来说明。协作图也是互动的图表。它向顺序图一样也传递相同的信息,但他不关心消息什么时候被传递,只关心对象的角色。该图的对象为管理员和用户,管理员,管理员输入登录信息,在接受到该条消息之后,进入到管理员界面。在管理员界面输入更改信息,收到该更改信息后,进入到机票安排界面。对用户来说原理相同。该图为用户登录的协作图,着重于用户登录的模块。对于用户本人,如果已经注册。在输入帐号密码之后,进入刀登陆界面,系统验证登陆。在登陆后读取用户的个人信息到服务器,然后服务器反馈验证。用户可以根据时间的合适程度进行购票,并在数据库中进行插入数,并且显示。6.顺序图顺序图可以用来表示一个场景说明,即一个事物的历史过程。顺序图中的一个用途是表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应一个类操作或者状态图中引起转换的触发事件。该图中的七个方框表示七个对象,这个用例是由用户进行具体的操作,再将这些操作转换成固定的请求,发送给其他对象形成的。当用户执行登录之后,进入订票系统,再由订票系统发送购买查询的命令到购买系统和查询系统。购买系统通过发送评价命令对用户是否继续购买和退票情况进行确定。最终进入评价系统对用户的星级进行评价。管理员执行修改命令后可以进入订票系统对航班信息进行安排。7.活动图活动图是阐明了业务用例实现的工作流程。业务工作流程说明了业务为向所服务的业务主角提供其所需的价值而必须完成的工作。业务用例由一系列活动组成,它们共同为业务主角生成某些工件。工作流程通常包括一个基本工作流程和一个或多个备选工作流程。这个是订票系统这个是退票系统中的活动图(visio)用该活动图描述用户登录的过程。开始进行填写身份信息,填写完毕后,发送验证码,此时判断有无接收到验证码,若接收到验证码,则填写验证码进行身份验证。若验证成功则成功登录。若没有接受到验证码,此时出现并行事件,可以取消发送验证码,进而取消登录操作,结束。或者重新发送验证码,再次验证,若验证成功则登陆。除此之外,在界面的退定情况可以进行操作和在服务器界面进行对用户和管理员的操作。该图描述管理员登陆以及操作的过程。在输入管理员密码的时候,系统对其进行验证,开始判断,若验证成功进入机票管理页面,并且可以对机票的信息进行管理和修改;若验证失败,此时可以执行并行活动,选择重新输入密码再次进行验证,进入管理页面;也可以选择取消登陆结束流程。8.部署图部署图是用来显示系统中软件和硬件的物理架构。从部署图中,可以了解到软件和硬件之间的组件以及处理节点组件的分布情况。使用部署图可以显示系统运行时系统的结构,同时还传达构成应用程序的硬件和软件元素的配置和部署方式。部署图由节点和关系两部分组成。有的部署图也包含构件,但是构件必须在相对应的节点上,不是孤立的存在的。该系统由4部分处理器构成,分别为用户端,管理员端,服务器端,数据库。用户端与管理员端通过http与服务器端相连,而服务器端则通过ADO与数据库相连。9.组件图组件图又称为构件图(ComponentDiagram)。组件图中通常包括组件、接口,以及各种关系。组件图显示组件以及它们之间的依赖关系,它可以用来显示程序代码如何分解成模块或组件。一般来说,组件就是一个实际文件,可以有以下几种类型:源代码组件:一个源代码文件或者与一个包对应的若干个源代码文件。二进制组件:一个目标码文件,一个静态的或者动态的库文件。可执行组件:在一台处理器上可运行的一个可执行的程序单位,即所谓可执行程序。该图由5个组件构成,分别为客户端程序,管理员程序,服务器端程序,数据库端程序,数据库。客户端程序和管理员端程序与服务器端程序存在着依赖关系,数据库端程序与数据库之间存在着依赖关系。而服务器端程序则通过一个接口连接到数据库端程序。10.小结本次设计主要完成了一下任务:1根据选择的题目,搜集所完成机票预订管理系统的相关资料,用活动图表示机票预订管理系统的业务流程;2根据UML系统分析设计的第一步,完成系统的需求捕获,在RationalRose中用用例模型表示出来;3根据已分析出来的用例模型,对其中核心的用例进行分析,得到分析模型(包括用例分析(类图)、顺序图等);4根据上一步骤的分析模型,进一步细化得出设计模型和实施模型,设计模型主要包括设计类(类图)、类的状态图,实施模型包括了构件图和配置图;5本次课程设计熟悉了简单系统的设计流程,熟悉了系统的建模流程,对简单的系统建模有了初步的了解。11.改善本系统设计的是一个小型的网上订票系统,对比与已经实现的机票预订进行对比,从而实现了整体的模块。在现在用户需求越来越多样化的今天,系统需要进一步的完善才能紧跟市场,实现用户喜欢的系统。从以下几点来看系统的有待完善之处:1、界面人性化多彩的界面是一个优秀系统不可或缺的部分。在界面友好性,视觉效果方面可以设计出本系统的特色,从而作为优秀系统的点睛之笔。2、功能扩展系统的关键在于其支持的功能,可以进一步的进行客户的需求调查,提出更加完美的功能模块。