《2020(汽车行业)汽车租赁系统的需求分析与设计》由会员分享,可在线阅读,更多相关《2020(汽车行业)汽车租赁系统的需求分析与设计(24页珍藏版)》请在金锄头文库上搜索。
1、(汽车行业)汽车租赁系统的需求分析与设计可视化建模与UML课程结业报告 课题名称: 汽车租赁系统建模 姓 名: 刘 佳 伟 学 号: 80921006 班 级: 09软件本(2) 学 院: 电子与信息工程学院 指导老师: 夏 洁 武 完成日期:2012年5月28日目录第一章 概述31.1项目背景31.2 软件的一般性描述31.2.1运行环境和资源31.2.3 软件功能概述4第二章 用例模型52.1 用例图简介以及用例图的建立5 2.1.1 客户借车的用例图62.2 客户参与的用例用例描述62.2.1 事件流62.3.1事件流8第三章 类模型103.1 类模型的概述以及类模型的建立103.2 类
2、图描述14第四章 交互模型164.2 系统交互模型的建立174.2.2 客户预订车辆的顺序图184.2.3 客户取车的顺序图194.2.4 客户还车的顺序图204.2.5 客户预订的协作图214.2.6 客户取车的协作图224.2.7 客户还车的协作图23第五章 包图的建立245.1 包图的概述24第六章 行为模型的建立256.1行为模型的概述256.2 行为模型的建立266.2 .1 系统的状态图266.2.3 系统的活动图27第七章 小结28 第一章 概述1.1项目背景 利用互联网和信息化技术,结合汽车租赁经营的实际运作情况,建设一个覆盖汽车租赁经营全部业务的“汽车租赁系统”,通过该系统提
3、高企业信息化水平,完善经营管理体系,提高员工素质,进一步加强企业市场竞争能力。1.2 软件的一般性描述 1.2.1运行环境和资源本软件可以运行在WindowsXP,Windows Vista以及Windows 7系统上,电脑的最低内存要求为1GB,CPU主频为1.8GHZ以上。 1.2.2 软件的体系结构 汽车租赁系统查询客户信息 图1-1 软件体系结构1.2.3 软件功能概述本系统拥有以下功能: (1)用户登入系统。 (2)记录客户信息。 (3)查询客户信息。 (4)计算租金。1.2.3.1 用户登入系统功能概述用户通过插入卡片来登入系统。1.2.3.2 记录客户信息功能概述当客户第一次来租
4、借车辆的时候,职员打入客户的一些基本信息到系统中。1.2.3.3 查询客户信息功能概述职员可以通过系统查询客户的一些基本信息功能。1.2.3.4 计算租金功能概述根据借车和还车的时间间隔,系统自动计算费用,如果车辆有损坏再加上赔偿费用。 第二章 用例模型2.1 用例图简介以及用例图的建立用例图用来描述用户的需求,它从用户的角度描述系统功能,并指出各功能的执行者,强调谁在使用系统,系统为执行者完成哪些功能。用例图用于对系统,子系统或系统的行为进行可视化的表示,以方便系统的执行者更清晰地理解这些元素的用途,也便于系统的开发人员最终实现这些元素。用例图由以下几种元素组成:执行者,用例,系统,关系以及
5、用例描述。再用力模型中,不仅执行者与用例之间存在关系,用例与用例图之间也存在关系。用例图中常见的关系主要包括:关联(association)、包含(include)、扩展(extend)、泛化(generalization)。 创建用例图之前首先需要确定参与者。 系统中的参与者主要有两类:客户公司职员 2.1.1 客户借车的用例图图2-1客户借车的用例图2.2 客户参与的用例用例描述 2.2.1 事件流 2.2.1.1基本流1.客户来公司预订车辆2.客户签订相关协议和填写个人信息并办理卡片3.把卡片插入系统4.客户取走车辆进行使用5.客户归还车辆,按照借的时间缴纳费用2.2.1.2 备选流1.
6、 a 如果该公司车辆都出租了,则结束2. a 老客户直接到33. a 如果卡片无磁或者客户掉了卡,重新办理一张3.b 如果不是本人,不予办理4. a 按照签订的相关协议,车辆如有损坏,赔偿一定的费用。2.2.1.3 特殊要求无2.2.1.4 前置条件无2.2.1.5后置条件无2.2.1.6 拓展点无2.2.1.7相关的数据客户信息。2.2.18问题说明无2.1.2 职员处理客户租车业务的用例图图2-2 职员处理客户租车业务的用例图2.3 职员处理客户租车业务的用例描述2.3.1事件流2.3.1.1基本流1. 职员登入系统2. 为客户办理卡片,让客户签订相关协议和个人信息3. 将卡片插入,系统读
7、取客户信息,职员核对客户信息4. 职员修改车辆信息,对车辆的进行拍照和一些记录5. 处理归还的车辆2.3.1.2 备选流2. a 如果是老客户,直接进入33. a 如果卡片无磁或者客户掉了卡,重新办理一张2.2.1.3 特殊要求无2.2.1.4 前置条件无2.2.1.5后置条件无2.2.1.6 拓展点无2.2.1.7相关的数据客户信息和职员信息。2.2.1.8问题说明无 第三章 类模型 3.1 类模型的概述以及类模型的建立 类图用来描述系统中类之间的静态关系,它对系统的静态结构进行描述。在程序设计的不同阶段,类图的作用也不相同。在分析阶段,类图主要用于一些概念类的描述;在设计阶段,类图主要用于
8、描述类的外部特性;在实现阶段,类图主要用于描述类的内部实现。类图包括类的名字,属性,方法和类的可见性。类图描述包括两个部分:类和类间关系。主要的类间关系包括:关联,泛化,依赖以及其他关系。其他关系中经常用到的包括:聚合关系,组合关系以及实现关系。图3-1 客户类,经理类,员工类之间的关系图3-2 各个类的成员变量和成员函数的描述图3-3 各个类之间的关系3.2 类图描述1.Person 类它是用来记录个人的一些基本的信息,它有人的名字,ID(身份证号),地址,电话号码,里面的一些成员函数的功能都是返回该类的基本属性的。2. Customer 类继承自Person类,记录客户的信息3. Empl
9、oyee 类继承自Person类,记录员工的信息4. Car 类它的两个成员函数isServiced()用来反馈这个车辆能不能使用。Updatecarstatus() 用来更新车子的当前状态。5. Manager类继承自Employee类,可以查看员工的信息6. SkillWorker 类继承自Employee类,技术人员填写服务记录7. CommonWorker 类继承自Employee类工作人员可以处理客户申请,添加车辆信息,修改车辆信息,添加员工信息,修改员工数据8. CustomerRecord 类此类用来记录客户的借车信息。里面包含一些成员变量如:customerID ,rentDa
10、te ,CarType ,CarNumber (用来记录客户的ID,归还的日期,车子的类型, 车子的编号)。里面有一个成员函数用来核查这些信息的。9. SeviceRecord类用来填写服务的历史记录(RecordHistory)和进程(progressRecord)。10. WorkRecord 类它包含有三个函数分别是,fillWorkRecord(),viewRecord(),updateRecord()。fillWorkRecord()用来填写此类所包含的成员变量如: CustomerID, CommonWorkID, SkillWorkID, RentDate等等。 viewReco
11、rd()用来查看这些成员变量。updateRecord()用来重写此类的成员变量。11. RequestOrder 类它含4个成员变量。Allow()用来回应是否可以租借车辆;fillOrder()用来填写该类的成员变量的属性值;check()用来核查该类的成员变量的状态;isHandled()用来表明是否可以处理请求命令。第四章 交互模型4.1 交互模型的概述建立交互模型主要是建立顺序图和协作图。顺序图和协作图统称为交互图。它主要用来描述系统中多个对象之间的相互关系及对象间消息传递,用于对系统中多个对象的相互作用的过程进行建模。在面向对象分析过程中,可以使用顺序图来描述一个完整用例过程,使用
12、协作图来分析系统中的对象和对象之间传递的消息。顺序图的主要用途之一是用来为某个用例的泛化功能提供其所缺乏的解释,即把用例表达的需求,转化为进一步,更加正式的精细表达。在顺序图中主要包括下面4中元素:对象,生命线,激活以及消息。协作图着重于描述协作对象间的交互和连接。它可以理解为按照空间来布图。协作图中的主要建模元素包括:对象,消息和链。4.2 系统交互模型的建立 4.2.1 管理人员开展工作的顺序图图4-1 管理人员开展工作的顺序图4.2.2 客户预订车辆的顺序图 图 4-2 客户预订车辆的顺序图4.2.3 客户取车的顺序图 图4-3 客户取车的顺序图4.2.4 客户还车的顺序图 图4-4 客
13、户还车的顺序图 4.2.5 客户预订的协作图图 4-5 客户预订的协作图4.2.6 客户取车的协作图图 4-6 客户取车的协作图4.2.7 客户还车的协作图 图 4-7 客户还车的协作图 第五章 包图的建立5.1 包图的概述包是用来对模型元素进行分组的,且为分组好的元素提供一个命名空间(namespace)。包是UML中的一种结构,用来将各种建模元素(如用例或者类)分组组织起来。包的符号是文件夹的样子,包的主要作用是对模型元素进行分组管理,并为这些分组好的元素提供一个同一的命名空间,包除了是一个命名空间外,其本身也是一个可打包的元素,也就是说一个包可以作为另外一个包的内部元素,即包是具有可嵌套性的。每个包都必须有一个类名,包的名称应该为一个字符串,用来唯一标识这个包,并且报名应该能够反映整个包的内容,使人能够直观地了解该包。包拥有的元素通常存在可见性,用于指示这个元素是不是可以被包外的其它元素访问,对于包所拥有的公共元素,总是可以被外部采用限定姓名的方式进行访问的。创建包图的主要作用是:描述需求的高阶概述,描述设计的高阶概述,在逻辑上把一个复杂的图模块化,组织源代码,对框架进行建模。包之间的关系主要包括:依赖关系,泛化关系,还有包引入以及包合并的关系。包的设计原则主要包括:重用发布等价原则,无环依赖原则,稳