基于UML的索赔信息系统功能分析
2012-10-26徐源清肖跃军中国矿业大学力学与建筑工程学院江苏徐州221116
徐源清 肖跃军 中国矿业大学力学与建筑工程学院,江苏 徐州 221116
基于UML的索赔信息系统功能分析
徐源清 肖跃军 中国矿业大学力学与建筑工程学院,江苏 徐州 221116
从建筑承包商的角度来看,索赔过程中的信息沟通和搜集、索赔决策的准确性对其索赔工作十分重要。文章基于UML这样一种通用的统一建模语言对索赔信息系统进行了首要的功能分析。具体实现了功能分析中用例图分析和类图分析的全过程。
UML;索赔;信息系统;用例
引言
对建筑工程承包商来讲,索赔是指由于外界干扰造成了非承包商负责的工期延长和成本增加,从而向对方提出的赔偿要求。索赔是建筑工程项目管理中综合性很强的工作,它涉及施工组织、施工技术、预算(估价)、合同等各个方面。这些方面体现出的索赔问题,如成本的增加、工期的延误、合同纠纷等使得项目组织的信息沟通和工程师的辅助决策变得至关重要[1]。如能设计一个工程索赔信息系统,帮助承包商把握各种索赔相关信息,分析与处理这些信息,做好决策,就能节约承包商人力与时间,降低管理费用,减少不必要的损失,从而提高效率。
1 UML简介
UML(Unified Modeling Language,统一建模语言)是一种图形化的软件建模语言[1]。UML的目标之一就是为软件开发团队提供标准、通用的设计语言来开发和构建计算机应用。软件项目开发团队的相关人员可以能够共享阅读和交流系统架构和设计规划,就像建筑工人多年来所使用的建筑设计图一样。
UML与程序设计语言无关,可以用任何程序设计语言来实现[2],并且它是图形化的语言,非常容易理解。
2 索赔信息系统的功能分析
索赔信息系统的功能分析主要从两个方面来讲述:首先列出系统需要实现的主要功能点,以用例图的方式加以描述,针对每个用例图给出具体的用例描述;然后分析出系统功能所需的主要类,对类与类之间的关系进行区分,针对分析出的相关联的类给出类图描述。
2.1 主要功能:
2.1.1 系统管理 对使用本系统的人员进行分类、分权限的管理控制;对本系统所用到的数据进行备份维护。比如人才机数据的维护,证据、案例数据的维护等;
2.1.2 工程信息管理 对工程的概况、工程参与各方等与索赔可能有关的工程信息进行输入和维护;
2.1.3 索赔日常管理 对索赔从事件描述、干扰事件分析、合同条款分析、工期索赔计算到费用索赔计算进行连续的可缺省的管理;
2.1.4 索赔文档管理 对索赔的证据和案例进行搜集和查询,并对索赔日常管理提供依据;
2.1.5 索赔报表管理 对索赔日常管理和决策管理的成果进行报表设计,得出索赔意向书,索赔报告等;
2.1.6 帮助 对本软件的使用,特别是索赔操作流程提供使用说明。
2.2 用例图
2.2.1 用例图分析
用例图由参与者(Actor)、用例(Use Case)、系统边界和关系组成。
参与者:是指系统以外的,在使用系统或与系统交互的过程中所扮演的角色。索赔信息系统中,参与者可以有承包商、发包商、监理方等。由于本文从建筑工程承包商的角度考虑,所以参与者为承包商。
用例:对包括变量在内的一组动作序列的描述,系统执行这些动作,并产生传递特定参与者价值的可观察结果。用例就是参与者想要系统做的事情。
系统边界:用来表示正在建模的系统的边界。边界内表示系统的组成部分,边界外表示系统外部。参与者在边界的外面,用例在边界的里面。
关系:用例图中的关系包括用例之间的关系、角色之间的关系以及用例和角色之间的关系。这些关系大致可分为3种:
⑴通信关系,如图1中的参与者承包商与用例“索赔日常管理”之间的连接就是通信关系,通信关系只能存在于参与者与用例之间;
⑵使用(uses)关系或包含(includes)关系,它表示一个用例包含了另外的用例,如图1中“索赔日常管理”的功能需要使用“索赔事件描述”这个子用例;
⑶扩展(extends)关系,它表示一个用例在另一个用例的基础上增加某些功能可以完成一个新的功能,如图1中的“网络工期分析”用例就是在已有用例“索赔工期计算”的基础上新增某些功能来完成的。
图1 索赔信息系统用例图
图1所示的用例图虽然描述了系统所需要完成的功能,但其描述非常简单,为了对其进行进一步的说明,下面使用用例规范对几个用例进行详细的描述。为了便于文档的跟踪,对图1的用例进行了编号,如表1所示。
表1 用例清单
2.2.3 用例描述
用例表清单中详细列出了索赔信息系统所需要的全部用例表,笔者选取了工期索赔计算的用例进行了详细描述,如表2 所示。
2.3 类图
2.3.1 类图分析
类图通常包含类、接口、协作和关系,而其中最基本的元素是类或接口。
⑴类:一般包含3个组成部分,分别为类名、属性和该类提供的方法。
“呼!总算摆脱了那可恶的家伙!”男孩躲在一条长椅后面,一手抓着扶手,一手拍着胸脯,露出半个脑袋观察周围的情况,目光不知不觉落在了巷子口那个老爷爷身上。
⑵接口:接口是一系列操作的集合,它指定了一个类所提供的服务。
⑶关系:常见的关系有一般关系、关联关系、聚合关系、合成关系和依赖关系。
一般关系:表现为类与类之间、接口与接口之间的继承关系、类与接口之间的实现关系。在索赔信息系统中,一般关系非常普遍。图2中UserInfo和Adminer分别代表了索赔信息系统的使用者的基本信息和使用者中的领导层的基本信息,这两个类就是一般关系,即领导层基本信息继承了所有使用者的基本信息。
表2 工期索赔计算用例
图2 一般关系类图
关联关系:类与类之间的连接,它使一个类知道另一个类的属性和方法。例如:索赔信息系统中在进行由工期拖延所造成的人工费索赔计算时,需要知道工期索赔计算的属性,如图3~4两个类图的关系就属于关联关系。
图3 关联关系类图
聚合关系:关联关系的一种,是较强的关联关系,强调的是整体和个体的关系。关联关系的两个类处于同一层次上,聚合关系的两个类处于不同的层次上,一个是整体,一个是部分。
依赖关系:类与类之间的连接,表示一个类依赖于另一个类的定义。例如,如果A依赖于B,则B体现为局部变量、方法的参数或静态方法的调用。
2.3.2 类图设计
索赔信息管理系统主要采用3层架构设计。类主要分为3种:
⑴界面设计类,以Frm前缀开头,用来设计软件的界面;
⑵数据实体类,以M前缀开头,后面跟数据库表的名称,将数据库设计为一个模型实体;
⑶业务逻辑类,以B开头,后面也是以表的名称来命名,业务逻辑类用来完成数据的存取操作。
类的设计基本采用这样的流程:首先根据界面上用户的输入的信息生成实体类,然后在界面类中生成业务逻辑对象,再调用业务逻辑对象提供的办法,以实体类为参数,完成数据的管理功能。
2.3.3 类图描述
由于索赔方式多样性、索赔参与方的对立性、工程实际的复杂性,导致对索赔信息系统的功能分析也是比较复杂和难以定性的。本文只对索赔信息系统中的人工费索赔计算模块的类图进行详细的描述,如图4,以期阐明类图在分析索赔信息系统功能时的特点和优势。人工费索赔计算由用户在FrmLabourCost窗体上实现可视化简明操作,通过BLabourCost对用户输入的数据进行计算、存储、修改、删除操作,并在M L a b o u r C o s t和MLabourMethodCost进行信息的实体化。在日常索赔工作中人工费的索赔计算可能由多种方法或项目,所以每一个MLabourMethodCost是MLabourCost中的一个组成部分。
图4 人工费索赔计算模块类图
3 结语
UML技术的优势还体现在有强大的工具支持,例如Microsoft公司开发的Visio办公产品正是对UML建模图形化的最大保障,内置了与程序接口的各类UML功能图的绘制功能。这也将大大极高UML技术在初步功能分析时的可推广性和适应性。本文所有UML类图都是通过Visio工具绘制。
笔者以上过程基本完成了索赔信息系统的功能分析,这是基于UML建模的第一步,也是提纲性的一步。用例图和类图的分析及设计对索赔信息系统的框架的形成起到了重要作用,也对索赔信息系统的功能进行了彻底的剖析。之后的序列图、状态图的分析,以及数据库设计和代码设计等项目的具体实现是一步步展开,一步步详细设计的过程,从而完成UML建模到发布软件的全过程。
[1]成虎,许沛.工程索赔决策支持系统的研究[J].系统工程理论与实践,1997,(10):4~9
[2]王哲.建设工程索赔管理信息系统研究[D].武汉理工大学大学硕士学位论文,2004
10.3969/j.issn.1001-8972.2012.03.034