首页 理论教育 信息系统建模方法的研究进展

信息系统建模方法的研究进展

时间:2023-03-04 理论教育 版权反馈
【摘要】:本文介绍了信息系统建模的相关概念、原理;梳理了信息系统研究方法的思想、方法和技术;总结了研究进展;讨论了当前的研究焦点。[1]信息系统建模的研究意义重大,属于软件工程的子学科。这种“业务/技术”的隔阂,是导致最终开发出来的信息系统不能满足用户要求的主要原因之一。信息系统模型可以充当沟通“业务/技术”隔阂的桥梁。

信息系统建模方法的研究进展[1]

代 君 钱 杨

(武汉大学信息管理学院)

【摘 要】 现代科技的发展使人们更加依赖于信息和信息系统,对信息系统的要求也日益提升,信息系统建模方法的研究也有了长足的发展。本文介绍了信息系统建模的相关概念、原理;梳理了信息系统研究方法的思想、方法和技术;总结了研究进展;讨论了当前的研究焦点。

【关键词】 信息系统 建模方法 研究进展

Review on StudyMethod of Information Systems Modeling

Daijun Qianyang

(School of Information Management in Wuhan University)

【Abstract】 With the development of modern science and technology,people rely on information and information systems more tire than ever before,and make higher level demand to information system.People have made great progress in information system modeling methods.

This article describes the concepts,principles related to information system modeling;analyses a variety of ideas,methods and techniques of the information system modeling,summarizes the progress of the study,Finally discusses the focus of study of methods of information system modeling.

【Keywords】 information systems modeling method study progress

1 引言

信息系统是利用现代信息技术构建的,处理组织中的信息、业务、管理和决策等问题,并为组织目标服务的综合系统,由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度等组成。随着技术水平和用户需求的不断提高,信息系统也越来越复杂。

现实系统的复杂性正是系统开发面临的主要难题,建模有助于减少系统的复杂度;建模使系统清晰明了,便于沟通;建模具有较坚实的理论基础,在规范性和表达力方面有较强的保证;模型能将信息系统建设各阶段有机衔接起来;建模有助于软件重用。所以,建模是信息系统生命周期中的重要环节,是连接信息系统领域管理与技术的纽带。[1]

信息系统建模的研究意义重大,属于软件工程的子学科。从20世纪60年代开始,人们对信息系统建模方法、技术等方面进行了持续、深入的探索,取得了丰富的研究成果。梳理、总结这些科研成果,不仅可以帮助研究人员清楚地认识该领域现阶段面临的主要问题和挑战,准确掌握研究的现状和趋势,还可以为实际应用提供选择依据。

2 建模的原理

2.1 建模的缘由

模型是实物、过程的表示形式,是人们认识事物的概念框架,也是用某种形式来近似地描述或模拟所研究的对象或过程。在现实生活中,人们总是自觉或不自觉地用各种各样的模型来描述一些事物或现象。地图、地球仪、玩具火车、建筑模型、昆虫标本、恐龙化石、照片等都可以看作模型,它们从某一方面反映了真实现象的特征或属性:即根据我们的目的,从真实现象中选一部分我们所关心的特征进行描述。

信息系统建模是在系统开发过程中,为理解现实问题、促进相关人员的理解和沟通、辅助设计,对某部分现实世界(一般是组织的业务管理领域)的静态特征和动态特征进行抽象描述,并映射到计算机世界的活动。

事实上,但凡复杂一点的设计活动都需要调研、画草图、建模。信息系统的设计更离不开模型。但更主要的原因是信息系统具有内隐性,这给信息系统的开发带来了极大的困难。主要体现在用户需求的内隐性与开发人员技术知识的内隐性所带来的应用需求和系统实现之间的鸿沟问题。一方面用户需求对于设计人员来讲是不可见的,是不能直观、真实把握的,关于未来的、含有不确定性的观念;另一方面是开发人员的技术知识对于用户来讲是不可见的。用户只熟悉现有的信息处理方式和过程,对于新技术的应用及其可能带来的影响不明白,不能理解在未来新的技术环境中,组织、业务、管理等活动如何开展,有哪些需求。这种“业务/技术”的隔阂,是导致最终开发出来的信息系统不能满足用户要求的主要原因之一。

信息系统模型可以充当沟通“业务/技术”隔阂的桥梁。模型以一种形式化的抽象或可操作的原型来“外显”用户的需求和设计人员的技术要求,成为开发过程中用作交流的“公共语言”。模型帮助用户和设计人员理解彼此的意图,启发用户尽可能用术语充分的表达业务需求,帮助技术员从全局把握整个系统的架构,并尽可能地从子系统及细节上接近用户的需求。一个好的信息系统模型要具有有用性、易用性和高效率。

2.2 建模的过程

信息系统建模是信息系统开发的手段。模型既是对用户需求的描述,也是系统开发人员对该需求解决方案的表达,通过模型对系统“为什么要做”,“做什么”,“如何做”等问题做出明确的规定。系统建模既有对现有信息系统的忠实描述,又有开发人员创造性的思考。

信息系统建模从需求调查开始,贯穿信息系统的整个生命周期,将领域模型、需求模型、物理模型、实现模型,进行逐层的一一映射。目前,系统建模方法主要有两个思路:一是自顶向下、逐步求精思想;二是自底向上、综合集成思想。[2]这两种思路分别适用于不同的建模场合。系统建模的过程如图1所示。

img181

图1 信息系统的建模过程

领域模型和需求模型是在信息系统需求分析阶段构建的,主要是具有一定知识结构的建模人员依据自己对建模对象的认知,利用特定的建模方法表示建模对象的过程,解决的是如何把一个客观对象的观察结果映射为概念模型和逻辑模型。领域模型是为描述现行组织系统及其组织中实体的各种业务活动所建立的模型,概括并直观地反映组织的业务目标、业务过程、业务结构和业务规划;需求模型是对信息系统合理需求的抽象描述,主要包括信息系统目标、信息系统需求结构、信息系统功能等内容。领域模型和需求模型就是沟通“业务/技术隔阂”的桥梁;

物理模型在设计阶段构建,是信息技术专家为实现用户需求而设计的技术上解决方案,用于问答“如何做?”的问题。描述信息系统体系结构、业务对象模型、功能逻辑模型、界面模型和数据库模型等内容;实现模型在实施阶段构建,是对所实现的信息系统抽象概述。在实现模型中,所实现的系统是实现模型的顶层子系统,它由多个要实现的子系统构成,实现的子系统又呈现为层次结构,在每一个实现的子系统中可以包含其他子系统,每一个子系统又由构件构成。从物理模型到实现模型主要解决技术实现问题,是概念模型向技术领域的精化,沟通了分析与设计实现之间的隔阂。

在实践中,这些系统建模活动不一定严格按照阶段顺序完成,遇到不清楚的需求问题可能要进行多次的回旋迭代。

2.3 建模的特点

信息系统建模活动具有以下特点:

①开放性:要采用现有的国家标准、国际标准或事实上的国际标准,以保证与其他的分析建模工具和设计平台的互操作。

②一体化:各阶段构建的模型要无缝结合,信息系统模型注重图形的规范和语言规约。

③易用性:即要易于用户理解。所以要有一种较好的层次化、可视化的建模方法和语言作为各领域专家建模和交流的基础,最好能屏蔽设计与实现的细节。

④可重用性:能重用已经设计好的系统组件、系统结构、场景以及建模的过程。

⑤多领域的协同:一方面,大量的业务逻辑和业务过程需要建模,涉及业务逻辑和业务过程的领域专家;另一方面,系统设计建模也需要各类信息技术专家的协同。[2]

3 传统的建模方法

信息系统建模方法是信息系统建模的一项重要内容,受到人们的重视,各种方法层出不穷[3]。信息系统建模方法属于非解析方法,取决于建模人员的认知方法和描述形式。信息系统的建模理论有系统论、信息论、符号学、计算机科学和管理科学等。

传统的建模理念就是抓住问题领域的核心要素,以某种认知方法来对现实系统进行透视,得到不同侧面的视图,映射为系统的模型。

薛华成将人类分析事物的认知方法体系总结为6种:系统分析法、功能分析法、数据流程法、信息模拟法、抽象对象法、模拟渐进法[4]

Adrian Specker认为信息系统的建模从两个维度上进行,一个维度是系统分析;另一个维度是视图分析。[5]系统分析有黑盒分析和层析分析两种方法;视图分析包括面向流程的方法,面向功能的方法,面向对象的方法和面向任务的建模方法。Adrian Specker还进一步给出了汇总建模方法的建模矩阵。

张玉峰依据对象的不同属性将信息系统建模方法归为对象建模方法、功能建模方法、事件建模方法三类,并给出了由透视维、属性维和类维构成的广义建模框架。[6]

张维明将信息系统建模方法分为面向需求分析的建模方法、面向对象的建模方法和面向数据的建模方法。[2]

李清将建模方法分为面向功能的建模,面向数据的建模,面向过程的建模,面向对象的建模。[7]

夏安邦将信息系统建模方法归结为信息建模、功能建模、流程建模、信息系统的规划与设计建模。[8]

徐延峰将建模分为功能模型,业务模型,数据模型。

以上研究成果不仅表明了信息系统建模的核心方法,而且说明信息系统建模的透视角度经历了由单一视图向综合视图的发展过程。可以结合建模技术进一步梳理如下:

3.1 面向功能的信息系统建模

面向功能的建模方法是与面向功能的信息系统开发方法相对应的建模方法,是20世纪80年代,在程序化和面向模块的编程语言(Pasical语言、C语言)出现的同时开始应用的,是一种通过对信息系统功能进行深入分析,分层地建立信息系统模型的方法。其指导思想是将问题分解为子问题,使之易理解、易解决。[6]这种建模方法建立的模型与信息系统的需求、设计、实现等开发工作相对应,包括逻辑模型、物理模型和实现模型等。

功能建模主要采用数据流图、IDEF0等建模技术。

数据流图(Data Flow Diagram,DFD)是一种系统结构化分析与设计的图形建模技术,由Douglas Rose提出。采用自顶向下、逐层进行系统功能分解的方法来定义系统的需求,形成系统逻辑模型。适用于分析大型的数据处理系统。

数据流图回答了系统是什么的问题,也就是从数据处理和传递的角度,描述了功能活动之间的数据输入、输出、存取的关系,分层表示信息流和功能的细节,既提供了功能建模的机制,又提供了信息流建模的机制。[13]完整的数据流分析包括:数据流图;数据字典;进程说明书。

在建立DFD时,采用自顶向下的分析方法,首先用少数几个高度概括、抽象的处理过程描述系统的逻辑功能、数据流程及其外界的数据交换。然后分别对其中的每个处理过程进行分解,建立下一层的数据流图。这个过程是一个逐步求精的抽象过程。

可以认为:DFD图=数据流+数据处理+数据存储+外部项。[9]

DFD具有以下基本特点:

(1)支持系统的需求分析和原理设计阶段的建模;

(2)是一种带注释的图标技术;

(3)表达的是活动/进程的网络;

(4)支持同步和异步的行为;

(5)通过活动的层次分解而实现模型的逐步精细化。

3.2 面向数据的信息系统建模

面向数据的信息系统建模方法把系统的数据来源、存储和去向看成是最为重要的。它是与面向数据的信息系统开发方法相对应的建模方法。在信息系统中,数据模型非常重要,它是整个系统的核心。大量的企业事务信息系统就是对数据的录入、处理、传输与查询等操作。

面向数据建模是把着眼点放到信息系统所处理的数据上面,通过对信息系统所处理的数据及其数据结构的分析,来导出过程模块[10],确定出信息系统的需求和软件结构。比较有影响力的面向数据的建模方法是JSD方法所规定的一整套建模方法。该建模方法分为需求、分析和设计三个阶段,需求阶段通过对实体活动和实体结构的分析建立实体结构图,设计阶段需要在实体分析的基础上确定出系统的功能和加工处理时序,从而得出系统的程序结构图。

面向数据的信息系统建模一般使用实体关系图(E-R图)和IDEFX1数据建模技术。

(1)E-R图

实体关系图(Entity Relationship Diagram,E-R图)是最常用的数据建模技术,它使用实体及其关系来描述数据。数据模型有时候又被称为数据库模型或信息模型。

实体关系图非常容易使用,设计的逻辑观念很自然,所讨论的范畴只有3个,一个是实体(entity),一个是属性(attribute),另一个是实体之间的关系(relationship),产生的设计图只有一张,另外用基本表和外键关系图来补充。

ERD的画法很容易,与功能建模不同,没有所谓层次分解的概念,图内只有实体、属性以及实体之间的关系,设计出来的实体对应数据库中的基本表(base table),属性对应表格内的字段(field),以记录来存储每一笔业务数据。在实体关系图完成后经过规范化(normalization)检验,然后整理出各个基本表内的每个字段的格式、数据类型、限制条件、默认值等,以及用外键关系图来表示各个基本表之间的字段关联进行建立数据库的工作。

可以认为:E-R图=实体+属性+关系+(事件)+(操作)。[9]

E-R图是数据建模的一个主要技术,旨在分析组织中的数据,主要是从面向数据的角度来理解问题域。在E-R图中可以包含事件和操作,它们的主要目的是提供一种检查机制,确保这个实体模型支持那些使用这些实体模型的功能。

在结构化开发方法中,常常将数据流图与实体关系图结合起来使用。

(2)IDEF方法

IDEF的含义是集成计算机辅助制造(Integrated Computer-Aided Manufacturing,ICAM Definition)。最初的IDEF方法是在美国空军ICAM项目建立的,最初开发了3种方法:功能建模(IDEF0)、信息建模(IDEF1)、动态建模(IDEF2),后来又开发出了下列IDEF族方法:数据建模(IDEF1X)、过程描述获取方法(IDEF3)、面向对象的设计(OO设计)方法(IDEF4)、使用C++语言的OO设计方法(IDEF4C++)、实体描述获取方法(IDEF5)、设计理论(rationale)获取方法(IDEF6)、人-系统交互设计方法(IDEF8)、业务约束发现方法(IDEF9)、网络设计方法(IDEF14)等。根据用途,可以把IDEF族方法分成两类:[11]

第一类IDEF方法的作用是沟通系统集成人员之间的信息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。IDEF0通过对功能的分解、功能之间关系的分类(如按照输入、输出、控制和机制分类)来描述系统功能。IDEF1用来描述企业运作过程中的重要信息。IDEF3支持系统用户视图的结构化描述。IDEF5用来采集事实和获取知识。

第二类IDEF方法的重点是系统开发过程中的设计部分。目前有两种IDEF设计方法:IDEF1X和IDEF4。IDEF1X可以辅助语义数据模型的设计。IDEF4可以产生面向对象实现方法所需的高质量的设计产品。

IDEF1方法的作用是在需求分析时对所建系统的信息资源进行分析和交流。IDEF1通常用来:确定组织中当前管理的是什么信息,对需求分析过程中发现的问题确定哪些是由于缺乏合适的信息引起的,指定在TO-BE实施中哪些信息需要管理。从IDEF1的角度看信息系统,它不但包括自动化系统的成分,也包括非自动化的成分,如人员,文件柜,电话等。与数据库设计方法不同,IDEF1是分析以下企业信息的采集、存储和管理问题,信息的管理规则问题,企业内信息之间的逻辑关系问题,缺乏良好的信息管理导致问题的一种方法。

IDEF1使用简单的图形约定来表达复杂的规则集合。这些规则有助于建模者区分现实世界的对象、现实世界对象之间的物理或抽象的联系、现实世界对象的信息管理和用来表示信息的需求、应用和管理的数据结构。IDEF1的目标之一就是为信息分析提供一个结构化的、规程化的方法。IDEF1可以减少建模过程中的不完整性、不精确性、不一致性和不准确性。IDEF1是描述企业信息需求的一个有效方法。IDEF1建模奠定了数据库设计基础,给出了信息结构定义,提供了反映基本信息需求的需求说明。IDEF1使用规程化的、结构化的技术以找出一个组织所使用的信息和业务规则。IDEF1要求信息用户积极参与,使用户认真思考信息如何使用和管理。最后,信息模型在企业的整个生命周期均有用的。

3.3 面向过程(事件)的信息系统建模

面向过程的建模方法是把过程看作系统模型的基本部分,数据是随着过程而产生的。最有影响的面向过程的设计方法是Yourdon设计法。

面向过程的信息系统建模要建立动态事件模型。事件模型描述与时间和变化有关的系统性质,如系统控制、交互活动等。该类模型用于相互作用的系统,表达系统的控制结构。事件建模是对业务活动中可能发生的事件及与事件相关的功能、对象之间的关系进行模型化,使用IDEF3状态图等作为建模方法。状态图反映事件与状态的关系。图中的节点表示对象的状态,状态控制的活动在节点内表示。连接节点的弧表示状态的转换,上面标记着引起转换的事件及有关动作(瞬时操作)。

事件建模的首要工作是识别和确定所有外部事件,包括来自或发往用户、外部设备的信号、输入、中断、转换和动作等。建模者常从交互行为的脚本(系统某一执行期间内出现的事件序列)中抽取事件,并将那些对控制流具有相同效果的事件组合为事件类,同时识别发送和接受这些事件类的动作对象。其次,围绕具有重要交互行为的动作对象构造状态图。选择一种典型的交互,连接一条路径,将相关的事件放入路径。路径上的弧表示状态的转换,用引起转换的输入输出事件来标记路径上的节点表示状态,状态控制的活动在节点内表示。该路径反映有关的动作与活动(即功能)的执行顺序。大型信息系统的事件模型由嵌套的状态图组成,顶层图中的活动与事件可以扩展为下一层状态图。[6]

(1)IDEF3

IDEF3是一种为获取对过程的准确描述所用的方法,提供一套结构化的规程,把一个领域专家对其熟悉的过程或系统的运行知识准确地描述清楚。IDEF3是IDEF家族中的一员,也是一种单一目的的建模方法。应用一些基本图形和一些描述性的表格,就可以把领域专家对这一过程的了解比较确切地描述清楚。

面向过程的信息系统建模除了使用IDEF3相应方法还有一个典型的工具就是Petri网,Petri网在表现对象的内部行为,特别是复杂行为及多个行为和多个行为之间需要协调时是一种非常好的行为建模手段。

IDEF3为收集和记录过程提供了一种机制。IDEF3以自然的方式记录状态和事件之间的优先和因果关系,办法是为表达一个系统、过程或组织如何工作的知识提供一种结构化的方法。IDEF3可以:记录在调研过程中产生的原始数据;确定信息资源在企业的主要业务流程中的作用;记录决策过程,特别是关于制造、工程和维修的产品定义数据的决策过程;管理数据配置和更改控制策略定义;进行系统设计和分析;提供模拟模型。

IDEF3描述现有系统或建议系统的行为方面内容。IDEF3作为描述系统直觉知识的工具,获取的过程知识是结构化的。IDEF3还记录了所有时间性的信息,包括与企业处理过程相关的优先和因果关系。IDEF3描述的结果是为分析和设计模型提供一个结构化的知识库。与构造预测性的数据模型的模拟语言(如SIMAN,SLAM,GPSS,WITNESS)不同,IDEF3构造一个结构化的描述。这些描述获取关于系统实际运作什么或将要做什么,同时提供该系统的不同用户的视图表示。

IDEF3有两种描述方式:过程流和对象状态转变网络。IDEF3过程流描述过程以及过程之间的关系网络,描述“如何做”的知识,如描述一个部位在制造过程中发生的情况。这些过程间的关系是在整个业务流程中产生的,描述的目的是说明事物是如何运作的。

(2)Petri网

Petri网是由德国的Carl Adam Petri在1962年提出的,后来由Peterson加以阐述。它是一种适用于多种系统的图形化、数学化建模工具,为描述和研究具有并行、异步、分布式和随机性等特征的系统提供了强有力的手段。[12]

作为一种图形化工具,可以把Petri网看作与DFD相似的沟通辅助方法。作为一种数学化工具,它可以建立状态方程、代数方程和其他描述系统行为的数学模型。Petri网的基本术语包括:

①库所(place)资源按其在系统中的作用分类,每一类存放一处,则该处抽象为一个库所,又称P元素。

②变迁(transition)资源的消耗、使用及产生对应于库所的变化,又称T元素。

③有向弧(connection)是库所和变迁之间的有向弧。

④令牌(token)令牌代表系统发生变化时与系统状态有关的因素,包括物料、人员、设备、数据及信息等。是库所中的动态对象,可以从一个库所转移到另一个库所。

Petri网的主要功能是为各种与并行系统有关的特性和问题提供分析方法。利用Petri网模型可以研究两类特性:依赖于初始状态和独立于初始状态的特性。前者是指状态行为特性,后者是指状态结构特性。Petri网可以分析的状态行为特性有可达性、有界性、活性、可逆性、包容性和持续性等。

Petri网系统是一个封闭的网系统,对外没有明确的输入和输出,其动态行为是由内部状态的各种可能变化以及这些变化间的关系刻画的。在实际应用中,Petri网系统节点会很多,而状态间的状态数随着节点的增加而呈指数关系增长,使得对复杂系统的分析变得困难。

Petri网是一种可以用网状图形表示的系统模型。Petri网可以由库所(place),变迁(transition)和联结库所和变迁所有向弧(arc)组成的一个四元组来刻画:Σ=(P,T,F,M0),这里P={p1,p2,…,pm}称为库所集;T={t1,t2,…,tn}称为变迁集;且有P∩T=Φ,P∪T≠Φ;F=(P×T)∪(T×P)称为流关系;M0称为网的初始标识。

3.4 面向对象的信息系统建模

20世纪90年代,面向对象的方法被广泛应用。面向对象的信息系统建模方法是与面向对象的信息系统开发方法相对应的建模方法。该方法的基本思想是采用与人的思维方式相一致的,直接面向客观事物,面向所要解决的需求问题,并用一套对象、类、继承、消息等机制开发信息系统的系统化方法。该方法要求在信息系统开发过程中通过用例图、类图、活动图、顺序图、状态图、构件图和配置图等图形建立信息系统的需求、设计、实现等模型。

20世纪80年代随着面向对象的事项应用到分析领域,出现了面向对象的分析方法,这种方法主要的特点是从对象的角度进行问题域分析,把问题域看成是由一系列对象以一定的关系构成的,通过构建一个对象模型来反映这些对象和对象之间的关系,从而把问题空间映射到对象模型。不同人根据对面向对象思想的不同理解,提出了不同建模技术,比较著名的有Coad & Yourdon提出的OOA/OOD、Rumbaugh提出的OMT和UML(标准建模语言)等。[9]

对象模型描述问题领域的客观对象或对象类及其相互关系,是信息系统较稳定的、较全局性的基础或框架。对象建模由系统建模者、业务部门的管理者与用户一起参加,通过对业务问题进行反复深入的认识分析来实现。建模者对问题的有关描述及相关资料进行文本分析,反复访问用户、管理者及专家,仔细考察业务环境等,以获取建模所需的信息,然后应用抽象思维方法构造对象模型。

面向对象建模包括以下两个步骤:

①标识对象及其关系与属性。建模者从问题描述与有关知识或实际业务环境中,识别所有可能的对象、关系与属性,然后与用户一起分析判别,去掉不必要的和不正确的信息,确定与问题求解有关的主要信息。

一般来说,客观世界中的对象和概念是用名词来表达的,可通过名词来识别对象,如能独立存在的相似事物的集合以及关于这些事物的描述信息等。

属性是对象所具有的性质,提供关于对象的信息。属性常用修饰性名词词组和枚举类型的形容词描述,或者是不能独立存在的事物或概念。建模者只需识别那些与问题直接相关的重要属性。

对象之间存在各种相互关系,常用描述性动词与词组表示,例如物理相邻关系、通信关系、包含关系等。关系常涉及两个或多个对象,应尽量将多元关系分解为二元关系。

②构造继承层次结构。当建模者标识了对象、关系与属性之后,就可在此基础上,应用抽象思维方法,识别对象之间的继承关系、等级关系并建立继承层次结构。对象之间的继承关系包括包含关系,指集合包含和概念包含关系上下位类关系,是上位类(父类)与下位类(子类)、类与实例之间的关系。

目前面向对象建模的思想应用非常广泛,其主要工具就是统一建模语言UML,还有IDEF4方法。而从哲学领域中引入的本体的概念也成为面向对象建模一种新的方法和辅助的工具。

(1)UML

在信息系统开发以及软件工程领域,统一建模语言(Unified Modeling Language,UML)具有广泛的影响。它是一种直观化、明确化、结构化和文档化软件系统产物的通用可视化建模语言,从企业信息系统到基于Web的分布式应用,甚至严格的实时嵌入式系统都适合用UML来建模。它是一种富有表达力的语言,可以描述开发所需要的各种视图,并以此为基础组建系统。像任何语言一样,UML提供了用于交流的词汇表及其组词规则,说明如何创建或理解结构良好的模型,但它并没有说明在什么时候创建什么样的模型。[13][14]

软件开发的难点在于项目参与人员之间的沟通和交流,领域专家、软件设计开发人员、客户等各自使用不同的语言交流,对系统的概念模型容易产生错误的理解。UML提供一组具有明确语义的图形符号,可以建立清晰的模型便于交流,同时所有开发人员都可以无歧义的解释这个模型。

UML为所有重要的分析、设计和实现决策提供了精确的、无歧义的和完整的描述。

UML不是一种可视化的编程语言,但它所描述的模型可以映射成不同的编程语言,如JAVA、C++和Visual Basic等。这种映射可以进行正向工程(从UML模型到编程语言的代码生成),也可以进行逆向工程(有编程语言代码重新构造UML模型)。

UML不是过程,也不是方法,但允许任何一种过程和方法使用它。它可以建立系统体系结构及其详细文档,提供描述需求和用于测试的语言,同时可以对项目计划和发布管理的活动进行建模。

如图2所示UML中包含用例图(use case diagram)、类图(class diagram)、对象图(object diagram)、状态图(state chart diagram)、顺序图(sequence diagram)、协作图(collaboration diagram)、活动图(activity diagram)、构件图(component diagram)、部署图(deployment diagram)等图。对整个系统而言,其功能由用例图描述,静态结构由类图和对象图描述,动态行为由状态图、顺序图、协作图和活动图描述,而物理架构则是由构件图和部署图描述。

img182

图2 UML

(2)IDEF4

在美国空军Armstrong实验室倡导下开发的IDEF4方法可以应用于使用面向对象技术的应用中。IDEF4是由专业的面向对象的设计人员和编程人员开发的,选择IDEF4方法的最重要的原因是它把面向对象的设计看作是大系统开发框架的一部分,而不是把面向对象的设计和分析相隔离。IDEF4强调在面向对象的设计过程中图形化语法,使用图形化语法和图示有助于对重要的设计事件进行集中和交流。

IDEF4与其他对象设计方法有明显的区别,最主要的是它支持“最小委托(leastcommitment)”策略,支持在类继承、对象组成、功能分解和多态方面的设计评估。

IDEF4把面向对象的设计活动划分成离散的、可管理的大块。每个子活动由一个强调设计决策的图形化语法支持。IDEF4方法很容易让设计者在设计类继承、类组成、功能分解和多态之间作平衡。IDEF4更是一个图形化的语法,它为运用和发展面向对象的设计提供了一个一致的框架,而这一设计最终是由类不变数据清单和方法集约定描述的。

一个IDEF4模型由两个子模型组成:类子模型和方法子模型。两个子模型通过一个调度映射连接。这两个结构描述设计模型中的所有信息。

类子模型由下列类型的图示组成:①定义类继承关系的继承图示;②定义类组合的类型图示;③定义方法调用规约的规约图示;④描述对象例示流程的例示图示,这些例示流程有助于设计者对设计进行核查。

方法子模型由下列两个图示类组成:①按照行为相似性区分方法类型的方法分类学图示和②为功能分解,说明方法的客户和提供者的客户图示。

其他几种方法[16][9]

①Coad & Yourdon的OOA/OOD方法(以下简称C&Y方法)

可以认为:C&Y方法=对象(包括属性和服务)+对象之间的结构+连接(包括消息连接和实例连接)+主题。

C&Y方法是最早的面向对象的分析和设计方法之一,它简单、易学,适合于面向对象技术的初学者使用,但由于该方法在处理能力方面的局限,在实际中的使用比较少。它通过五个步骤:标识对象;标识结构;定义主题;定义属性;定义服务把问题域映射到对象模型。

②OMT方法

Rumbaugh提出了一种对象建模技术,它通过建立三种模型来描述问题空间,这三种模型是对象模型、功能模型和动态模型。

可以认为:对象模型=对象、类+链和关联+继承。

在建立动态模型时,Rumbaugh提出了五个步骤:首先为典型的交互序列准备脚本,然后标识对象之间的事件;为每个脚本编写事件跟踪图;根据脚本的事件跟踪图,建立状态流图;最后在对象之间进行事件匹配。状态流图就是最后建立的动态模型。在这个过程中采用了脚本、事件类、事件跟踪和事件流等概念。

在建立功能模型时主要采用了一个改进的数据流图来表示系统和对象的功能。

(3)本体

在当今Web2.0的环境下,信息系统正在从独立事务处理向进行多系统间的知识共享、事务协作处理和互操作转变,信息系统的功能和结构的复杂程度不断提高,尤其是对语义的识别和对语义网适应的要求日益凸显。本体论在知识工程和人工智能领域的成功,启发了信息系统的开发者,通过将本体论引入信息系统建模来克服现有建模方法的局限。将本体引入信息系统建模中,可以更好的消除语义差异,实现不同系统间的知识共享和互操作,这是未来建模技术的发展方向和趋势。目前,本体模型的研究已经进入实际应用阶段。许多研究领域目前都建立了自己标准的本体,Web上有许多可重用的本体资源库,这使得诸多领域专家能够使用它们来共享和评注领域中的信息。

实体论历史上起源于形而上学这一哲学分支,主要研究客观世界的本质。传统的实体论研究目的是将客观世界进行分割以发现其基本组成成分。自然科学提供了关于实体论研究的一个极好范例。例如,原子物理学将现实世界的物质作了最基本的分类(如质子、电子、中子),生物科学将地球上各种生物进行分类描述。

本体论是研究实体存在性和存在本质等方面的通用理论,其研究对象是实体的存在性和存在的本质,并且所研究的实体存在本质上不依附于任何语言。因此,本体可以帮助我们从概念上抽象地描述信息系统模型,提高信息系统模型的可重用性,同时能够实现各信息系统之间的知识(或资源)共享和语义互操作。从已有的研究工作成果来看,在信息系统建模中本体的功能体现在以下3个方面。[17]

(1)通信。这里主要是指人与人之间的通信,强调无二意性的本体,对本体的形式化程度要求可以不高。

(2)互操作。指系统之间的互操作,即不同模型方法、不同范例、不同语言和不同软件工具的相互转换。为此而建立的本体用于作为系统之间的交换格式。

(3)在系统工程领域的应用。主要表现在:①可重用性:本体可作为相关领域中重要实体、属性、进程及其相互关系的一种形式化的编码。这个形式化的表示可以成为软件系统中一种可重用的或可共享的组件。②知识获取:在建立知识系统时,用一个相关的本体作为出发点去引导知识的获取,将加快知识获取的进程,提高所获取知识的可靠性。③可靠性:形式化的表示有利于软件一致化的自动检查,从而产生更可靠的软件。④软件需求规格说明:本体可以用来辅助需求的确定,并为信息系统定义规格说明。

信息系统建模中要求本体能够清晰、准确并且简洁地描述现实世界中所有事物的关系和属性,并且这种描述应该具有普遍性和通用性。本体的分类明确了不同本体之间的区别与联系,目前尚没有统一规范的本体分类方法,我们根据信息系统建模中本体描述对象和功能的不同,将本体分为3个层次。

第一层次是表示本体。提供用于信息系统建模的描述框架,不规定描述对象,定义了框架、槽的概念,用以规范描述。

第二层次包括领域本体和任务本体。领域本体:描述领域知识,依据表示本体规定的描述框架和用户的实际需求。它集聚了某一领域的概念实体及其定义与关联。任务本体:任务本体主要研究可共享的与领域无关的问题求解方法,定义通用任务和推理活动,如诊断等。它们都可以引用顶层本体中定义的词汇来描述自己的词汇;任务本体主要涉及动态知识,而不是静态知识。

第三层次是应用本体。按照实现功能分为角色——对象本体、业务流本体和事务处理本体。角色——对象本体用来描述信息系统的结构及传递的各种信息;业务流本体用来描述各种内部功能与外部功能之间的工作流与业务流;而事务处理本体是与特定的工作流环节相关的行为或者决策方法。这样的信息系统描述和功能划分方法,有助于对特定的功能或者问题单独建模,相互之间不会影响,提高信息系统模型的适应性和敏捷性,使结构与功能独立开来,适合于信息系统的快速构建和可重用性。

领域本体和任务本体是信息系统模型的基础,它们的构建是否成功直接影响着系统模型的成败。我们之所以在系统建模领域研究中应用领域本体和任务本体,是因为它们具有以下突出的特点。①可以在不同的建模方法、范式、语言和软件工具之间进行翻译和映射,以实现不同系统之间的互操作和继承;②适合表示抽象的描述;③可以为信息系统模型的构建提供一个基本的结构;④提供的是一个严谨丰富的理论,而不单单是一个存放数据的结构。

3.5 传统建模方法的应用困境

传统信息系统建模方法主要是从不同侧面去分析系统,识别系统的组成部分,建立局部模型,然后再组合起来,还原系统的整体面貌。这种方法将系统组成部分之间的关系都简化为线性联系。但大多数管理系统的系统要素之间都是非线性的复杂联系,对于这类复杂系统,通过分解-还原的方法并不能完全掌握系统整体特性,需要借助针对复杂系统的建模方法。

4 复杂系统及其建模方法

4.1 复杂系统的概念

“复杂系统”这一术语于1999年4月2日正式出现在美国《科学》(Science)杂志出版的《复杂系统》专辑上,编者Richard Callagher和Tim Appence对“复杂系统”做了简单的描述:通过对一个系统的分量部分(子系统)的了解,不能对系统的性质做出完全的解释,这样的系统称为复杂的系统。就是说系统的整体性质不等于部分性质之和。导致复杂性的原因是系统内部元素众多,并且元素间相互作用,关系复杂。如果一个系统内部元素众多,但元素间关系单一,这样的系统并不构成复杂系统。

目前关于复杂性的定义很多,《大英百科全书》定义的复杂特性有以下几点:多连通性、不稳定性、自组织性、非集中控制、涌现性、混沌性;清华大学王正中教授把复杂系统的特点概括为[18]:复杂系统往往具有病态定义的特征,即很难以一种数学形式来对它进行定义及定量分析,并且很难从空间和时间上加以分割很难确定系统的边界和水平;国防科技大学瞿继权博士和戴金海教授则认为:复杂系统是由多种类型的子系统组合而成的混合系统,包括连续系统和离散系统、非实时系统和实时系统等[19];中国科技大学朱六章先生认为:复杂系统通常具有系统结构的多层次性,子系统模型的多样性相互关联的复杂性,目标的多重性,信息的不确定性,以及由此确定的处理方法的多途径特征[20];我国的著名科学家钱学森先生把复杂系统的性质概括为:开放性、复杂性、层次性。[21]这些学者认为复杂系统的特点是:高阶次、多回路、非线性、多时标、层次性、开放性、不确定性、病态结构等。

粗略地说,复杂性表现为一种众多因素相互作用的状态,复杂性并不体现于个体,而是群体的相互作用;不在要素层,而是系统层上。也就是说复杂并不体现为数目的多少,而是“关系”的多少。信息系统建模面对的也是复杂的关系系统。[22]

4.2 复杂系统的建模方法

复杂系统建模方法主要以复杂适应性理论、自组织理论、网络理论、软件行为学、定性理论、云理论等为理论基础。有神经网络建模方法,基于Agent的建模方法,基于CGP的建模方法,基于Petri网的建模方法,任务/资源图建模方法,非线性动力系统建模方法,综合集成建模法,基于云理论的建模方法等。

(1)基于Agent的建模

复杂适应系统理论认为适应性造就复杂性[24]。它以Agent为核心概念,以Agent为复杂系统的构件[25][26],通过规定主体行为的规范,对复杂系统中的基本元素及基本元素之间的交互进行建模与仿真,将复杂系统的微观行为和宏观涌现现象有机地结合到一起,是一种自顶向下分析、自底向上综合的建模方式,为复杂系统的研究提供了一个有效的途径。

目前,基于Agent的建模与仿真主要依赖于面向对象的编程技术,每个自主Agent(包括环境)都被视为由变量和方法组成的对象。这样,使得基于Agent的建模与仿真方法具有良好的动态性、高度的灵活性和重用性,在仿真过程中,Agent与相应的仿真实体、操纵人员都能够方便地进行交互,而且还可以根据仿真要求灵活地增减实体。

Agent技术最早于20世纪70年代出现在人工智能领域,其最大的特点是具有一定的智能及良好的灵活性,特别适合于对复杂、分布和难于预测问题的处理。在软件开发领域,Agent思想首先被应用于程序设计,以后逐渐发展到系统分析与设计,其中基于Agent的程序设计被认为是“软件发展的下一个重大的突破”和“新软件革命”。基于Agent的系统工程方法也是多种多样。[27]

根据目前广为认可的Woodridge & Jennings的Agent定义,Agent具有如下特性:

①自治性:Agent运行时不直接由人或物控制,它对它们自己的行为和内部状态有一定的控制权;

②社会性:Agent能与其他Agent进行信息交换;

③反应性:即对环境的感知和影响;

④预动性:Agent感知周围环境的变化,并作出基于目标的行为。

Agent适合于描述具有下列特征的系统:

①成员自然分布、主体自治、地理位置分散、数据分布;

②成员间有灵活性交互需求;

③处于变化的环境。

显然,现代企业信息系统就属于这一类系统,适合使用Agent模型描述。

(2)基于petri网的建模方法

上文关于传统信息系统建模的方法技术中已经提到过,因为Petri网可以综合使用“自上而下”和“自下而上”的分析方法,因而它有可能用于那些系统行为已知或是容易证实的复杂系统的建模和分析。Petri网作为用来描述复杂系统行为的图形化工具,不同于其他的图形化系统描述工具(如流程图、逻辑树),它可以表示系统中的并行、同步、冲突和因果依赖等关系[28]

使用Petri网对信息系统建模有几个优势:由于它的图形表达方式的自然性和准确性,使得系统模型看起来直观且易理解;Petri网有坚实的理论基础。Petri网理论提供了各种分析工具如可达图、标识树、不变量等,可以很方便地对系统的行为特性进行定量分析,并可以在网络结构和系统的行为之间建立一定的关联。[29]

(3)基于云理论的复杂信息系统建模

云计算是分布式处理、并行处理、网格计算、网络存储和大型数据中心的进一步发展和商业实现。其基本原理是,用户所需的应用程序并不需要运行在用户的个人电脑等终端设备上,而是运行在互联网的大规模服务器集群中。用户所处理的数据也并不存储在本地,而是保存在互联网的数据中心里面。这些数据中心正常运转的管理和维护则由提供云计算服务的企业负责,并由他们来保证足够强的计算能力和足够大的存储空间来供用户使用。在任何时间和任何地点,用户都可以任意连接至互联网的终端设备。因此,无论是企业还是个人,都能在云上实现随需随用。同时,用户终端的功能将会被大大简化,而诸多复杂的功能都将转移到终端背后的网络上去完成。[30][31]

在云计算的环境下,信息系统将会有前所未有的规模和复杂性,针对这种信息高度集中与共享的环境,复杂的信息系统建模也有其相应的特点与方法,如更侧重于知识的共享与软硬件的服务等。在云理论下,信息系统建模更考虑到系统对使用者的透明性以及系统的兼容性与稳定性。

自从云计算的概念被提出后,云计算已经成为计算机科学领域及网络领域的热点话题,并引发了一系列的探索和变革。云计算的技术已经比较成熟,并且已经有了切实的、成功的实践。云环境必将成为今后一段时间内的主导。云计算的出现,将使我们从一个以桌面系统为中心的应用模型向新的以网络为中心的应用模型转变。云计算带来的改变,不仅是人类对计算机使用方式的改变,还必将从根本上改变人们获取信息、保存信息及交流信息的方式,从而对信息系统的要求也会产生巨大影响。基于云环境的复杂信息系统建模也会是发展趋势之一。[32][33][34]

5 研究焦点

信息系统建模方法的研究发展至今,需求不确定问题和系统复杂性问题依然是研究的难点,领域模型的构建和复杂系统建模一直为人们所关注。

领域模型的构建方法层出不穷,除了前面介绍的方法外,还有基于业务构件、基于符号学建模的新理念,概念模型构建方法的评价也是有待研究的问题;复杂系统建模研究集中在两个方面,一是系统复杂关系的处理问题,另一方面是复杂范式信息系统的设计理念。

【参考文献】

[1]陈国清,[德]雷凯.信息系统的组织.管理.建模[M].北京:清华大学出版社,2002.7:76.

[2]张维明,刘忠,肖卫东.信息系统建模[M].北京:电子工业出版社,2002.3:25-26.

[3]孙凡.信息系统概念建模方法绩效评价的研究[J].计算机系统应用.2009(4):14-17.

[4]薛华成.管理信息系统[M].北京:清华大学出版社,2007.

[5]Adrian Specker.信息系统建模信息项目实施方法手册[M].清华大学出版社,2007.

[6]张玉峰.现代信息系统建模方法研究[J].武汉大学学报:哲学社会科学版,1995(2).

[7]李清,陈禹六.企业与信息系统建模分析[M].北京:高等教育出版社,2007.

[8]夏安邦.系统建模理论与方法[M].北京:机械工业出版社,2008.

[9]许琥.信息系统建模技术的分类与比较[J].计算机与现代化,1999,66(5):57-64.

[10]施毅.基于顶层本体的电子对抗领域本体构建方法[J].计算机工程,2008(11).

[11]http://www.soft6.com/tech/4/46627.html[EB/OL].

[12]Petri网方法[EB/OL].http://old.blog.edu.cn/user2/49963/archives/2006/1083225.shtml.

[13]廖忠明.基于UML的管理信息系统建模分析[D].济南:山东师范大学硕士学位论文,2008.

[14]王永红,吴小香.信息系统建模技术UML综述[J].2004(5).

[15]http://www.ithome-cn.net/technology/mis/mis41.htm[EB/OL].

[16]王育平,林萍.信息系统建模方法综述[J].北京市经济管理干部学院学报(争鸣与探讨),2001(12).

[17]唐晓波,韦贞,徐蕾.基于本体的信息系统建模方法[J].情报科学,2008,26(3).

[18]王正中.编后记:关于复杂系统仿真方法的研究[J].系统仿真学报,2002,12(6):577.

[19]瞿继权,戴金海.复杂离散实时系统任务/资源图建模方法研究[J].系统仿真学报,2000,12(6):600-603.

[20]朱六章,陈宗海.复杂系统的定性建模和定性控制综述[J].信息与控制,2001,30(3):234-239.

[21]钱学森,于景元,戴汝为.一个科学新领域——开放的复杂巨系统及其方法论[J].自然,1990(1):3-10.

[22]许国志.系统科学与工程研究[M].第2版.上海:上海科技教育出版社,2001.

[23]陈森发.复杂系统建模理论[M].南京:东南大学出版社,2005.

[24]霍兰·约翰.隐秩序——适应性造就复杂性[M].周晓牧,等译.上海:上海科技教育出版社,2001.

[25]Bigus Joseph,P.,Jenniger Bigus.Constructing Intelligent Agents with Java[M].New York:John Wiley & Sons,Inc,1998.

[26]Simulation Interoperability Standards Committee(SISC)of the IEEE Computer Society[C].IEEE standard for Modeling and Simulation(M&S)High Level Architecture(HLA).2000.http://www.ieee.org.

[27]周三元.面向Agent的企业信息系统建模方法[J].导弹与航天运载技术,2003(2).

[28]陈艳霞,陈振.Petri网在复杂系统建模中的意义[J].太原科技,2009(10).

[29]王景光,甘仞初.基于Petri网的信息系统建模[J].中国管理科学,2000,8(2).

[30]李英明,赖明.工程地震动模型化研究综述及展望(Ⅰ)[J].重庆建筑大学学报,1998,20(2):73-80.

[31]Kanai.Semi-empirical Formula for the Seismic Characteristics of Ground[A].Bull.Earthquake Research.Inst.Japan:Tokyo University,1957,35:306-325.

[32]游文霞,王先甲.StarLogo在基于agent复杂系统建模与仿真中的应用[J].武汉大学学报:工学版,2006(6).

[33]LIU Kecheng.Semiotics in Information Systems Engineering[M].London:Cambridge University Press,2000.

[34]吴菊华,孙德福,甘仞初.基于组织符号学的企业模型框架研究[J].计算机应用研究,2009(1).

【作者简介】

img183

代君,女,1969年生,武汉大学信息管理与信息系统系副教授,发表论文和学术著作20余篇,主持、参与科研项目多项,讲授管理信息系统和信息系统项目管理等课程,研究兴趣是管理信息系统和信息资源管理等领域。

钱杨,女,武汉大学情报学2009级研究生。

【注释】

[1]本文系武汉大学以下同论自主科研项目“跨流域调水工程水资源集成管理理论与方法研究”(批准号5081009)、武汉大学社科青年项目“基于供应链的跨流域调水工程协调机制研究”(批准号08QNXM40)的研究成果之一。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈