面向对象方法的形成最初从面向对象的程序设计语言开始,随之逐渐形成面向对象分析与设计方法。面向对象分析与设计是一种系统建模技术。20世纪90年代以后,OOA/OOD方法逐渐进入应用,一些系统分析大师与方法学专家按照面向对象的思想,对系统分析、系统设计的方法与图示工具等进行了详细的研究,比较着名的有:Coad/Yourdon方法(包括OOA 和OOD 两部分)、Booch方法、Wirtf-Brock的RDD 方法(责任驱动设计方法)、Rumbaugh的OMT方法、ESA的HOOD方法(层次型面向对象设计方法)、Shlear和Mellor的OOSA(面向对象的系统分析方法)、Wasserman的OOSD(面向对象的系统设计方法)、IvarJacobson的OOSE(面向对象的软件/系统工程方法)等。
OMT方法以面向对象思想为基础,通过构建静态对象模型、动态模型和功能模型来获得问题的领域模型。对象模型表示系统中静态结构方面的特性,动态模型表示系统对象之间的时间、行为控制方面的特性,功能模型主要描述系统的功能,表示怎样从输入值得到输出值,包括函数、映射、约束和功能性依赖,功能模型由多个数据流图组成。OMT方法可平滑地转入系统设计阶段,将问题的领域模型变换成解决问题的可执行模型,每一个模型都可在开发周期中发展。
目前流行的可视化建模技术(VMT)采用了OOSE方法,通过用例模型找出问题领域中潜在的对象和类,以建立对象模型,用例模型作为开发动态模型的出发点。
VMT使用了OMT方法,采用静态模型(对象模型)和动态模型(事件跟踪图及状态转换图)来描述对象间的关系及对象在运行时的行为。VMT 还使用了RDD 方法来确认对象的责任和合作者。
UML提供了5类视图:描述系统功能需求的用例视图(用例图、活动图)、描述系统内部静态结构和动态行为的逻辑视图(类和对象图、状态图、序列图/合作图、活动图)、描述系统所划分的软件组件间依赖性的开发实施视图(组件图)、描述系统各组成部分整体运营的过程视图(状态图与活动图、序列图/活动图、组件图、物理配置图)、描述系统硬件间的连接关系及软件程序配置情形的配置视图(物理配置图)。基于UML的软件开发方式是用例驱动、以系统结构为中心、循环式、渐增式的开发。
UML业务模型可采用用例视图模型与逻辑视图中的对象模型。采用用例视图模型表示企业的业务过程、内部与外部活动及其关系,采用对象模型表示企业中的业务实体与工作者及其关系。企业用例模型与对象模型从不同的方面以企业所有者的观点描述了企业的过程模型。
13.6.1UML业务建模
企业用例模型是较好地表达企业业务过程的工具与方法,它由业务用例图说明,由活动者与用例确定。业务用例图表示了从外部看待业务系统的高层视图,可获取业务系统的需求、模型化企业需求环境,便于用户与领域分析专家相互沟通、理解业务系统。
为了描述业务用例的工作流,可采用活动图。建立企业用例模型可遵循如下步骤。
①以一般企业体系结构下的企业模型框架为指导,定义企业系统的确切范围。
②找出企业系统的所有行动者与用例,采用包组织的企业系统用例视图表示。
③构造用例图,对用例进行描述,定义用例间关系,并检查用例的完整性,验证模型。
④采用活动图模型化每一个用例的详细过程。活动图是具多重目的的过程流程图,用于模型化系统的行为。活动图与流程图十分相似,但活动图可表示出并行的过程,这对业务流程的建模非常重要,因为企业业务流程中存在很多并行的过程。
企业对象模型用于描述业务用例的实现。根据企业用例模型,以企业结构为中心,运用、综合面向对象的方法论,从不同的角度构建企业对象模型。
企业对象结构模型使用UML中的类图表示企业模型的静态结构,并确定对象的特征,如属性、操作及对象间的关系结构(如特化或泛化、聚合、关联、关联类等)。
企业对象动态模型以对象间的动态面为主要描述对象,即描述对象间的交互过程及对象间的消息传递,可采用序列图或合作图描述。
建立企业对象模型可遵循如下步骤。
第一步,根据用例模型确定的企业系统范围,进行系统组织单元划分;寻找各组织单元内部的组织实体与业务实体,对本质相同的实体群组进行封装。
第二步,确定实体间的关联关系,使用特化、泛化、聚合、继承机制简化对象结构,构建企业全局对象结构模型。特化是泛化的逆,特化的子类继承父类的全部特征,同时具有自己的特征。
第三步,利用序列图或合作图模型化企业实体对象间的交互行为。
UML建模综合面向对象的方法,以企业体系结构为基础,是一个用例驱动的、可反复的、渐增的建模过程。它有助于改善企业信息系统的开发过程,有助于定义系统的需求,形成健壮的信息系统结构,有助于企业分布式信息系统柔性、敏捷性的实现。
UML企业模型可映射至UML分析模型。此时,用例成为子系统,业务实体成为实体类,在此基础上建立各个组织单元内部的分析模型,可采用类图、序列图或合作图、状态图、活动图,进行分析与设计。借助于软件设计模式(Design Patterns),模型可产生多种语言目标代码(如C++、Java、VisualBasic、CORBAIDL、Smalltalk、Delphi Object Pascal、Power Builder Power Script等),着名的UML 软件建模方案System Architect2001、Rational Rose2000e、iUML等都可提供代码生成器。借助于代码生成器,程序员可定制代码,并可进行逆向工程(Reverse Engineering),保持模型与代码的一致性。
采用UML进行企业建模具有如下优势。
①有助于企业所有者、企业业务人员、企业建模人员、系统分析设计人员、系统集成人员等所有参与人员在一个统一的、标准的环境下,获取、理解企业需求,并进行有效的、反复的沟通。
②企业用例视图模型中用例与活动者的封包及对象模型中类的逻辑封装支持企业建模的可集成性、敏捷性、柔性。
③UML业务模型支持企业信息系统的可循环、可渐增的大规模开发。
④支持企业间的异地分布式团队建模。
⑤实现了建模的高效率,模型可重用、可追溯,模型间转换无间隙。
13.6.2企业组件建模方法
随着企业业务的扩大、企业间协作的增加,企业所要处理的业务过程变得越来越复杂,从而导致了企业信息化过程中业务过程分析的复杂性。在实践中,复杂过程往往存在大量的可以重复使用的简单业务过程(子过程、活动),在不断变革的复杂业务过程中包含大量的相对稳定的业务子过程。如果在企业信息化过程中对这些业务子过程给予足够的重视,无疑可以极大地缩短信息化工程的实施周期,提高效率,避免重复劳动,并且有利于企业的知识管理。
有些企业建模体系框架(如CIMOSA 和ARIS)提供了支持系统功能化定义的模块组件。近年来,企业建模中组件的范围开始向上涉及至业务系统层。