基于UML的特种车辆运营成本控制系统建模刘存福1王舰杨仁鹏摘要:针对神华神东分公司榆家梁煤矿特种车辆运营情况进行实地调研之后,本文应用UML统一建模语言阐述出特种车辆成本控制系统的需求分析流程,并确定系统的用例模型、静态模型和动态模型,使系统的分析与设计趋于可视化和标准化,为系统的开发与实现奠定基础。关键词:特种车辆UML建模成本控制1.研究背景榆家梁煤矿地处陕西省神木县,隶属于神华神东煤炭集团公司,是全国高产高效特级矿井和全国双十佳、文明煤矿。矿井按照建设一流煤矿和高产高效的要求,引进了具有国际先进水平的采煤技术和设备,生产系统高度集中,实现了机电一体化,掘进、支护和运输一体化,配套运输车辆化,辅助运输无轨胶轮化,监测监控自动化,是目前我国最具国际水平的高产高效矿井。该矿辅助运输系统大量使用了特种车辆,如支架搬运车、防爆工具车、多功能车、装载车、客车、叉车等,这些特种车辆主要承担煤矿井下设备、人员运输以及装卸和清除物料等井下辅助运输工作。不仅可节省大量人员,而且可提高工时利用率,增加采掘工作面的产量和进度,大大减少因设备搬家造成的停产时间,提高设备的使用效率[i]。这些特种车辆在运营管理和使用过程中发现存在着出车任务无法跟踪;任务完成情况无法及时反馈;车辆运行状态不能及时了解;故障车辆不能及时处理;驾驶员考核不到位;材料消耗情况不清;无法建立一套完整的单车、驾驶员考核管理制度;造成车辆作业效率低下,车辆滞修,材料浪费严重等问题。针对以上问题需要引进信息化的管理手段,建立一套成本控制系统,真正实现考核到单车、考核到个人,使各种激励机制固化到特种车辆运营成本控制系统中,从而提高车辆的运营效率,降低运营成本,提高员工工作的积极性[ii]2.需求分析需求分析是软件工程的重要阶段,更是关键的一步,其根本任务是建立可理解的现实模型,确定系统必须具备的需求功能,并描述为具体的需求规格说明,为软件开发建立基础。该阶段主要解决系统做什么,谁去做,如何去做,何时做及做的顺序等问题。在榆家梁煤矿特种车辆成本控制系统的需求分析流程如表1,在该系统中采用UML技术对系统的需求进行分析建模。UML(UnifiedModelingLanguage)是一种通用的可视化建模语言,它支持从需求分析开始到软件系统开发的全过程[iii]。UML以其精确强大的系统描述功能最大程度上消除了建模的模糊性和不同建模语言之间存在的不合理的差异,作为强大图形化建模语言的UML是理想的需求描述和建模分析工具,对大规模的、复杂的、不断变化的用户需求分析有着很强的控制力,使系统软件建模过程更趋规范、准确、高效。表格1需求分析流程表流程信息收集与整理需求描述需求分析框架构建评审优化及编写说明关键技术座谈法、问卷法、观察法、组织文档用例图UML需求建模三层架构在榆家梁煤矿特种车辆成本控制系统的需求分析中,首先根据系统的功能要求建立用例模型,然后对用例中的具体需求功能根据静态建模机制给出具体的实现方法,再根据动态建模机制明确需求功能之间的联系,最后检查各模型的一致性。2.1功能需求1作者简介:刘存福,教授,研究生导师,研究方向为生产与运作计算机建模。功能需求是指系统面向应用时应具备的各项功能,是系统必须实现的行为。榆家梁煤矿特种车辆运营成本控制系统的功能包括以下五个方面:1)车队基础数据管理支持系统正常运行的底层数据,包括车辆的分类、状态、班次及与车辆有关的固定项目、维修项目和交通网络节点等基础数据信息,并且这些数据都能用基础表实现。2)车队常用业务管理在榆家梁煤矿进行调研的过程中发现车队日常业务基本是台账的管理、百公里油耗的管理2、车辆费用管理3(包括车辆事故管理、车辆维修记录、车辆加油记录、车辆固定费用等四个方面)、用车计划及完成工单情况的管理等。3)车队材料管理车队在材料管理方面相比其他区队要简单一些,主要包括材料入库、材料出库两个主要功能。4)车队数据配置车队管理中一些数据属于支持系统运行的必备数据但又无法用基础表实现,这些数据一经设置之后,变更较小,并且设置的次数远远没有常用业务那么频繁,如驾驶员管理、车辆类型工资参照表、车辆考核指标管理、单车考核奖罚比例和车队常用路线管理等。5)车队数据报表特种车辆成本运营控制系统通过综合分析、准确计算,实现信息精确查询、各类数据汇总并生成数据报表的功能。这些报表包括:车辆司机工资、油耗明细表、车辆事故处理明细、车辆费用报表、车辆台账报表、单车消耗汇总及单车考核汇总等,并且每一个报表都将提供导出功能,导出格式符合会计要求,财务人员可直接使用。2.2用例模型用例图是从用户的角度分析系统需要实现的具体目标,定义系统的主要功能和系统边界,从而帮助开发人员获取更多的需求。特种车辆运营成本控制系统是为榆家梁煤矿井下与井上作业的特种车队建立的信息管理系统,使用该系统的角色为车队系统管理员(榆家梁煤矿规定)。通过分析建立系统的用例模型即功能模型如图1所示,模型共五个抽象用例:基础数据管理(BasicDataManagement)、常用业务(CommonBusiness)管理、材料管理(MaterialsManagement)、数据配置(DataConfiguration)、数据报表(DataReport)等,该模型体现了系统最基本的功能,是系统的高层抽象。SystemadministratorBasicdatamanagementCommonbusinessMaterialsManagementDataConfigurationDataReport图1特种车辆成本控制系统用例模型(功能模型)图2百公里油耗:车辆行驶一百公里所消耗的油的数量简称百公里油耗。计划百公里油耗:为单车计划控制性指标;计划百公里油耗和实际单车百公里油耗之差作为节超奖罚的依据。3固定费和维修费,同样有计划和实际,也作为单车节节超奖罚的依据。2.3静态模型静态模型是从系统的内部结构和静态角度来描述系统的视图,本文主要用类图描述。在整个需求分析中通过定义对象和类,以及它们内部和彼此间的关系及作用方式,可以对实体功能范围进行约束和限定,建立系统粗略的静态模型,从而实现其内部详细的功能需求[iv].在本系统的设计中定义了许多类,如车辆编号类、车辆台账类,驾驶员类、用车计划类、常用路线类、百公里油耗类、路线节点类、材料属性类,材料来源类、材料入库类,材料出库类、维修类、费用类等等,图2是车队常用业务子系统的类图。VehicleClassification+No.+Name+Classification+Remarks+Add()+Modify()+Delete()TrafficNodeTable+No+RouteNode+Remarks+Add()+Modify()+Delete()VehicleLedger+No.+CarNumber(Name)+Specification+Enginenumber+......+Manufacturer+Add()+Modify()+Delete()+Select()CarScheme+PlanNumber+Planner+Costofrepairparts+DateandTime+......+Taskcontent+Remarks+Add()+Modify()+Delete()+Select()WorkOrder+PlanNumber+Scheduleddate+costofrepairparts+......+Directions+Thetotallength+Remarks+Add()+Modify()+Delete()+Select()Commonroutes+CoalName+RouteNode+Thetotallength+Directions+Add()+Modify()+Delete()+Select()Hundredkilometers+RegistrationDate+No.+Hundredkilometers+Remarks+Add()+Modify()+Delete()+Select()Vehicledrivers+DriversNo.+Name+Post+......+Drivingtype+AppointmentDate+FamilyInformation+Add()+Modify()+Delete()+Select()图2车队常用业务子系统类图2.4系统动态模型系统仅仅依靠静态模型无法清晰地描述对象的行为和职责,也不能全面的反映系统的情况。因此要描述系统的动态行为,必须建立系统的动态模型。动态模型是在用例图及类图已经建立的基础上,分析系统中各种行为的时序状态和交互关系,以及变化过程,从而动态描述系统行为,反应系统内部对象之间的动态关系。2.4.1活动图活动图用来说明一个系统的工作流。通常可以描述一个用例的处理流程或者某种交互流程,对于每个用例均可画出其活动图,以便更详细地描述该用例与角色的交互。在特种车辆成本控制系统中的车队常用业务中,其管理流程包括:登录系统(LoginSystem)、查看车号(ViewVehiclesNumber)、车辆台账(VehicleLedger)的管理、百公里油耗(HundredKilometers)、车辆费用(CostManagement)管理(包含固定费用、维修费用和事故处理费用等)和用车计划(CarScheme)的填写,在完成工单操作之前需要验证行车路线(Viewroute)是否存在,如果不存在则结束操作,如果存在则直接进行工单的完成操作(CompletionofWorkOrders),其具体流程如图3所示。LoginSystemViewVehiclesNumberViewrouteVehicleledgerHundredkilometersCarSchemeCompletionofworkordersYesNoViewthedriverYesNo图3车队常用业务活动图2.4.2顺序图顺序图用来描述对象之间的动态协作关系,其强调对象之间消息发送的顺序,同时显示对象之间的交互。顺序图中的消息可以是信号、操作调用等,当对象接收到消息后立即开始执行活动,也就是说该对象被激活了[v]。图4所示特种车辆成本控制子系统材料管理中的顺序图,系统管理员(Administrator)登录系统进入材料管理子系统,根据实际情况进行入库操作,在入库界面(Checkininterface)正确填写信息(Fillininformation)之后进行添加保存的操作,添加操作成功后记录自动添加到数据库中,系统管理员在材料出库界面(Checkoutinterface)查询材料的入库信息(QueryStorage),获取到对应的入库记录才能进行出库操作,在出库界面填写完出库信息(Fillininformation)之后进行保存,添加操作成功之后出库记录自动添加到数据库中。AdministratorSystemCheckininterfaceCheckoutinterfaceQuerystorageBLLDLL1:Login()2:Checkin()3:Fillininformation()4:Addsavad()5:SaveRecord()6:Checkout()7:Querystorage()8:Fillininformation()9:Addsaved()10:SaveRecord()图4特种车辆成本控制材料管理子系统顺序图3、结论需求分析作为软件工程的一个重要环节,获取需求及对需求进行建模是这一阶段的重要任务。全面有效地获取需求并能准确的理解业务,使用工具正确的建立软件的逻辑模型是软件开发能够顺利进行的前提和关键,该阶段关系到整个软件工程的成败及软件产品的质量,因此应该提高对需求分析的重视。通过UML建模语言,使用建模工具对榆家梁特种车辆成本控制系统进行需求建模,并建立其静态和动态模型,为系统开发的准确性、合理性和可靠性提供了强有力的支持,同时也促进了系统开发工作人员的交流与合作,有利于后期软件系统的开发