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

上传人:无*** 文档编号:100726273 上传时间:2022-06-03 格式:DOC 页数:19 大小:359KB
返回 下载 相关 举报
汽车租赁系统UML建模与设计_第1页
第1页 / 共19页
汽车租赁系统UML建模与设计_第2页
第2页 / 共19页
汽车租赁系统UML建模与设计_第3页
第3页 / 共19页
点击查看更多>>
资源描述
word目录1需求分析3需求获取3业务建模3业务规如此建模4管理人员开展工作顺序图4客户预订车辆的顺序图5客户取车顺序图6客户还车顺序图71.3.5 客户预订车辆的协作图8客户取车协作图8客户还车协作图9业务过程建模9系统的状态图9系统的活动图102系统分析12概念用例12客户参与的用例图12公司员工参与的用例图13分析类模型13组件模型15软件构架和框架建模153系统设计16设计类模型16客户和公司员工类16一些其他的类17接口设计模型18包设计模型19部署模型191需求分析这里介绍一个简单汽车租赁系统的需求分析。本系统的功能性需求包括以下几个方面:(1) 客户可以通过不同的方式包括、前台、网上预订车辆;(2) 能够保存客户的预订申请单;(3) 能够保存客户的历史记录;(4) 工作人员可以处理客户申请;(5) 技术人员可以保存对车辆的检修结果;为了满足上述需求,如此系统主要包括以下几个模块:(1) 根本数据维护模块。根本数据维护模块提供了使用者录入、修改并维护根本数据的途径。例如,对客户的个人信息、租赁信息、车辆的根本信息等的录入和修改。(2) 根本业务模块。根本业务模块中,客户可以填写汽车租赁申请表,工作人员负责处理这些表格。同时,技术人员还可以提交每辆车的状态,以便工作人员根据这些资料决定是否批准客户的请求。(3) 数据库管理模块。在汽车租赁系统中,对所有客户、工作人员以与车辆的信息都要进展统一管理,车辆的租赁情况也要进展详细的登记。(4) 信息查询模块。信息查询模块主要用于查询相关信息,例如工作人员查询车辆信息和客户信息等。图1所示表示汽车租赁系统的功能需求。图1 功能需求系统业务用例图如图2所示。图2 系统业务用例图汽车租赁系统的顺序图主要有如下4个:(1) 管理人员开展工作的顺序图。(2) 客户预订车辆的顺序图。(3) 客户取车顺序图;(4) 客户还车顺序图;图3 管理人员开展工作的顺序图顺序图说明:(1) viewRecord:查看记录函数。(2) viewWorkInfo:查看工作记录函数。(3) calculate:计算工作人员的任务完成率的函数。管理人员既可以查看汽车的租赁记录,又可以查看普通工作人员的工作记录和任务完成情况。图4 客户预订车辆的顺序图顺序图说明:(1) fillOrder:填写租赁申请表的函数。(2) checkRquest:查看申请的函数。(3) check:检查历史记录的函数。(4) InServiced:判断车辆状态的函数。(5) allow:允许客户租赁车辆的函数。(6) isHandled:明确请求已处理。(7) notify:通知客户前来取车的函数。客户要租赁车辆,首先必须填写申请表。公司员工负责处理申请表,他们根据客户租赁的历史记录以与客户申请的车辆的状态决定是否承受客户请求。如果他们两个条件都满足,那么将承受请求并且为客户预留该车;否如此就拒绝请求,处理过的申请表的状态都设为已处理,如果承受用户的租赁请求,首先为该客户添加一条记录,然后通知客户前来取车。图5 客户取车顺序图顺序图说明:(1) show_notice:向工作人员出示取车通知。(2) check:工作人员检查取车通知的合法性。(3) pay:客户付款。(4) fillWorkRecord:公司员工创建工作记录。(5) update_carstatus:更新汽车状态信息。客户在约定的时间到前台取车,公司员工首先验证取车通知,验证通过后,将要求客户付款,然后填写一份工作记录,同时修改车辆状态。图6 客户还车顺序图顺序图说明:(1) check_carstatus:检查车辆状况的函数。(2) fillRecord:填写车辆检查记录的函数。(3) notify_payment:通知客户支付租赁款项的函数。(4) update_carstatus:更新车辆信息的函数。(5) end:完毕租赁交易的函数。(6) updateRecord:更新工作记录的函数。客户在规定时间将车返还给租赁商店,技术人员将对车辆进展检修以确定是否有损坏,并且填写一份服务记录,公司职员将根据记录确定客户应付的款项。与客户交易完成后,需要修改车辆的状态、客户记录以与工作记录等。1.3.5 客户预订车辆的协作图图7 客户预订车辆的协作图协作图说明:(1) fillOrder:申请表类中填写租赁申请表的函数。(2) checkRequest:普通公司员工类中查看申请的函数。(3) check:客户租赁历史记录类中的检查历史记录的函数。(4) InServiced:车辆类中的判断车辆状态的函数。(5) Allow:允许客户租赁车辆的函数。(6) isHandled:判断预订表单是否被处理的函数。(7) notify:通知客户前来取车的函数。图8 客户取车协作图协作图说明:(1) show_notify:向工作人员出示取车通知。(2) check:工作人员检查取车通知的合法性。(3) take_car:客户取车。(4) fillWorkRecord:公司员工创建工作记录。(5) update_carstatus:更新汽车状态信息。图9 客户还车协作图协作图说明:(1) return_car:客户还车的函数。(2) check_carstatus:检查车辆状况的函数。(3) fillRecord:填写车辆检查记录的函数。(4) update_carstatus:更新车辆信息的函数。(5) show_payment:通知客户相关费用。(6) pay_money:客户付款。(7) end:完毕租赁交易的函数。(8) updateRecord:更新工作记录的函数。由于系统的几个对象,如客户预订申请表类、客户租赁历史记录类、工作记录类、维修记录类和车辆类的状态都很少,不需要用创建状态图,所以此处将建立整个系统的状态图,如图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 the car:检查车辆状况。(9) deny the request:拒绝租赁请求。(10) end the business:完毕交易。从客户填写预订申请表开始,租赁商收到客户的申请并对其进展处理。根据客户的历史记录以与车辆的状态确定是否承受客户请求。如果某个条件不符合,就向客户发送一个拒绝通知,交易完毕;如果条件都符合,如此承受该请求并保存相关数据。客户在约定时间来取车,取车需出示相关通知。车辆使用以后,客户必须在规定的时间将车返还给租赁商。还车后技术人员还会对车辆进展检查,根据车辆状况收取相应费用,如果车辆破损还要收取罚金。最后,交易完毕。汽车租赁系统的活动图如图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 message:发送取车通知。(9) customer acquire the car:客户取车。(10) customer give the car back:客户还车。2系统分析图12 客户参与的用例图用例图说明:(1) reserve the car:预订车辆的用例。(2) by phone:预订用例。这是从预订用例扩展出来的一种预订方式。(3) on the web:网络预订用例。这是从预订用例扩展出来的另一种预订方式,用户可以在公司主页上提交预订申请。(4) fill the order form:填写预订申请表的用例。如果客户在网上预订,也必须完成预订申请表。(5) get the car:取车用例。(6) return the car:还车用例。(7) return with fine:交纳罚金用例。客户如果不能够按时还车将要交纳罚金。图13 公司员工参与的用例图用例说明:(1) system login:系统登录用例。(2) reserve process:预订处理用例。(3) query customer order record:查询客户预订历史记录用例。工作人员可以把客户的历史记录作为判断是否承受客户请求的一个依据。(4) refuse request:拒绝预订请求用例。工作人员可以根据情况拒绝客户的预订请求,例如客户历史记录不良,没有所需车辆等。(5) accept request:承受预订请求用例。工作人员在核对客户情况与车辆状态后,可以承受客户的请求。(6) give the car to customer:将预订的车交付客户用例。(7) check the car:检查车辆状况用例。技术人员可以对车辆进展检查,以确定车辆是否被损坏。(8) end the business:完毕租赁业务用例。系统中各实体类、边界类、控制类之间的交互如图14、15、16所示。图14 查询的分析类类图图15 编辑根本信息的分析类类图图16 业务处理的分析类类图汽车租赁系统是建立在一个含有过去租赁记录、汽车信息、服务记录以与客户和员工信息的中央数据库上。系统组件图如图17所示,包括租赁程序、员工记录、服务记录、工作记录和汽车记录5个组件。图17 汽车租赁系统的组件图本系统采用CS架构的三层体系结构,如图18所示,应用JAVA语言辅以SQL Server数据库进展开发。Server数据服务层业务服务层功能层Client用户服务层表示层图18 系统CS三层架构图3系统设计类图的设计是系统设计最核心的局部,明确根本类以与根本类之间的相互的关系有助于开发的后续设计。此处将详细介绍汽车租赁系统的类图设计。系统中客户和公司员工类图如图19所示。另外,这里省略了一些普通方法,例如get和set方法。图19 客户和公司员工类图类图说明:(1) Person类是所有类的父类,它包含4个属性:name,号ID,地址address和phoneNO。它包含的方法都是用来设置和获取这些属性值。(2) Customer类是包含客户信息的类,除了继承父类的属性和方法,它包括车辆类型CarType和驾驶证号licenseNo等属性。(3) Employee类是包含员工信息的类,其中包含了员工的聘用日期等信息。同时,它还是Manager、monWorker、SkillWorker3个类的父类。(4) Manager类是管理人员的类,管理人员可以查看工作人员的工作记录。monWorker类是普通工作人员类,missionRate属性是该员工完成任务率;方法calculate用来计算该工作人员完成的任务率;checkRequest用来查询是否有没处理的申请单。SkillWorker类是技术人员的类,skills属性代表该员工的技术特长,而qualifications属性如此表示他的技术职称。其他的类图如图20和图21所示。图20 其他类图1图21 其他类图2类图说明:(1) CustomerRecord类表示客户记录。customerID是客户的,rentDate是租车日期,CarType是所组车辆的车型,CarNumber是该车的车牌,IsFinish代表该交易是否完毕。check用来得到该客户的记录,end用来完毕该交易。(2) Car类代表车辆记录。Type是该车的车型,CarNumber是车牌,status是指该车是否被预订、正在使用中或空闲状态,condition是指该车的状态。InServiced用来判断该车是否空闲,update_carstatus用来修改车辆所处的状态。(3) ServiceRecord类表示每一次租赁服务的记录。serviceHistory是服务的历史记录,progressReport是指该过程中的报告。fillRecord用于填写表格。(4) RequestOrder类表示的是填写客户申请资料的表格。CarType表示客户申请的车型,RentDate是租车的时间,IsAllow属性表示该客户的申请是否得到批准。Allow用来承受客户的请求,fillOrder是指客户填写表格,check用来检查是否存在这个申请,isHandled设置该申请已被处理。(5) WorkRecord类是职员的工作记录。属性包括交易中涉与的员工、客户、车辆以与租赁信息。fillWorkRecord用来填写这份记录,viewRecord用来查看这份记录,updateRecord用来修改这份记录。类不是单独一个模块,各个类之间是存在联系的,本系统中不存在接口的实现。汽车租赁系统各个类之间的联系如图22所示。图22 类之间的关系类图说明:从图中可以看出,工作人员monWorker可以查看所有客户Customer的租赁历史记录CustomerRecord,可以处理几个客户的租赁申请RequestOrder。由于工作人员可以同时处理多个业务,那么他可以拥有多个服务记录ServiceRecord和工作记录WorkRecord。技术人员SkillWorker需要同时维护多辆车Car,每辆车也需要多个人员进展维护。经理Manager可以查看多个职员的工作记录。这个系统可以看成页面显示webPages、业务逻辑Business、数据访问DataAccess三块,分别控制不同的应用。整体包图如下:图23 系统包图各层的职责:(1) 页面显示包包含了系统所涉与到的所有页面显示,这样做的好处是再添加新的页面显示时就不会影响到别的包。(2) 业务逻辑包包含了所有的事务,如果在管理过程中需要增加某事务,那么只需在本包中添加相应的类即可。(3) 数据访问包包含了系统访问数据库的所有类操作。这样,当修改数据访问时就不会影响到界面或事务操作。汽车租赁系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责数据管理;前台工作人员负责处理客户请求以与进展租赁交易;管理人员管理界面主要是用来对员工信息进展查询;而技术人员界面如此是用于技术人员查询、修改汽车的状态,系统配置图如图24所示。图24 汽车租赁系统的部署图19 / 19
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!