高 琳,段国林
(河北工业大学 机械工程学院,天津 300130)
信息系统实践的发展日趋多样化,应用程序领域、分析和设计技术、编程语言、开发规范和项目决策都可以实现不同领域的穿插[1-3].例如,应用程序领域可以进行事务处理、实时过程控制或支持决策,这些都有自己的形式规范和系统开发方法[4].在理论研究人员和实践者之间展开了对于新兴规范和系统开发的有用性争论,例如过程网络和面向对象的研究.信息系统开发研究遍布世界的各个地方,通过研究做出以下观察:
(1) 句法结构(语法、元模型)的各种规范形式非常相似.语义的形式可以非常明显,语义形式即精确地解释概念和相互之间的关系.
(2) 除去本身自动化方法支持工具外,在信息系统开发中的应用没有意义.能够见到方法和工具的进一步融合:工具的拓展与设计过程支持特征的功能;复杂的一致性规则的自动检测与维护.
(3) 缺乏在现实生活中信息执行系统开发项目的相关研究.应对复杂项目约束的大规模系统开发问题很难调查.
这使得理论研究和实践研究相对困难并处于不成熟的境地.这种结构的复杂多样性将有益于深入理解系统开发,并且系统开发作为一种设计现象,将会对社会产生重大的影响[5-7].因此,我们的目的是阐明这种通过研究框架信息系统开发的方法和工具,进而实现对方法工程的研究.为了建立一个良好的理论依据,将开始使用专业术语来描述方法、技巧和工具[8].以下将引入方法工程、方法集合以及情景方法几个问题的研究.
方法是执行系统开发项目的途径,基于特殊的思维方式、组成方向和规则,以系统的方式进行构造参与开发活动和相应的开发产品[9].
方法一词来源于希腊语methodos,意味着探求的途径[10].方法有关于信息系统开发的例子有信息工程和Jackson系统的开发[11].教科书和手册中描述的方法通常是阶梯式的构造开发活动和产品结构的需求,也称可交付成果.对于信息系统正在处理的方法,将继续参考信息系统开发方法(Information Systems Development Methods,ISDM).
技巧是一个进行开发活动的过程,可用的规定符号.
通常只有符号被称为技巧.例如,电气工程图纸上使用的标准化的电子电路符号——晶体管、电阻等.系统开发人员通过一些标记,使用他的专业技术,这些标记是在结构计划的设计和编程中所使用到的.因此,技巧不仅要体现在开发活动的表达方面,而且要体现在程序方面.技巧的例子如用实体关系图的数据建模,纯自然语言的交互和行为图表的伪代码.可以用多种分类方式划分技巧:相关符号(如自然语言、结构化图形)的正式程度,或者与之相关的其他所支持类型的开发活动(如数据建模、过程建模、交互设计).
工具是指支持开发过程的部分自动化手段.
系统开发工具非常频繁多样.实例工具、集成项目支持环境(Integrated Project Support Environments,IPSE)、Analysts Workbenches是很流行的几种工具类型[12].一些工具只支持两种不同的符号,然而其他的工具则对整个生命周期的开发过程提供帮助.
方法和工具领域缺乏适当的框架进行研究.方法和工具已经开发并使用多年,但其结构需要存储、归纳和评估.在此,引入方法工程的概念,并提供这样的结构.
方法工程(Method Engineering,ME)是针对设计、构建以及为信息系统开发而采用的方法、技巧和工具的工程原理.同软件工程是关注于软件生产所有方面一样,ME处理所有与工程活动相关的方法、技巧和工具.ME已经包含了机械工程用来描述工厂的建造和工作方法.ME领域与其他诸多研究领域都存在着明显的联系,涉及项目管理、软件配置管理、软件工程环境、软件过程建模和计算机支持的协同工作.考虑到研究领域存在着大量开放性问题的现状,选取3点对其进行描述.
(1) 元建模技术.所谓元建模技术是指设计与评估方法、工具需要一种特殊目的的规范性技术,用以描述其程序和特征功能.问题在于什么是元模型的适当结构,如何决定区分元模型的适当角度,是否存在以相关调查为目的的元模型最优技术或者充足的技术.
(2) 工具的互操作性.目前存在着许多工具,但这些工具都只涉及开发生命周期的一个部分.因此,实践中所遇到工具适合的集成,称之为这些工具的互操作性.所涉及的问题是有关于集成工具的所有架构.这些工具是否应该基于数据集成架构中的存储结构(即存储库),或者是在一个控制一体化架构中的功能组件间的通信结构.
(3) 情景方法.正如所涉及的项目不同,这些项目也无法获得在教科书或者手册上的标准方法的支持,即他们的方法也不同,且无法实现标准化.如何向系统开发人员提供正确系统的指导和相应工具作为支持,需要进一步研究建设原理、方法和技术.
(4) 方法和工具的评估比较.基于何种特性表达方法和工具,才能对其进行合理的、系统的、可证实的方法进行比较.方法的特性包括以下几方面:完整性、表现力、可理解性、有效性、资源和效率.元模型的方法、工具对于公正描述、比较评估具有明显的客观优势.
方法集合(Method Set,MS)定义为一系列自动、衔接和连贯的方法,并且该MS需要导向和相关概念来支持,实现一些具体系统设计活动.此定义也适用于互操作性问题.而后定义的MS元模型可以用于实现一般互操作性问题和具体的互操作性问题.它的实现包含业务和ICT.图1所示为MS元模型的抽象表达.
图1 MS元模型Fig.1 MS meta-model
MS最主要作用是为系统工程提供导向,以便于一些特定系统的开发活动,如业务建模、具体化需求和设计等,以及这些活动所涉及的相关概念.4种知识,即产品、资源、组织和过程组成了MS的主体.例如,MS为集成两种业务模型提供导向,同时还定义了元模型,这种元模型应当同业务模型保持一致.
MS可以根据导向是否内容丰富和复杂,通过使用不同的建模形式对其进行描述和表达.导向可以很复杂,可以由很多子导向组成,意味着相应的MS可以由更小的集合组合而成.事实上,MS的粒度层面取决于导向的粒度.在其他情况下,复杂导向下的子导向也可被认为是自主并且可重用的.MS可以认为是由子导向的子集合组合而成的.
MS中的产品、资源、组织、过程的知识可包括几个输入产品、资源、组织和过程的必需部分,而这些部分对于应用MS和通过应用MS获取的目标是必要的,这些知识通常用元模型进行表达.
与背景相关的MS是通过接口进行定义.形式化为情境和创意,要应用MS的情境,可以根据需求输入产品、资源、组织和过程的一部分或创意等.这样可以达到MS帮助实现的目的.事实上,它定义了MS应用程序的情境.每一个创意通过随后提出的语言方法进行表达,它还可以有几个参数,每一个参数都有自己相应的职能.
MS的描述部分是接口定义的背景知识.接口包含一组特征用来更好地定位MS所用的设计情境.重用创意表达的一般目的是使MS有助于满足相应的设计行为,重用创意与创意的形式是一样的.
重用情境的特点由一个或几个互操作性问题分类所决定.重用情境包括了相关重要的互操作性方面问题.这样使MS和一个或一些互操作性问题的关系更加明确.
描述层包含着一些可以让MS识别和选择它的起源信息、结构信息以及属性定义通过MS角色的解释说明.它还包括评估报告,用以帮助方法设计者评估MS和给定的情境的匹配程度.
MS的主体和接口构成被重用的方法相关知识,这些重用知识来源于不同情境的特殊方法,而描述层获取的是关于重用情境的知识,这些情境是MS所用的情境.
MS可使我们编排相同的知识以及元模型中提出的分类框架.使用ME解法的一个优势在于把彼此相关的知识进行编排,这将方便解决互操作性类型的问题.
情景方法是一种信息系统开发方法,针对所着手项目的情况.设计情景方法需要标准化构建集合和选择导向,所谓元方法就是装配这些构建的集合.情景方法的重要性已经得到广泛的认可.这种“情景哲学”作为一种开发和实现方法的途径,进一步阐述了方法工程.方法表达模型提供MS概念、技术,对于现有的方法进行分析和比较.对方法表达模型进行进一步开发,并建立一个数据库,即方法集合库(Method Set Repository,MSR),简称为方法库,可以从中选取完整的MS.
支持情景方法设计的关键是提供标准化的MS,便于在MSR中进行存储和检索.再者,应当建立配置过程,用于在情景中指导和组装这些MS.配置过程如图2所示.图中的构建集合,即所谓MS,定义其为信息系统开发方法相耦合的部分.将MS区分为产品集合、资源集合、组织集合和过程集合:产品集合即产品(可交付成果、图、表、模型)系统开发方法的结构模型;资源集合即生产或研发过程中所涉及的原料和知识;组织集合即可以利用相关组织的结构关系;过程集合即开发过程的模型.过程集合可以是高层项目策略,所谓的方法概述,或者是更加详细的过程技术支持的应用规范.
每一个项目都不同,因此至关重要的是用方法配置过程特征化描述与项目相关的突变因素.输入项目的特征化描述用以选择过程,也就是从方法库中检索所需要的MS.经验丰富的方法设计员可能采用另一种途径,即在开始的时候选择MS并验证这个集合所对应的项目特征化描述.不相关的MS则是在此之后装配到一个情景方法当中.为保证方法的一致性和完整性,可能需要额外的MS,选择和验证的过程是可以重复的.情景方法会上交到这个项目的系统开发人员手中.正如项目在开始时不可能绝对的清晰明了,需要在项目的执行过程中进一步精化情景方法.项目的巨大变动也需要情景方法随之发生变化,移除不适合的MS,将适合的MS插入其中.
图2 情景方法的配置过程Fig.2 The configuration of the situational method
引入方法工程作为一种研究信息系统开发方法和工具的框架.描述方法工程的基本概念——方法、技巧和工具,为阐述之后的理论建立了理论依据.研究MS元建模以及情景方法的配置过程模型是为方法工程提供理论基础和指导方向.
此领域未来开发的关键是保持开放的眼界和需要相关的实践.在理论行业需要设置研究议程.下一步的研究重点应该引导工业研究人员和学者参与到方法工程研究当中.方法工程也将成为一个有前途的研究领域.
参考文献:
[1] MARTTIIN P,ROSSI M,TAHVAINANEN V P,et al.A comparative review of CASE shells:a preliminary framework and research outcomes[J].Information and Management,1993,25(1):11-31.
[2] HEYM M,OSTERLE H.Computer-aided methodology engineering[J].Inf and Soft Technol,1993,35(6/7):345-354.
[3] MARIE A,DELANOE B.Event-driven agility of interoperability during the run-time of collaborative processes[J].Decision Support Systems,2014,59(4):171-179.
[4] GAYNORA M,YU F,ANDRUS C H,et al.A general framework for interoperability with applications to healthcare[J].Health Policy and Technology,2014,3(1):3-12.
[5] AGOSTI M,FERRO N,SILVELLO G.Digital library interoperability at high level of abstraction[J].Future Generation Computer Systems,2016,55(3):129-146.
[6] SOMOV A,BARANOV A,SUCHKOV A,et al.Improving interoperability of catalytic sensors[J].Sensors and Actuators B,2015,221(31):1156-1161.
[7] WATERS J,POWERS B J,CERUTI M G.Global interoperability using semantics,standards,science and technology[J].Computer Standards & Interfaces,2009,31(6):1158-1166.
[8] RALYTE J,JEUSFELD M A,BACKLUND J,et al.A knowledge-based approach to manage information systems interoperability[J].Information Systems,2008,33(7/8):754-784.
[9] BRINKEMPER S.Method engineering:engineering of information systems development methods and tools[J].Software Technol,1996,38(4):275-280.
[10] KUMAR K,WELKE R J.Method engineering,a proposal for situation-specific methodology construction[C]// Systems Analysis and Design:A Research Agenda.New York:Wiley,1992:257-268.
[11] WAINWRIGHT D,WARING T.Three domains for implementing integrated information systems:redressing the balance between technology[J].Strategic and Organizational Analysis,2004,24(4):329-346.
[12] JOODE R V W D,TINEKE E M.Handling variety:the tension between adaptability and interoperability of open source software[J].Computer Standards & Interfaces,2005,28(1):109-121.