课程设计报告2009~2010学年第二学期教学单位信息工程与技术系课程名称UML统一建模语言课程设计课程设计题目汽车租赁系统的需求分析与设计指导教师XXXX学生姓名XXXXX专业名称计算机科学与技术(数据库)年级08级汽车租赁系统的需求分析与设计一.课程设计目的UML统一建模课程是一门面向对象开发方法的设计语言。UML统一建模课程设计实验课,着重加强面向对象建模技术。使用UML统一建模语言,用需求模型简化业务领域;用分析模型验证用例的正确性,一致性,完备性,可行性;用设计模型标识解决方案。通过模型实现了从业务领域到软件领域的映射。通过建模,使问题可视化,形式化。通过一序列的建模和迭代活动,对于提高学生综合素质十分必要。UML统一建模课程是本科类计算机专业的一门骨干课程,技术复杂,应用范围广。本课程设计实验主要内容:构建系统的分析模型、设计模型。主要目标如下:1.掌握面向对象的分析技术、设计技术;2.构建“汽车租赁系统”的需求分析模型和设计模型;二.课程设计题目描述和要求本课程设计中包含:A.软件需求分析B.汽车租赁系统的需求分析C.系统的UML基本模型D.系统中的类E.系统的配置与实现1、系统目标系统的整体目标是:利用互联网和信息化技术,结合汽车租赁经营的实际运作情况,建设一个覆盖汽车租赁经营全部业务的“汽车租赁系统”,通过该系统提高企业信息化水平,完善经营管理体系,提高员工素质,进一步加强企业市场竞争能力。2、功能要求“汽车租赁系统”中的功能需求可以包括以下几个方面:客户可以通过不同的方式(包括电话、前台、网上)预订车辆;能够保存客户的预订申请单;能够保存客户的历史记录;工作人员可以处理客户申请;技术人员可以保存对车辆检修的结果。满足上述需求的系统主要包括以下几个模块:基本数据维护模块:该模块提供了使用者录入、修改并维护基本数据的途径。基本业务模块:在系统中,客户可以填写汽车租赁申请表,工作人员处理这些表格;同时,技术人员还可以提交每辆车的状态,以便工作人员根据这些资料决定是否批准客户的请求。数据库管理模块:在系统中,对所有客户、工作人员以及车辆的信息都要进行统一管理,车辆的租赁情况也要进行详细的登记。信息查询模块:该模块主要用于查询相关信息。三.课程设计报告内容1.汽车租赁系统的需求分析1.1系统功能需求系统的功能需求主要包括以下几个方面:客户可以通过不同的方式(包括电话、前台、网上)预订车辆。能够保存客户的预订申请单。能够保存客户的历史记录。工作人员可以处理客户申请。技术人员可以保存对车辆检修的结果。满足上述需求的系统主要包括以下模块:基本数据维护模块基本业务模块数据库管理模块信息查询模块1.2基本数据维护模块基本数据维护模块包括的主要功能模块:添加车辆信息修改车辆信息添加员工信息修改员工数据1.3基本业务模块基本业务模块包含的功能:用户填写预定申请工作人员处理预定请求技术人员填写服务记录工作人员处理还车1.4数据库模块数据库模块的功能:客户信息管理车辆信息管理租赁信息管理职员信息管理1.5信息查询模块信息查询模块是查询数据库中的相关信息,包括:查询客户信息查询职员信息查询车辆信息查询客户记录2.系统的UML基本模型2.1系统的用例图创建用例图之前首先需要确定参与者。系统中的参与者主要有两类:客户公司职员1.客户参与的用例图2.公司职员参与的用例图2.2系统的顺序图1.管理人员开展工作的顺序图2.客户预订车辆的顺序图3.客户取车的顺序图theCustomer:CustomertheRequest:RequestOrdertheCar:CartheCustomerRecord:CustomerRecordtheCommonWorker:CommonWorkerfillOrder()checkRequest()check()InServiced()createnewcustomerrecordAllow()notify()isHandled()noproblemok4.客户还车的顺序图theCustomer:CustomertheCommonWorker:CommonWorkertheRequestOrder:RequestOrdertheCar:CartheWorkRecord:WorkRecordshow_notice()check()okpay()fillWorkRecord()update_carstatus()2.3系统的协作图1.客户预订的协作图theCar:CartheSkillWorker:SkillWorkertheServiceRecord:ServiceRecordtheCommonWorker:CommonWorkertheCustomerRecord:CustomerRecordtheRentRecord:WorkRecordtheCustomer:Customerreturnbackcheck_carstatus()fillRecord()update_carstatus()end()updateRecord()notify_payment()pay()return2.客户取车的协作图:custormertheRequestOrder:RequestOrder:employeetheCustomerRecord:CustomerRecordtheCar:Car6:isHandled()1:fillOrder()7:notify()2:checkRequest()5:Allow()/Deny()3:check()8:newCustomerRecord4:InServiced()3.客户还车的协作图theServiceOrder:ServiceRecord:custormer:employeetheCar:CartheCustomerRecord:CustomerRecordtheWorkRecord:WorkRecord1:return_car()3:fillRecord()5:end()6:updateRecord()2:check_carstatus()4:update_carstatus():custormertheRequestOrder:RequestOrder:employeetheWorkRecord:WorkRecordtheCar:Car1:show_notice()4:take_car()2:check()3:validate5:fillWorkRecord()6:update_carstatus()2.4系统的状态图2.5系统的活动图3系统中的类3.1系统中主要的类1.客户和公司职员类customerrequestEmployeechecktherequeststoretherequesthandlenewrequestcheckthecustomer'srecordthecarisavailablethehistoryisgooddenyrequestthehistoryisbadsendthemessagecustomeracquirethecarcustomergivethecarbackyesnonewrequestnohavenewrequest2.一些其他的类3.2各个类之间的关系4系统的配置与实现系统的配置图DatabaseApplicationApplicationServerCommonWorkerManagerInterfaceSkillWorker四.小结汽车租赁系统是一套针对汽车租赁业务的实际特点而开发的应用与管理软件,其功能覆盖了汽车租赁业务的全部流程。主要包括车辆预订、租赁业务、车辆管理、客户管理、车辆检修、租金统计等功能。它包括了四个模块:基本数据维护模块、基本业务模块、数据库管理模块和信息查询模块。其中,基本数据维护模块提供了使用者录入、修改并维护基本数据的途径,主要包括了添加车辆信息、修改车辆信息添加员工信息、修改员工数据几大主要功能。基本业务模块则提供客户可以填写汽车租赁的申请表,工作人员会处理这些表格;同时,技术人员还可以提供每辆车的状态,以便工作人员根据这些资料决定是否批准客户的请求,它包含的功能有:用户填写预定申请、工作人员处理预定请求、技术人员填写服务记录和工作人员处理还车。数据库模块是对所有客户、工作人员以及车辆的信息都要进行统一管理,车辆的租赁情况也要进行详细的登记,它的功能则是客户信息管理、车辆信息管理、租赁信息管理和职员信息管理。信息查询模块是查询数据库中的相关信息,包括查询客户信息、查询职员信息、查询车辆信息和查询客户记录。通过这一个课程设计中,我学会了不少东西。最大的收获就是知道了如何进行UML统一建模,掌握了面向对象UML统一建模语言。我了解了使用UML统一建模语言,用需求模型简化业务领域;用分析模型验证用例的正确性,一致性,完备性,可行性;用设计模型标识解决方案。我还认识到通过模型可以实现从业务领域到软件领域的映射;通过建模,可以使问题可视化,形式化。而通过一序列的建模活动,提高了我在系统设计上的能力,增长了分析、解决问题的经验,对UML统一建模语言有了更深的了解。可以说,这次设计既锻炼了我的动脑分析问题的能力,又锻炼了我动手解决实际问题的能力,这将在我以后的学习中起到很大的作用。我会运用从中学到的宝贵经验来指导我今后的学习和工作,不断地实践,不断地学习,让自己变得更加的充实,更适合社会的需要。参考书目:[1]徐峰,陈暄,UML面向对象建模基础,中国水利水电出版社,2008[2]王先国,方鹏,曾碧卿,刘烨,UML统一建模实用教程,清华大学出版社,2009[3]王养廷,李磊,宋汉珍,UML基础与应用,清华大学出版社,2006课程设计成绩评定表课程设计题目学生姓名论文指导教师评语:建议成绩及等级:指导教师签名:200年月日