面向对象的分析与设计
- 课程结课大作业
学 号 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 类图 - - 总结 - -. 五、顺序图 1、用户网上订票顺序图 浏览与登录订票系统数据库操作 : 用户页面类1: 输入网址2: 输入用户名和密码3: 系统验证4: 登录成功5: 车票查询6: 检索7: 返回票务信息8: 车票预订9: 提交订单10: 系统审核11: 审核成功12: 网上支付13: 输入银行卡号和密码14: 系统验证15: 通过验证16: 提示订票成功 图5 用户网上订票顺序图 (1) 用户输入网址,进入网上售票系统 (2) 系统提示输入用户名和密码,用户输入用户名和密码 (3) 系统验证用户输入的用户名和密码 (4) 若用户名和密码正确,系统提示登录成功 (5) 用户进行车票查询,输入查询条件 (6) 系统进入数据库检索 (7) 数据库返回检索信息 (8) 用户进行车票预订并提交订单 (9) 系统审核订单 (10) 若订单通过审核,系统提示审核成功 - - 总结 - -. (11) 用户进行网上支付 (12) 用户输入银行卡号和密码 (13) 系统验证银行卡号和密码 (14) 通过验证则提示订票成功 2、 管理员网上售票系统顺序图 : 系统管理员浏览与登录页面票务系统数据库操作类1: 输入网址2: 输入用户名和密码3: 系统验证4: 登录成功5: 票务信息查询6: 检索7: 返回票务信息8: 更新票务信息9: 系统更新10: 更新成功11: 查看用户信息12: 检索13: 返回用户信息14: 更新用户信息15: 系统更新16: 更新成功 图6 管理员网上售票系统顺序图 (1) 系统管理员输入网址,登录网上售票系统 (2) 系统提示输入用户名和密码,管理员输入用户名和密码 (3) 若用户名和密码正确,系统提示登录成功 (4) 管理员对票务信息进行查询 (5) 系统进入数据库检索 - - 总结 - -. (6) 数据库返回检索信息 (7) 管理员对票务信息进行更新 (8) 系统对数据库进行更新,并提示更新成功 (9) 管理员查看用户信息 (10) 系统进入数据库进行检索,并返回用户信息 (11) 管理员更新用户信息 (12) 系统对数据库进行更新并提示更新成功 六、活动图、状态图 1、用户登录系统到打开主窗口操作活动图 开始启动SubMain过程判断数据库是否连接成功是显示用户登录窗口数据库连否接窗口输入用户名和密码数据库连接操作验证用户身份...登录成功用户名或密码错误,登...显示网上售票系统主界面结束 图7 用户登录系统到打开主窗口操作活动图 - - 总结 - -. 2、用户订票活动图 开始输入网址登录网上售票系统输入用户名和密码不正确正确查票有票订票换票退票无票查无此票结束输入银行卡号和密码密码不正确密码正确订购成功有票换票成功结束缴纳手续费换票失败结束结束结束 图8 用户订票活动图 3、 火车票状态图 开始车票进入流通车票售出车票待售状态车票过期车票退出流通结束车票被退回车票已售出状态 图9 火车票状态图 - - 总结 - -. 七、协作图、组件图、部署图 1、协作图 网站搜索1: 联网电脑 : 用户4: 订票6: 显示订单号给用户3: 显示票务信息5: 输入银行卡号和密码系统验证并扣钱2: 查票账户票务信息 图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图下所示: 浏览与登录页面1: 输入网址2: 输入用户名和密码3: 系统验证4: 登录成功5: 车票查询6: 检索7: 返回票务信息8: 车票预订9: 提交订单10: 系统审核11: 审核成功12: 网上支付13: 输入银行卡号和密码14: 系统验证15: 通过验证16: 提示订票成功订票系统数据库操作类 : 用户 图15 用户网上订票顺序图 四、协作图 1、作用:协作图就是表现对象协作关系的图,它表示了协作中作为各种类元角色的对象所处的位置,在图中主要显示了类元角色和关联角色。 2、组成元素:对象、消息、链。 - - 总结 - -. 3、彼此间的关系:确定这些对象之间的连接关系,使用链和角色将这些对象连接起来。 4、实例如图16所示: 网站搜索1: 联网 : 用户电脑4: 订票6: 显示订单号给用户3: 显示票务信息5: 输入银行卡号和密码2: 查票系统验证并扣钱账户票务信息 图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 部署图 - - 总结 因篇幅问题不能全部显示,请点此查看更多更全内容