高 琳,段國林
(河北工業(yè)大學(xué) 機(jī)械工程學(xué)院,天津 300130)
信息系統(tǒng)實(shí)踐的發(fā)展日趨多樣化,應(yīng)用程序領(lǐng)域、分析和設(shè)計技術(shù)、編程語言、開發(fā)規(guī)范和項(xiàng)目決策都可以實(shí)現(xiàn)不同領(lǐng)域的穿插[1-3].例如,應(yīng)用程序領(lǐng)域可以進(jìn)行事務(wù)處理、實(shí)時過程控制或支持決策,這些都有自己的形式規(guī)范和系統(tǒng)開發(fā)方法[4].在理論研究人員和實(shí)踐者之間展開了對于新興規(guī)范和系統(tǒng)開發(fā)的有用性爭論,例如過程網(wǎng)絡(luò)和面向?qū)ο蟮难芯?信息系統(tǒng)開發(fā)研究遍布世界的各個地方,通過研究做出以下觀察:
(1) 句法結(jié)構(gòu)(語法、元模型)的各種規(guī)范形式非常相似.語義的形式可以非常明顯,語義形式即精確地解釋概念和相互之間的關(guān)系.
(2) 除去本身自動化方法支持工具外,在信息系統(tǒng)開發(fā)中的應(yīng)用沒有意義.能夠見到方法和工具的進(jìn)一步融合:工具的拓展與設(shè)計過程支持特征的功能;復(fù)雜的一致性規(guī)則的自動檢測與維護(hù).
(3) 缺乏在現(xiàn)實(shí)生活中信息執(zhí)行系統(tǒng)開發(fā)項(xiàng)目的相關(guān)研究.應(yīng)對復(fù)雜項(xiàng)目約束的大規(guī)模系統(tǒng)開發(fā)問題很難調(diào)查.
這使得理論研究和實(shí)踐研究相對困難并處于不成熟的境地.這種結(jié)構(gòu)的復(fù)雜多樣性將有益于深入理解系統(tǒng)開發(fā),并且系統(tǒng)開發(fā)作為一種設(shè)計現(xiàn)象,將會對社會產(chǎn)生重大的影響[5-7].因此,我們的目的是闡明這種通過研究框架信息系統(tǒng)開發(fā)的方法和工具,進(jìn)而實(shí)現(xiàn)對方法工程的研究.為了建立一個良好的理論依據(jù),將開始使用專業(yè)術(shù)語來描述方法、技巧和工具[8].以下將引入方法工程、方法集合以及情景方法幾個問題的研究.
方法是執(zhí)行系統(tǒng)開發(fā)項(xiàng)目的途徑,基于特殊的思維方式、組成方向和規(guī)則,以系統(tǒng)的方式進(jìn)行構(gòu)造參與開發(fā)活動和相應(yīng)的開發(fā)產(chǎn)品[9].
方法一詞來源于希臘語methodos,意味著探求的途徑[10].方法有關(guān)于信息系統(tǒng)開發(fā)的例子有信息工程和Jackson系統(tǒng)的開發(fā)[11].教科書和手冊中描述的方法通常是階梯式的構(gòu)造開發(fā)活動和產(chǎn)品結(jié)構(gòu)的需求,也稱可交付成果.對于信息系統(tǒng)正在處理的方法,將繼續(xù)參考信息系統(tǒng)開發(fā)方法(Information Systems Development Methods,ISDM).
技巧是一個進(jìn)行開發(fā)活動的過程,可用的規(guī)定符號.
通常只有符號被稱為技巧.例如,電氣工程圖紙上使用的標(biāo)準(zhǔn)化的電子電路符號——晶體管、電阻等.系統(tǒng)開發(fā)人員通過一些標(biāo)記,使用他的專業(yè)技術(shù),這些標(biāo)記是在結(jié)構(gòu)計劃的設(shè)計和編程中所使用到的.因此,技巧不僅要體現(xiàn)在開發(fā)活動的表達(dá)方面,而且要體現(xiàn)在程序方面.技巧的例子如用實(shí)體關(guān)系圖的數(shù)據(jù)建模,純自然語言的交互和行為圖表的偽代碼.可以用多種分類方式劃分技巧:相關(guān)符號(如自然語言、結(jié)構(gòu)化圖形)的正式程度,或者與之相關(guān)的其他所支持類型的開發(fā)活動(如數(shù)據(jù)建模、過程建模、交互設(shè)計).
工具是指支持開發(fā)過程的部分自動化手段.
系統(tǒng)開發(fā)工具非常頻繁多樣.實(shí)例工具、集成項(xiàng)目支持環(huán)境(Integrated Project Support Environments,IPSE)、Analysts Workbenches是很流行的幾種工具類型[12].一些工具只支持兩種不同的符號,然而其他的工具則對整個生命周期的開發(fā)過程提供幫助.
方法和工具領(lǐng)域缺乏適當(dāng)?shù)目蚣苓M(jìn)行研究.方法和工具已經(jīng)開發(fā)并使用多年,但其結(jié)構(gòu)需要存儲、歸納和評估.在此,引入方法工程的概念,并提供這樣的結(jié)構(gòu).
方法工程(Method Engineering,ME)是針對設(shè)計、構(gòu)建以及為信息系統(tǒng)開發(fā)而采用的方法、技巧和工具的工程原理.同軟件工程是關(guān)注于軟件生產(chǎn)所有方面一樣,ME處理所有與工程活動相關(guān)的方法、技巧和工具.ME已經(jīng)包含了機(jī)械工程用來描述工廠的建造和工作方法.ME領(lǐng)域與其他諸多研究領(lǐng)域都存在著明顯的聯(lián)系,涉及項(xiàng)目管理、軟件配置管理、軟件工程環(huán)境、軟件過程建模和計算機(jī)支持的協(xié)同工作.考慮到研究領(lǐng)域存在著大量開放性問題的現(xiàn)狀,選取3點(diǎn)對其進(jìn)行描述.
(1) 元建模技術(shù).所謂元建模技術(shù)是指設(shè)計與評估方法、工具需要一種特殊目的的規(guī)范性技術(shù),用以描述其程序和特征功能.問題在于什么是元模型的適當(dāng)結(jié)構(gòu),如何決定區(qū)分元模型的適當(dāng)角度,是否存在以相關(guān)調(diào)查為目的的元模型最優(yōu)技術(shù)或者充足的技術(shù).
(2) 工具的互操作性.目前存在著許多工具,但這些工具都只涉及開發(fā)生命周期的一個部分.因此,實(shí)踐中所遇到工具適合的集成,稱之為這些工具的互操作性.所涉及的問題是有關(guān)于集成工具的所有架構(gòu).這些工具是否應(yīng)該基于數(shù)據(jù)集成架構(gòu)中的存儲結(jié)構(gòu)(即存儲庫),或者是在一個控制一體化架構(gòu)中的功能組件間的通信結(jié)構(gòu).
(3) 情景方法.正如所涉及的項(xiàng)目不同,這些項(xiàng)目也無法獲得在教科書或者手冊上的標(biāo)準(zhǔn)方法的支持,即他們的方法也不同,且無法實(shí)現(xiàn)標(biāo)準(zhǔn)化.如何向系統(tǒng)開發(fā)人員提供正確系統(tǒng)的指導(dǎo)和相應(yīng)工具作為支持,需要進(jìn)一步研究建設(shè)原理、方法和技術(shù).
(4) 方法和工具的評估比較.基于何種特性表達(dá)方法和工具,才能對其進(jìn)行合理的、系統(tǒng)的、可證實(shí)的方法進(jìn)行比較.方法的特性包括以下幾方面:完整性、表現(xiàn)力、可理解性、有效性、資源和效率.元模型的方法、工具對于公正描述、比較評估具有明顯的客觀優(yōu)勢.
方法集合(Method Set,MS)定義為一系列自動、銜接和連貫的方法,并且該MS需要導(dǎo)向和相關(guān)概念來支持,實(shí)現(xiàn)一些具體系統(tǒng)設(shè)計活動.此定義也適用于互操作性問題.而后定義的MS元模型可以用于實(shí)現(xiàn)一般互操作性問題和具體的互操作性問題.它的實(shí)現(xiàn)包含業(yè)務(wù)和ICT.圖1所示為MS元模型的抽象表達(dá).
圖1 MS元模型Fig.1 MS meta-model
MS最主要作用是為系統(tǒng)工程提供導(dǎo)向,以便于一些特定系統(tǒng)的開發(fā)活動,如業(yè)務(wù)建模、具體化需求和設(shè)計等,以及這些活動所涉及的相關(guān)概念.4種知識,即產(chǎn)品、資源、組織和過程組成了MS的主體.例如,MS為集成兩種業(yè)務(wù)模型提供導(dǎo)向,同時還定義了元模型,這種元模型應(yīng)當(dāng)同業(yè)務(wù)模型保持一致.
MS可以根據(jù)導(dǎo)向是否內(nèi)容豐富和復(fù)雜,通過使用不同的建模形式對其進(jìn)行描述和表達(dá).導(dǎo)向可以很復(fù)雜,可以由很多子導(dǎo)向組成,意味著相應(yīng)的MS可以由更小的集合組合而成.事實(shí)上,MS的粒度層面取決于導(dǎo)向的粒度.在其他情況下,復(fù)雜導(dǎo)向下的子導(dǎo)向也可被認(rèn)為是自主并且可重用的.MS可以認(rèn)為是由子導(dǎo)向的子集合組合而成的.
MS中的產(chǎn)品、資源、組織、過程的知識可包括幾個輸入產(chǎn)品、資源、組織和過程的必需部分,而這些部分對于應(yīng)用MS和通過應(yīng)用MS獲取的目標(biāo)是必要的,這些知識通常用元模型進(jìn)行表達(dá).
與背景相關(guān)的MS是通過接口進(jìn)行定義.形式化為情境和創(chuàng)意,要應(yīng)用MS的情境,可以根據(jù)需求輸入產(chǎn)品、資源、組織和過程的一部分或創(chuàng)意等.這樣可以達(dá)到MS幫助實(shí)現(xiàn)的目的.事實(shí)上,它定義了MS應(yīng)用程序的情境.每一個創(chuàng)意通過隨后提出的語言方法進(jìn)行表達(dá),它還可以有幾個參數(shù),每一個參數(shù)都有自己相應(yīng)的職能.
MS的描述部分是接口定義的背景知識.接口包含一組特征用來更好地定位MS所用的設(shè)計情境.重用創(chuàng)意表達(dá)的一般目的是使MS有助于滿足相應(yīng)的設(shè)計行為,重用創(chuàng)意與創(chuàng)意的形式是一樣的.
重用情境的特點(diǎn)由一個或幾個互操作性問題分類所決定.重用情境包括了相關(guān)重要的互操作性方面問題.這樣使MS和一個或一些互操作性問題的關(guān)系更加明確.
描述層包含著一些可以讓MS識別和選擇它的起源信息、結(jié)構(gòu)信息以及屬性定義通過MS角色的解釋說明.它還包括評估報告,用以幫助方法設(shè)計者評估MS和給定的情境的匹配程度.
MS的主體和接口構(gòu)成被重用的方法相關(guān)知識,這些重用知識來源于不同情境的特殊方法,而描述層獲取的是關(guān)于重用情境的知識,這些情境是MS所用的情境.
MS可使我們編排相同的知識以及元模型中提出的分類框架.使用ME解法的一個優(yōu)勢在于把彼此相關(guān)的知識進(jìn)行編排,這將方便解決互操作性類型的問題.
情景方法是一種信息系統(tǒng)開發(fā)方法,針對所著手項(xiàng)目的情況.設(shè)計情景方法需要標(biāo)準(zhǔn)化構(gòu)建集合和選擇導(dǎo)向,所謂元方法就是裝配這些構(gòu)建的集合.情景方法的重要性已經(jīng)得到廣泛的認(rèn)可.這種“情景哲學(xué)”作為一種開發(fā)和實(shí)現(xiàn)方法的途徑,進(jìn)一步闡述了方法工程.方法表達(dá)模型提供MS概念、技術(shù),對于現(xiàn)有的方法進(jìn)行分析和比較.對方法表達(dá)模型進(jìn)行進(jìn)一步開發(fā),并建立一個數(shù)據(jù)庫,即方法集合庫(Method Set Repository,MSR),簡稱為方法庫,可以從中選取完整的MS.
支持情景方法設(shè)計的關(guān)鍵是提供標(biāo)準(zhǔn)化的MS,便于在MSR中進(jìn)行存儲和檢索.再者,應(yīng)當(dāng)建立配置過程,用于在情景中指導(dǎo)和組裝這些MS.配置過程如圖2所示.圖中的構(gòu)建集合,即所謂MS,定義其為信息系統(tǒng)開發(fā)方法相耦合的部分.將MS區(qū)分為產(chǎn)品集合、資源集合、組織集合和過程集合:產(chǎn)品集合即產(chǎn)品(可交付成果、圖、表、模型)系統(tǒng)開發(fā)方法的結(jié)構(gòu)模型;資源集合即生產(chǎn)或研發(fā)過程中所涉及的原料和知識;組織集合即可以利用相關(guān)組織的結(jié)構(gòu)關(guān)系;過程集合即開發(fā)過程的模型.過程集合可以是高層項(xiàng)目策略,所謂的方法概述,或者是更加詳細(xì)的過程技術(shù)支持的應(yīng)用規(guī)范.
每一個項(xiàng)目都不同,因此至關(guān)重要的是用方法配置過程特征化描述與項(xiàng)目相關(guān)的突變因素.輸入項(xiàng)目的特征化描述用以選擇過程,也就是從方法庫中檢索所需要的MS.經(jīng)驗(yàn)豐富的方法設(shè)計員可能采用另一種途徑,即在開始的時候選擇MS并驗(yàn)證這個集合所對應(yīng)的項(xiàng)目特征化描述.不相關(guān)的MS則是在此之后裝配到一個情景方法當(dāng)中.為保證方法的一致性和完整性,可能需要額外的MS,選擇和驗(yàn)證的過程是可以重復(fù)的.情景方法會上交到這個項(xiàng)目的系統(tǒng)開發(fā)人員手中.正如項(xiàng)目在開始時不可能絕對的清晰明了,需要在項(xiàng)目的執(zhí)行過程中進(jìn)一步精化情景方法.項(xiàng)目的巨大變動也需要情景方法隨之發(fā)生變化,移除不適合的MS,將適合的MS插入其中.
圖2 情景方法的配置過程Fig.2 The configuration of the situational method
引入方法工程作為一種研究信息系統(tǒng)開發(fā)方法和工具的框架.描述方法工程的基本概念——方法、技巧和工具,為闡述之后的理論建立了理論依據(jù).研究MS元建模以及情景方法的配置過程模型是為方法工程提供理論基礎(chǔ)和指導(dǎo)方向.
此領(lǐng)域未來開發(fā)的關(guān)鍵是保持開放的眼界和需要相關(guān)的實(shí)踐.在理論行業(yè)需要設(shè)置研究議程.下一步的研究重點(diǎn)應(yīng)該引導(dǎo)工業(yè)研究人員和學(xué)者參與到方法工程研究當(dāng)中.方法工程也將成為一個有前途的研究領(lǐng)域.
參考文獻(xiàn):
[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.