ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:441.69KB ,
资源ID:7572225      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7572225.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(汽车租赁系统 UML建模与设计.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、汽车租赁系统 UML建模与设计1需求分析这里介绍一个简单汽车租赁系统的需求分析。1.1需求获取本系统的功能性需求包括以下几个方面:(1) 客户可以通过不同的方式(包括电话、前台、网上)预订车辆;(2) 能够保存客户的预订申请单;(3) 能够保存客户的历史记录;(4) 工作人员可以处理客户申请;(5) 技术人员可以保存对车辆的检修结果;为了满足上述需求,则系统主要包括以下几个模块:(1) 基本数据维护模块。基本数据维护模块提供了使用者录入、修改并维护基本数据的途径。例如,对客户的个人信息、租赁信息、车辆的基本信息等的录入和修改。(2) 基本业务模块。基本业务模块中,客户可以填写汽车租赁申请表,工

2、作人员负责处理这些表格。同时,技术人员还可以提交每辆车的状态,以便工作人员根据这些资料决定是否批准客户的请求。(3) 数据库管理模块。在汽车租赁系统中,对所有客户、工作人员以及车辆的信息都要进行统一管理,车辆的租赁情况也要进行详细的登记。(4) 信息查询模块。信息查询模块主要用于查询相关信息,例如工作人员查询车辆信息和客户信息等。图1所示表示汽车租赁系统的功能需求。 图1 功能需求1.2业务建模系统业务用例图如图2所示。图2 系统业务用例图1.3业务规则建模汽车租赁系统的顺序图主要有如下4个:(1) 管理人员开展工作的顺序图。(2) 客户预订车辆的顺序图。(3) 客户取车顺序图;(4) 客户还

3、车顺序图;1.3.1管理人员开展工作顺序图图3 管理人员开展工作的顺序图顺序图说明:(1) viewRecord():查看记录函数。(2) viewWorkInfo():查看工作记录函数。(3) calculate():计算工作人员的任务完成率的函数。管理人员既可以查看汽车的租赁记录,又可以查看普通工作人员的工作记录和任务完成情况。1.3.2客户预订车辆的顺序图图4 客户预订车辆的顺序图顺序图说明:(1) fillOrder():填写租赁申请表的函数。(2) checkRquest():查看申请的函数。(3) check():检查历史记录的函数。(4) InServiced():判断车辆状态的

4、函数。(5) allow():允许客户租赁车辆的函数。(6) isHandled():表明请求已处理。(7) notify():通知客户前来取车的函数。客户要租赁车辆,首先必须填写申请表。公司员工负责处理申请表,他们根据客户租赁的历史记录以及客户申请的车辆的状态决定是否接受客户请求。如果他们两个条件都满足,那么将接受请求并且为客户预留该车;否则就拒绝请求,处理过的申请表的状态都设为已处理,如果接受用户的租赁请求,首先为该客户添加一条记录,然后通知客户前来取车。1.3.3客户取车顺序图图5 客户取车顺序图顺序图说明:(1) show_notice():向工作人员出示取车通知。(2) check(

5、):工作人员检查取车通知的合法性。(3) pay():客户付款。(4) fillWorkRecord():公司员工创建工作记录。(5) update_carstatus():更新汽车状态信息。客户在约定的时间到前台取车,公司员工首先验证取车通知,验证通过后,将要求客户付款,然后填写一份工作记录,同时修改车辆状态。1.3.4客户还车顺序图图6 客户还车顺序图顺序图说明:(1) check_carstatus():检查车辆状况的函数。(2) fillRecord():填写车辆检查记录的函数。(3) notify_payment():通知客户支付租赁款项的函数。(4) update_carstatu

6、s():更新车辆信息的函数。(5) end():结束租赁交易的函数。(6) updateRecord():更新工作记录的函数。客户在规定时间将车返还给租赁商店,技术人员将对车辆进行检修以确定是否有损坏,并且填写一份服务记录,公司职员将根据记录确定客户应付的款项。与客户交易完成后,需要修改车辆的状态、客户记录以及工作记录等。1.3.5 客户预订车辆的协作图图7 客户预订车辆的协作图协作图说明:(1) fillOrder():申请表类中填写租赁申请表的函数。(2) checkRequest():普通公司员工类中查看申请的函数。(3) check():客户租赁历史记录类中的检查历史记录的函数。(4)

7、 InServiced():车辆类中的判断车辆状态的函数。(5) Allow():允许客户租赁车辆的函数。(6) isHandled():判断预订表单是否被处理的函数。(7) notify():通知客户前来取车的函数。1.3.6客户取车协作图图8 客户取车协作图协作图说明:(1) show_notify():向工作人员出示取车通知。(2) check():工作人员检查取车通知的合法性。(3) take_car():客户取车。(4) fillWorkRecord():公司员工创建工作记录。(5) update_carstatus():更新汽车状态信息。1.3.7客户还车协作图图9 客户还车协作图

8、协作图说明:(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系统的状态图由于系统的几个对象,如客户预订申请表类、客户租赁历史记录类、工作记录类、维修记录类和车辆类的状态都很少,不需要用创

9、建状态图,所以此处将建立整个系统的状态图,如图10所示。图10 系统状态图状态图说明:(1) customer send the request:客户提出租赁申请。(2) employee handle 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

10、 the car:检查车辆状况。(9) deny the request:拒绝租赁请求。(10) end the business:结束交易。从客户填写预订申请表开始,租赁商收到客户的申请并对其进行处理。根据客户的历史记录以及车辆的状态确定是否接受客户请求。如果某个条件不符合,就向客户发送一个拒绝通知,交易结束;如果条件都符合,则接受该请求并保存相关数据。客户在约定时间内来取车,取车需出示相关通知。车辆使用以后,客户必须在规定的时间将车返还给租赁商。还车后技术人员还会对车辆进行检查,根据车辆状况收取相应费用,如果车辆破损还要收取罚金。最后,交易结束。1.4.2系统的活动图汽车租赁系统的活动图如

11、图11所示。要注意的一点就是,租赁者填写租赁申请表和公司员工处理申请可以并发执行。图11 系统的活动图活动图说明:(1) customer request:客户填写租赁申请。(2) store the request:存储申请表。(3) employee check the request:公司员工查看租赁申请。(4) handle new request:处理新的租赁申请。(5) check the customers record:查看客户租赁的历史记录。(6) deny request:拒绝租赁请求。(7) the car is available:车辆为可用。(8) send the

12、message:发送取车通知。(9) customer acquire the car:客户取车。(10) customer give the car back:客户还车。2系统分析2.1概念用例2.1.1客户参与的用例图图12 客户参与的用例图用例图说明:(1) reserve the car:预订车辆的用例。(2) by phone:电话预订用例。这是从预订用例扩展出来的一种预订方式。(3) on the web:网络预订用例。这是从预订用例扩展出来的另一种预订方式,用户可以在公司主页上提交预订申请。(4) fill the order form:填写预订申请表的用例。如果客户在网上预订,

13、也必须完成预订申请表。(5) get the car:取车用例。(6) return the car:还车用例。(7) return with fine:交纳罚金用例。客户如果不能够按时还车将要交纳罚金。2.1.2公司员工参与的用例图图13 公司员工参与的用例图用例说明:(1) system login:系统登录用例。(2) reserve process:预订处理用例。(3) query customer order record:查询客户预订历史记录用例。工作人员可以把客户的历史记录作为判断是否接受客户请求的一个依据。(4) refuse request:拒绝预订请求用例。工作人员可以根据

14、情况拒绝客户的预订请求,例如客户历史记录不良,没有所需车辆等。(5) accept request:接受预订请求用例。工作人员在核对客户情况及车辆状态后,可以接受客户的请求。(6) give the car to customer:将预订的车交付客户用例。(7) check the car:检查车辆状况用例。技术人员可以对车辆进行检查,以确定车辆是否被损坏。(8) end the business:结束租赁业务用例。2.2分析类模型系统中各实体类、边界类、控制类之间的交互如图14、15、16所示。图14 查询的分析类类图图15 编辑基本信息的分析类类图图16 业务处理的分析类类图2.3组件模型

15、汽车租赁系统是建立在一个含有过去租赁记录、汽车信息、服务记录以及客户和员工信息的中央数据库上。系统组件图如图17所示,包括租赁程序、员工记录、服务记录、工作记录和汽车记录5个组件。图17 汽车租赁系统的组件图2.4软件构架和框架建模本系统采用CS架构的三层体系结构,如图18所示,应用JAVA语言辅以SQL Server数据库进行开发。数据服务层功能层表示层业务服务层用户服务层ServerClient图18 系统CS三层架构图3系统设计3.1设计类模型类图的设计是系统设计最核心的部分,明确基本类以及基本类之间的相互的关系有助于开发的后续设计。此处将详细介绍汽车租赁系统的类图设计。3.1.1客户和

16、公司员工类系统中客户和公司员工类图如图19所示。另外,这里省略了一些普通方法,例如get和set方法。图19 客户和公司员工类图类图说明:(1) Person类是所有类的父类,它包含4个属性:姓名(name),身份证号(ID),地址(address)和电话号码(phoneNO)。它包含的方法都是用来设置和获取这些属性值。(2) Customer类是包含客户信息的类,除了继承父类的属性和方法,它包括车辆类型(CarType)和驾驶证号(licenseNo)等属性。(3) Employee类是包含员工信息的类,其中包含了员工的聘用日期等信息。同时,它还是Manager、CommonWorker、S

17、killWorker3个类的父类。(4) Manager类是管理人员的类,管理人员可以查看工作人员的工作记录。CommonWorker类是普通工作人员类,commissionRate属性是该员工完成任务率;方法calculate()用来计算该工作人员完成的任务率;checkRequest()用来查询是否有没处理的申请单。SkillWorker类是技术人员的类,skills属性代表该员工的技术特长,而qualifications属性则表示他的技术职称。3.1.2一些其他的类其他的类图如图20和图21所示。图20 其他类图1图21 其他类图2类图说明:(1) CustomerRecord类表示客户

18、记录。customerID是客户的身份证号码,rentDate是租车日期,CarType是所组车辆的车型,CarNumber是该车的车牌号码,IsFinish代表该交易是否结束。check()用来得到该客户的记录,end()用来结束该交易。(2) Car类代表车辆记录。Type是该车的车型,CarNumber是车牌号码,status是指该车是否被预订、正在使用中或空闲状态,condition是指该车的状态。InServiced()用来判断该车是否空闲,update_carstatus()用来修改车辆所处的状态。(3) ServiceRecord类表示每一次租赁服务的记录。serviceHist

19、ory是服务的历史记录,progressReport是指该过程中的报告。fillRecord()用于填写表格。(4) RequestOrder类表示的是填写客户申请资料的表格。CarType表示客户申请的车型,RentDate是租车的时间,IsAllow属性表示该客户的申请是否得到批准。Allow()用来接受客户的请求,fillOrder()是指客户填写表格,check()用来检查是否存在这个申请,isHandled()设置该申请已被处理。(5) WorkRecord类是职员的工作记录。属性包括交易中涉及的员工、客户、车辆以及租赁信息。fillWorkRecord()用来填写这份记录,view

20、Record()用来查看这份记录,updateRecord()用来修改这份记录。3.2接口设计模型类不是单独一个模块,各个类之间是存在联系的,本系统中不存在接口的实现。汽车租赁系统各个类之间的联系如图22所示。图22 类之间的关系类图说明:从图中可以看出,工作人员(CommonWorker)可以查看所有客户(Customer)的租赁历史记录(CustomerRecord),可以处理几个客户的租赁申请(RequestOrder)。由于工作人员可以同时处理多个业务,那么他可以拥有多个服务记录(ServiceRecord)和工作记录(WorkRecord)。技术人员(SkillWorker)需要同时

21、维护多辆车(Car),每辆车也需要多个人员进行维护。经理(Manager)可以查看多个职员的工作记录。3.3包设计模型这个系统可以看成页面显示(webPages)、业务逻辑(Business)、数据访问(DataAccess)三块,分别控制不同的应用。整体包图如下:图23 系统包图各层的职责:(1) 页面显示包包含了系统所涉及到的所有页面显示,这样做的好处是再添加新的页面显示时就不会影响到别的包。(2) 业务逻辑包包含了所有的事务,如果在管理过程中需要增加某事务,那么只需在本包中添加相应的类即可。(3) 数据访问包包含了系统访问数据库的所有类操作。这样,当修改数据访问时就不会影响到界面或事务操作。3.4部署模型汽车租赁系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责数据管理;前台工作人员负责处理客户请求以及进行租赁交易;管理人员管理界面主要是用来对员工信息进行查询;而技术人员界面则是用于技术人员查询、修改汽车的状态,系统配置图如图24所示。图24 汽车租赁系统的部署图

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1