UML火车售票系统的资料.docx
《UML火车售票系统的资料.docx》由会员分享,可在线阅读,更多相关《UML火车售票系统的资料.docx(22页珍藏版)》请在冰豆网上搜索。
UML火车售票系统的资料
面向对象的分析与设计
课程结课大作业
学号5011212
学生姓名
专业计算机科学与技术
班级17-5
塔里木大学教务处制
一、选题(此题5分)
火车票网上售票系统
二、需求分析
为了方便用户在网上查询、订票、退票和换票、减少售票工作人员的工作量,我们组对火车票网上售票系统进行UML建模。
火车票网上售票系统包括用户管理模块、系统参数设置模块、票务信息模块(提供票价、列车的实时信息)、订票管理模块(提供订票和退订功能)、实时信息提示模块(提供车况、路况、列车晚点等实时信息)、数据管理模块(提供数据备份、数据操作功能),其功能结构如图1-1所示。
图1功能结构图
1、用户管理模块
用户管理模块包括如下几个部分。
(1)看用户信息:
管理员可以对用户信息进行添加。
(2)添加用户信息:
管理员可以对用户信息进行添加。
(3)修改用户信息:
管理员可以对用户信息进行修改。
(4)删除用户信息:
管理员可以对已有用户信息进行删除。
(5)查看用户信息权限:
每个用户都具有一定的权限,管理员可以查看用户的权限。
(6)修改用户信息权限:
管理员可以修改用户权限。
(7)删除管理权限:
管理员可以删除用户权限。
(8)添加管理权限:
管理员可以添加用户权限。
2、系统参数设置模块
系统参数设置模块有如下几个部分。
(1)用户信息:
管理员可以对用户信息参数进行增删改查设置。
(2)票务信息:
管理员可以对票务信息参数进行增删改查设置。
(3)其他信息:
管理员可以对其他系统参数信息进行增删改查。
3、票务信息模块
票务信息模块包括如下几个部分。
(1)车次信息:
对车次信息进行增删改查操作。
(2)列车时间信息:
对列车时间信息进行增删改查操作。
(3)座位信息:
对座位信息进行增删改查操作。
(4)价格信息:
对价格信息进行增删改查操作。
(5)站点信息:
对车站信息进行增删改查操作。
4、订票管理模块
订票管理模块包括如下几个部分。
(1)用户注册:
注册新用户。
(2)用户登录:
已注册用户登录。
(3)列车信息:
浏览可预定车辆信息。
(4)车票预订:
预定车票。
5、实时信息管理模块
实时信息管理模块包括如下几个部分。
(1)实时信息查看:
查看最新实时信息。
(2)实时信息更新:
对于最新路况、车况信息进行更新。
6、数据管理模块
数据管理模块包括:
(1)数据查看:
对所有数据查看。
(2)数据备份:
备份所有数据。
(3)数据恢复:
恢复受损数据。
三、用例图
1、用户用例图
图2用户用例图
用户首先注册一个用于登录火车票网上售票系统的帐号,然后可以通过网上售票系统对票务信息进行查询,包括车次、是否有座位、票价、历时等信息,然后根据需要订购火车票,完成订票过程,也可以对已经订购的火车票进行换票、退票,退票是要缴纳5%的手续费。
图3系统管理员用例图
系统管理员可以进行用户管理和票务管理。
对用户信息进行管理,包括查看、修改、添加、删除用户信息等操作。
票务管理包括对车票信息进行查看、添加、修改、删除等操作。
表3-1“注册”用例的描述
用例名称
注册
用例编号
001
简要说明
登录网上售票系统需要有用户名和密码
参与者
用户、系统管理员
当前状态
等待注册
使用频率
较高
前置条件
电脑联网并正确输入网址
后置条件
输入有效的用户名和密码
基本操作流
在注册窗口输入用户名和密码
表3-2“登录”用例的描述
用例名称
登录
用例编号
002
简要说明
输入用户名和密码后登录网上售票系统
参与者
用户、系统管理员
当前状态
等待登录
使用频率
较高
前置条件
输入用户名和密码
后置条件
进入系统
基本操作流
到数据库表中检索是否存在相应的用户名和密码
备选操作流
如果用户名和密码有误,显示提示信息
表3-3“查票”用例的描述
用例名称
查票
用例编号
003
简要说明
用户、管理员根据需要进行票务信息查询
参与者
用户、系统管理员
当前状态
等待查询
使用频率
较高
前置条件
登录网上售票系统
基本操作流
到数据库表中检索票务信息
备选操作流
如果不存在该票,显示提示信息
表3-4“用户管理”用例的描述
用例名称
用户管理
用例编号
004
简要说明
管理员多用户信息进行管理
参与者
系统管理员
当前状态
等待系统管理员对用户信息进行管理
使用频率
较高
前置条件
系统管理员正确输入用户名和密码
基本操作流
管理员对用户信息进行增删改查操作
备选操作流
如果操作不成功,回滚至初始状态
表3-5“票务管理”用例的描述
用例名称
票务管理
用例编号
005
简要说明
管理员对票务信息进行管理
参与者
系统管理员
当前状态
等待管理员对票务信息进行管理
使用频率
较高
前置条件
管理员正确输入用户名和密码
基本操作流
管理员可以对票务信息进行增删改查操作
备选操作流
如果操作不成功,回滚至初始状态
表3-6“数据库管理”用例的描述
用例名称
数据库管理
用例编号
006
简要说明
管理员对数据库信息进行管理
参与者
系统管理员
当前状态
等待管理员对数据库信息进行管理
使用频率
较高
前置条件
管理员正确输入用户名和密码
基本操作流
管理员可以对数据库信息进行查看、备份、恢复和对系统参数进行设置
备选操作流
如果操作不成功,回滚至初始状态
四、类图
图4类图
5、顺序图
1、用户网上订票顺序图
图5用户网上订票顺序图
(1)用户输入网址,进入网上售票系统
(2)系统提示输入用户名和密码,用户输入用户名和密码
(3)系统验证用户输入的用户名和密码
(4)若用户名和密码正确,系统提示登录成功
(5)用户进行车票查询,输入查询条件
(6)系统进入数据库检索
(7)数据库返回检索信息
(8)用户进行车票预订并提交订单
(9)系统审核订单
(10)若订单通过审核,系统提示审核成功
(11)用户进行网上支付
(12)用户输入银行卡号和密码
(13)系统验证银行卡号和密码
(14)通过验证则提示订票成功
2、管理员网上售票系统顺序图
图6管理员网上售票系统顺序图
(1)系统管理员输入网址,登录网上售票系统
(2)系统提示输入用户名和密码,管理员输入用户名和密码
(3)若用户名和密码正确,系统提示登录成功
(4)管理员对票务信息进行查询
(5)系统进入数据库检索
(6)数据库返回检索信息
(7)管理员对票务信息进行更新
(8)系统对数据库进行更新,并提示更新成功
(9)管理员查看用户信息
(10)系统进入数据库进行检索,并返回用户信息
(11)管理员更新用户信息
(12)系统对数据库进行更新并提示更新成功
六、活动图、状态图
1、用户登录系统到打开主窗口操作活动图
图7用户登录系统到打开主窗口操作活动图
2、用户订票活动图
图8用户订票活动图
3、火车票状态图
图9火车票状态图
七、协作图、组件图、部署图
1、协作图
图10协作图
(1)用户首先要连接上网络的电脑
(2)用户进行网站搜索,查询有关的票务信息
(3)电脑显示票务信息给用户
(4)用户查看信息后选择订票
(5)用户输入银行卡号和密码,系统验证并扣钱
2、构件图
图11构件图
3、部署图
图12部署图
八、核心代码
此题要求:
列出核心代码,并上交附件。
总结
一、用例图
1、作用:
(1)用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。
(2)用例方法是完全从外部来定义系统功能,它把需求和设计完全的分离开来。
我们不用关心系统内部是如何完成各种功能的,系统对于我们来说就是一个黑箱子。
2、组成元素:
参与者、参与者间的关系、系统边界。
3、彼此之间的关系:
包含、扩展、泛化。
4、实例如图13所示:
图13用户用例操作
二、类图
1、作用:
类图的作用是对系统的静态视图进行建模。
2、组成元素:
类、接口、类之间的关系。
3、彼此之间的关系:
泛化关系、关联关系、实现关系、依赖关系、
4、实例如图14所示:
图14类图
三、序列图
1、作用:
序列图作为一种描述在给定语境中消息是如何在对象间传递的图形化方式,在使用其进行建模时,主要可以将其用途分为以下三个方面:
(1)确认和丰富一个使用语境的逻辑表达。
一个系统的使用情境就是系统潜在的使用方式的描述,也就是它的名称所要描述的。
一个使用情境的逻辑可能是一个用例的一部分,或是一条控制流。
(2)细化用例的表达。
我们前面已经提到,序列图的主要用途之一,就是把用例表达的需求,转化为进一步、更加正式层次的精细表达。
用例常常被细化为一个或者更多的序列图。
(3)有效地描述如何分配各个类的职责以及各类具有相应职责的原因。
我们可以根据对象之间的交互关系来定义类的职责,各个类之间的交互关系构成一个特定的用例。
2、组成元素:
对象、生命线、激活、消息。
3、实例如15图下所示:
图15用户网上订票顺序图
四、协作图
1、作用:
协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色和关联角色。
2、组成元素:
对象、消息、链。
3、彼此间的关系:
确定这些对象之间的连接关系,使用链和角色将这些对象连接起来。
4、实例如图16所示:
图16协作图
五、状态图
1、作用:
(1)状态图清晰的描述了状态之间的转换顺序,通过状态的转换顺序也就可以清晰的看出事件的执行顺序。
如果没有状态图我们就不可避免的要使用大量的文字来描述外部事件的合法顺序。
(2)清晰的事件顺序有利于程序员在开发程序时避免出现事件错序的情况。
(3)状态图清晰的描述了状态转换时所必须的触发事件、监护条件和动作等影响转换的因素,有利于程序员避免程序中非法事件的进入。
(4)状态图通过判定可以更好的描述工作流因为不同的条件发生的分支。
2、组成元素:
状态、转换、判定、同步、事件。
3、实例:
图17状态图
六、活动图
1、作用:
(1)描述一个操作执行过程中所完成的工作。
说明角色、工作流、组织和对象是如何工作的。
(2)活动图对用例描述尤其有用,它可建模用例的工作流,显示用例内部和用例之间的路径。
它可以说明用例的实例是如何执行动作以及如何改变对象状态。
(3)显示如何执行一组相关的动作,以及这些动作如何影响它们周围的对象。
(4)活动图对理解业务处理过程十分有用。
活动图可以画出工作流用以描述业务,有利于与领域专家进行交流。
通过活动图可以明确业务处理操作是如何进行的,以及可能产生的变化。
(5)描述复杂过程的算法,在这种情况下使用的活动图和传统的程序流程图的功能是差不多的。
2、组成元素:
动作状态、活动状态、组成活动、分叉与结合、分支与合并、泳道。
3、实例如图18所示:
图18用户状态活动图
七、包图
1、作用:
是一种维护和描述系统总体结构的模型的重要建模工具,通过对图中各个包以及包之间关系的描述,展现出系统的模块与模块之间的依赖关系。
2、组成元素:
包的名称、包中拥有的元素、元素的可见性、包的构造型以及包包之间的关系。
3、实例如图19所示:
图19包之间的依赖关系
八、构件图
1、作用:
通过显示系统的构件以及接口等之间的接口关系,形成系统的更大的一个设计单元。
在以构件为基础的开发中,构件图为架构设计师提供了一个系统解决方案模型的自然形式,并且它还能够在系统完成后允许一个架构设计师验证系统的必须功能是由构建实现的,这样确保了最终系统将会被接受。
2、组成元素:
接口、构件、依赖关系。
3、彼此之间的关系:
依赖关系、实现关系。
实例:
图20构件图
九、部署图
1、作用:
描述一个具体应用的主要部署结构、平衡系统运行时的计算资源分布等,部署图也可以通过连接描述组织的硬件网络结构或者是嵌入式系统等具有多种硬件和软件相关的系统运行模型。
2、组成元素:
处理器、设备、连接。
实例:
图21部署图