1、uml汽车租赁系统建模分析手册 作者: 日期:2 个人收集整理 勿做商业用途汽车租赁管理系统建模分析手册S20080446王小刚版权2009太原理工大学计算机与软件学院信箱:xgw84 1 汽车租赁系统的需求分析11系统功能需求 1.1。1 系统的功能需求包括以下几个方面。 1。客户需要提前预订车辆。 2.车辆出租由于下述原因而变得复杂。 (1)需要提交司机的信息:全名,生日,驾照号码,驾照等级。 (2)要记录第三方付款单位.(3)确认用户是否签订碰撞损失免责书,责任保险,个人事故保险。(4)签订租车协议。协议号,客户名,租赁类型,车辆序号,车辆价格,汽车离店时间,里程,预期换车的时间等信息.
2、3.还车由于下述原因而变得复杂。(1)油箱不满要计油费到附加费用中。 (2)若汽车出现事过(受损,客户伤亡等),确认用户是否签订碰撞损失免责书,责任保险,个人事故保险,没有签订的要计入相应的费用到附加费用中。(3)登记归还日期,时间,里程等信息。(4)系统计算相应的收费数目.满足上述需求的系统主要包括以下几个模块. (1)系统用户管理模块。(2)日常业务管理模块。(3)车辆信息管理模块。(4)客户会员管理模块.2 系统的UML基本模型2。1汽车租赁管理系统事件列表事件编号事件描述系统输入提供输入系统输出接受输入1、客户提前预定车辆预定车辆客户预定是否成功客户、员工2、客户提供司机信息司机信息客
3、户员工3、客户提供付款的第三方信息付款的第三方信息客户员工4、客户提供保险信息保险信息客户员工5、客户签订租赁协议租赁协议客户员工6、员工确认邮箱是满的邮箱是满的员工燃料费7、员工记录还车信息还车信息员工8、员工检查车辆是否受损车辆是否受损员工维修费用9、员工检查车辆是否要保养车辆是否要保养员工10、员工送车到洗车行入库员工11、是到出具账单的时候了客户应该支付的款项客户、员工12、客户付款付款信息客户员工22系统的用例图2。2。1 创建用例图之前首先需要确定参与者。 (1)在汽车租赁系统中,需要客户的参与。客户可以提出预订请求,预订请求得到确认后可以取车,租赁期限到期后还应该将车返还给租赁商
4、. (2)租赁公司的员工则需要处理客户的租赁申请,并在汽车返还时对车辆状况进行检查:2.2.2由以上分析可以看出,所有的动作都是围绕着客户和公司员工进行的。因此,系统中的参与者主要有两类:客户和公司员工。 系统的用例主要如下三个: (1)预订车辆用例。客户在取车之前应该首先预订车辆. (2)取车用例。如果客户的车辆预订得到确认,要在确定的日期到前台取车. (3)还车用例.客户应该在规定时间还车.2.2。3扩展的基本用例叙述用例:预订汽车参与者:客户目的:为客户保留预订的汽车概述:如果公司还有可供出租的汽车,则按客户的要求予以保留。以备客户租用类型:基本前提条件:公司有可以出租的汽车后置条件:无
5、特殊需求:客户预订汽车后,必须租用该车事件流参与者操作系统响应1。当客户需要预订汽车时,用例开始2。如果公司还有车,则将该车保留候选事件流如果公司没有车了,则用例结束,通知客户没有可以预订的车了用例:出租汽车参与者:客户目的:为客户出租预订的汽车概述:将汽车出租给客户,并在系统中做相应的记录类型:基本前提条件:汽车已被该客户预订后置条件:无特殊需求:客户须填写相应的信息到系统中事件流参与者操作系统响应1.当客户预订到汽车并用车时,用例开始2. 客户提供司机信息3. 客户提供付款的第三方信息4. 客户提供保险信息5. 客户签订租赁协议6。如果以上信息全部提交,则出租车辆给客户,并在系统中做相应的
6、记录候选事件流4.如果客户没有提供保险信息,则增加相应的费用到附加的日常费用中用例:归还汽车及结账参与者:客户,员工目的:将汽车添加到代出租的预订表中,并收取应收取的出租费用概述:将汽车归还给汽车租赁公司,结束合同关系类型:基本前提条件:验证车辆是否满足相应的归还条件,并按相应的条件处理车辆后置条件:无特殊需求:无事件流参与者操作系统响应1。当客户还车给公司时,用例开始2.员工确认邮箱是满的3.员工记录还车信息4.员工检查车辆没有受损5。员工检查车辆是不需要保养6。员工送车到洗车行7。 根据条件出具相应的账单8。 车辆信息入库,以备再次出租候选事件流2.员工确认邮箱是不是满的,则基本费用增加燃
7、料费4.员工检查车辆受损,且没有碰撞免责书,则维修费用记录到账单5。员工检查车辆需要保养,则送去保养23汽车租赁管理系统的时序图2.3.1 首先来介绍系统的时序图,汽车租赁系统的时序图主要有如下3个。 (1)客户预订车辆的时序图。 (2)客户取车时序图。 (3)客户还车及结账的时序图。其余用例的时序图较为简单,系统分析的时候可以不给出。2。3。2客户预订车辆的时序图(1)客户预订车辆的时序图系统操作约定:(1)Query():查询是否有待预订的车辆(2) Query():查询该客户是否在公司注册 (3)reserve(,):按客户要求预订车辆(4)CarStatus():修改车辆在车库中的状态
8、信息(5)reserveno():返回预订编号给客户,以备用户用此编号提取车辆客户要租赁车辆,首先必须填写申请表。公司员工负责处理申请表,他们根据客户租赁的历史记录以及客户申请的车辆的状态决定是否接受客户请求。如果两个条件都满足,那么将接受请求并且为客户预留该车;否则就拒绝请求,处理过的申请表的状态都设为已处理。如果接受用户的租赁请求,首先为该客户添加一条记录,然后通知客户前来取车。(2)客户取车时序图:系统操作约定:(1)Query():查询是否有已预订的车辆(2) getDriverNum() :查询该车辆相对应的司机数目 (3) fillDriverInfo(, , , , ):要求客户
9、录入司机信息(4) Add( ) :按要求签订租车协议,并写入数据库(5) CarStatus( ) :修改车辆状态为已租赁(6)GetCar:客户取车,并返回租赁协议号给客户客户在约定的时间到前台取车,公司员工首先验证取车通知,验证通过后,将要求客户付款,然后填写一份租车协议,同时修改车辆状态。(3)客户还车时序图:系统操作约定:(1)Query():按客户提供的租车协议号,查询客户信息(2) Query():按客户提供的租车协议号,查询客户所租车辆的信息(3) Query():按客户提供的租车协议号,查询客户所签订的协议信息(4) Get( ) :按要求签订信息,取得租车的费用问题(5)
10、Return( ) :工作人员检查车辆后,把需求的油费,保养费等费用计入其它费用,并收取费用,完成车辆的归还(6)CarStatus( ):修改车辆状态为未出租,以备下次再次出租(7 ReturnSuccessed:还车成功客户在规定的时间将车返还给租赁公司,技术人员将对车辆进行检修以确定是否有损坏,并且生成其它费用,公司职员将根据记录确定客户应付的款项。与客户交易完成以后,需要修改车辆状态。24汽车租赁管理系统的域模型25汽车租赁管理系统的系统结构汽车租赁管理系统负责整个系统的总体协调工作;MSSQL数据库负责数据管理;工作人员负责处理客户请求以及进行租赁交易;而技术人员界面则用于技术人员查
11、询、修改汽车的状态。26汽车租赁管理系统的设计类图27汽车租赁管理系统的状态图28汽车租赁管理系统的活动图3数据库表结构cars字段名类型长度允许为空carnochar20*typeidint4TRUEcarnamechar50TRUEcolorchar20TRUEoilnochar30TRUEenginenochar50TRUEcarcasechar50TRUEsaleidnumeric9TRUEbuydatedatetime8TRUEinsurnochar50TRUEinsuridnumeric9TRUEinsurtypechar50TRUEinsursdatedatetime8TRUEi
12、nsuredatedatetime8TRUEdepositreal4TRUEdaypricereal4TRUEweekendpricereal4TRUEweekpricereal4TRUEmonthpricereal4TRUEdaypmreal4TRUEovertimepricereal4TRUEoverkmpricechar10TRUEstatuschar10TRUEcommentvarchar50TRUEcustomer字段名类型长度允许为空idchar20*namechar50TRUEsexchar2TRUEageint4TRUEidcardchar30TRUEtelephonechar
13、30TRUEworkplacechar30TRUEaddresschar30TRUEzipcodechar30TRUEemailchar30TRUElicensenochar30TRUElecensetypechar30TRUEgetdatechar30TRUEexpireddatechar30TRUEdriverageint4TRUEflagint4TRUEtypeidint4TRUEcertificatechar40TRUEwarrantorchar50TRUEwldcardchar30TRUEwworkplacechar100TRUEdriverinf字段名类型长度允许为空drivern
14、amechar50FALSEbirthdaydatetime8FALSElicensenochar10FALSElicensegradechar10FALSEreservenoint4lease字段名类型长度允许为空contractnochar50*carnochar20TRUEcustidchar20TRUEleasetimedatetime8TRUEleasemodechar10TRUEprice1real4TRUEprice2real4TRUEworkdaysint4TRUEweekendcountint4TRUEdepositreal4TRUEdaykmreal4TRUEoutkmre
15、al4TRUEoprice1real4TRUEoprice2real4TRUEreturntimedatetime8TRUEreturnkmreal4TRUEothercostreal4TRUEratereal4TRUEpaymentreal4TRUEtotalreal4TRUEstatuschar10TRUEcreatedatedatetime8TRUEusernamechar20TRUErealrtimedatetime8TRUEsecrety1char10TRUEsecrety2char10TRUEsecrety3char10TRUEmembertype字段名类型长度允许为空idint4typenamechar50TRUEratereal4TRUEreserveinf字段名类型长度允许为空namechar50idchar20FALSEcarnochar20FALSEreservenoint4FALSEusers字段名类型长度允许为空usernamechar20pwdchar20TRUEstatuschar10TRUEtype字段名类型长度允许为空idint4*typenamechar50TRUE