当前位置:文档之家› 汽车租赁系统UML建模与设计

汽车租赁系统UML建模与设计

目录1 需求分析 (2)1.1 需求获取 (2)1.2 业务建模 (2)1.3 业务规则建模 (3)1.3.1 管理人员开展工作顺序图 (3)1.3.2 客户预订车辆的顺序图 (4)1.3.3 客户取车顺序图 (5)1.3.4 客户还车顺序图 (6)1.3.5 客户预订车辆的协作图 (7)1.3.6 客户取车协作图 (7)1.3.7 客户还车协作图 (8)1.4 业务过程建模 (8)1.4.1 系统的状态图 (8)1.4.2 系统的活动图 (9)2 系统分析 (11)2.1 概念用例 (11)2.1.1 客户参与的用例图 (11)2.1.2 公司员工参与的用例图 (12)2.2 分析类模型 (12)2.3 组件模型 (14)2.4 软件构架和框架建模 (14)3 系统设计 (15)3.1 设计类模型 (15)3.1.1 客户和公司员工类 (15)3.1.2 一些其他的类 (16)3.2 接口设计模型 (17)3.3 包设计模型 (18)3.4 部署模型 (18)1需求分析这里介绍一个简单汽车租赁系统的需求分析。

1.1需求获取本系统的功能性需求包括以下几个方面:(1)客户可以通过不同的方式(包括电话、前台、网上)预订车辆;(2)能够保存客户的预订申请单;(3)能够保存客户的历史记录;(4)工作人员可以处理客户申请;(5)技术人员可以保存对车辆的检修结果;为了满足上述需求,则系统主要包括以下几个模块:(1)基本数据维护模块。

基本数据维护模块提供了使用者录入、修改并维护基本数据的途径。

例如, 对客户的个人信息、租赁信息、车辆的基本信息等的录入和修改。

(2)基本业务模块。

基本业务模块中,客户可以填写汽车租赁申请表,工作人员负责处理这些表格。

同时,技术人员还可以提交每辆车的状态,以便工作人员根据这些资料决定是否批准客户的请求。

(3)数据库管理模块。

在汽车租赁系统中,对所有客户、工作人员以及车辆的信息都要进行统一管理,车辆的租赁情况也要进行详细的登记。

(4)信息查询模块。

信息查询模块主要用于查询相关信息,例如工作人员查询车辆信息和客户信息等。

图1所示表示汽车租赁系统的功能需求。

图1功能需求1.2业务建模系统业务用例图如图2所示。

1.3业务规则建模汽车租赁系统的顺序图主要有如下4个:(1)管理人员开展工作的顺序图。

(2)客户预订车辆的顺序图。

(3)客户取车顺序图;(4)客户还车顺序图;1.3.1管理人员开展工作顺序图sd 管理人员时序图theRentRecordWorkRecordManager CommonWorker3: calculate。

I图3管理人员开展工作的顺序图顺序图说明: (1) viewRecord ():查看记录函数。

(2) viewWorkInfo ():查看工作记录函数。

(3)calculate ():计算工作人员的任务完成率的函数。

管理人员既可以查看汽车的租赁记录,又可以查看普通工作人员的工作记录和任务完成情况。

1.3.2客户预订车辆的顺序图sd 客户预订车辆时序图图4客户预订车辆的顺序图顺序图说明:(1)fillOrder ():填与租赁申请表的函数。

(2) checkRquest ():查看申请的函数。

(3)check (): 检查历史记录的函数。

(4) In Serviced():判断车辆状态的函数。

(5) allow (): 允许客户租赁车辆的函数。

(6) isHa ndled ():表明请求已处理。

(7)notify (): 通知客户前来取车的函数。

客户要租赁车辆,首先必须填写申请表。

公司员工负责处理申请表,他们根据客户租赁的历史记录以 及客户申请的车辆的状态决定是否接受客户请求。

如果他们两个条件都满足,那么将接受请求并且为客户 预留该车;否则就拒绝请求,处理过的申请表的状态都设为已处理,如果接受用户的租赁请求,首先为该 客户添加一条记录,然后通知客户前来取车。

:CustomertheRequest : RequestOrder:Common WorkertheCustomerRecord CustomerRecordtheCar:Car~T~---------- 11 : fillOrder()2 : checkRequest()3 : check()4 : no problem 。

5 : InServiced()吗 ----------------------7 : create new customerrecord()8 : allow()6 : ok()------ r9 : isHa ndled()10 : n otify()133客户取车顺序图sd客户取车时序图图5客户取车顺序图顺序图说明:(1)show_notice ():向工作人员出示取车通知。

(2)check():工作人员检查取车通知的合法性。

(3)pay():客户付款。

(4)fillWorkRecord ():公司员工创建工作记录。

(5)update_carstatus():更新汽车状态信息。

客户在约定的时间到前台取车,公司员工首先验证取车通知,验证通过后,将要求客户付款,然后填写一份工作记录,同时修改车辆状态。

134客户还车顺序图图6客户还车顺序图顺序图说明:(1)check_carstatus () :检查车辆状况的函数。

(2) fillRecord ():填写车辆检杳记录的函数。

(3) notify_payment () :通知客户支付租赁款项的函数。

(4) update_carstatus ():更新车辆信息的函数。

(5) end ():结束租赁交易的函数。

(6)updateRecord (): 更新工作记录的函数。

客户在规定时间将车返还给租赁商店,技术人员将对车辆进行检修以确定是否有损坏,并且填写一份 服务记录,公司职员将根据记录确定客户应付的款项。

与客户交易完成后,需要修改车辆的状态、客户记 录以及工作记录等。

:Customer:Common Worker :SkillWorker1 : return back()I 5: notify_payment()[2 : check_carstatus() 1 1 1----------------------------3 : fillRecord()1________ J14 : return()J一116 : pay() |7: update_carstatus()8 : end()9 : updateRecord()sd 客户还车时序图135客户预订车辆的协作图6: isHandled ()图7客户预订车辆的协作图协作图说明:(1)fillOrder ():申请表类中填写租赁申请表的函数。

(2)checkRequest ():普通公司员工类中查看申请的函数。

(3)check ():客户租赁历史记录类中的检查历史记录的函数。

(4)In Serviced ():车辆类中的判断车辆状态的函数。

(5)Allow ():允许客户租赁车辆的函数。

(6)isHandled ():判断预订表单是否被处理的函数。

(7)notify ():通知客户前来取车的函数。

1.3.6客户取车协作图1:show_notifytheCustomer :Customer图8客户取车协作图协作图说明:(1)show_ notify():向工作人员出示取车通知。

(2)check (): 工作人员检查取车通知的合法性。

(3)take_car () :客户取车。

1: fillOrder ()theCustomer :Customer7: notify ()theRequestOrderRequestorder2: checkRequest ()theCommonWorker丄二_____ CommonWorker5: Allow () /Deny ()3: check ()8: newCustomerRecord4: InServ iced ()theCustomerRecordCustomerRecord()3: validate__4: take_car ()(4)fillWorkRecord ():公司员工创建工作记录。

(5)update_carstatus ():更新汽车状态信息。

137客户还车协作图6: pay_money()1: return_car() 4: update_carstatus()3: fillRecord()图9客户还车协作图协作图说明:(1)return_car():客户还车的函数。

(2)check_carstatus():检查车辆状况的函数。

(3)fillRecord ():填写车辆检查记录的函数。

(4)update_carstatus ():更新车辆信息的函数。

(5)show_payment():通知客户相关费用。

(6)pay_money():客户付款。

(7)end():结束租赁交易的函数。

(8)updateRecord ():更新工作记录的函数。

1.4业务过程建模1.4.1系统的状态图由于系统的几个对象,如客户预订申请表类、客户租赁历史记录类、工作记录类、维修记录类和车辆类的状态都很少,不需要用创建状态图,所以此处将建立整个系统的状态图,如图10所示。

状态图说明:(1)customer send the reques t 客户提出租赁申请。

(2)employee han dle the request :公司员工处理申请请求。

(3)search relating information :查找租赁的相关历史记录。

(4)accept the request: 接受租赁请求。

(5)store information :存储交易信息。

(6)customer get the car:客户取车。

(7)customer return the car :客户还车。

(8)check the car:检查车辆状况。

(9)deny the request:拒绝租赁请求。

(10)end the bus in ess:结束交易。

从客户填写预订申请表开始,租赁商收到客户的申请并对其进行处理。

根据客户的历史记录以及车辆的状态确定是否接受客户请求。

如果某个条件不符合,就向客户发送一个拒绝通知,交易结束;如果条件都符合,则接受该请求并保存相关数据。

客户在约定时间内来取车,取车需出示相关通知。

车辆使用以后,客户必须在规定的时间将车返还给租赁商。

还车后技术人员还会对车辆进行检查,根据车辆状况收取相应费用,如果车辆破损还要收取罚金。

最后,交易结束。

1.4.2系统的活动图汽车租赁系统的活动图如图11所示。

要注意的一点就是,租赁者填写租赁申请表和公司员工处理申请可以并发执行。

相关主题