999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于遞增方式的視點集成研究

2008-01-01 00:00:00梁正平毋國慶王志強
計算機應用研究 2008年2期

摘要:針對與視點集成相關的問題,首先討論了基于開發關系的視點集成方式,然后提出了一種基于二元遞增方式的視點集成過程;同時采用范疇理論對該集成過程進行了建模,有利于一般意義上進一步研究與視點集成相關的基本性質。

關鍵詞:需求工程; 視點; 視點集成; 范疇論

中圖分類號:TP311.5文獻標志碼:A

文章編號:1001-3695(2008)02-0446-04

0引言

多視點需求工程方法中,對不同項目相關人員的需求采用不同的視點進行描述。為生成一份完整的規格說明書,最終必須將與各視點所對應的部分規格說明集成為一個統一的整體,以作為需求工程活動結束的里程碑,以及后階段系統開發#65380;測試和驗收的依據。目前,在多視點需求工程方法的研究中,已有很多與視點的定義[1,2]#65380;視點的表示[3,4]#65380;視點的一致性[5,6]等相關的專門研究,而有關視點集成的研究卻相對較少。其中較有代表性的主要是I.Sommerville等人[7]和牟克典等人[8]的工作。I.Sommerville的PREview方法從宏觀方面指導性地提出了視點集成過程應采取的主要步驟,但他所提出的步驟專門針對PREview方法所采用的特定視點標志和表示方式,難以應用于集成采用其他標志和表示方式的視點。牟克典等人基于格論對視點集成過程中重疊需求的不一致優先級處理策略和方法進行了研究,提出了一系列基本的處理策略和方法,但對視點集成的具體方式及其過程等則缺乏進一步的討論。

針對視點集成的相關問題,本文主要從一般角度討論一種基于遞增方式的視點集成過程。由于視點集成的過程與視點集成的方式及其目標密切相關。為統一處理視點集成時不同視點所對應部分規格說明在語法及語義方面可能存在的重疊問題,本文以公共開發的方式作為視點的集成方式,并將所有視點所對應部分規格說明的公共開發作為它們的集成結果。此外,為便于從一般角度進一步研究與視點集成相關的具體性質,本文采用范疇理論[9,10]對該集成過程進行了建模。

1視點的集成方式

實際開發過程中,若兩個視點所對應的部分規格說明完全無關,則它們的集成只需將兩者簡單地歸集到一起即可;若兩個或多個視點所對應的部分規格說明存在重疊的信息,則這些重疊的信息可能語法上等價但語義上不同,也可能語法上不同但語義上等價,僅通過直接的歸集操作難以將它們集成為一個完整統一的有機整體。由于在重疊信息上的具體語法及語義問題與待集成視點所對應的實際規格說明相關,缺乏討論的具體對象和依據。以下主要基于開發關系的方式討論一種一般意義上的視點集成方式。

定義1開發關系。需求工程過程中,若一個規格說明S1可沿靠近實現的方向通過一定的方式(dv)演化為另一個規格說明S2,則稱S2是S1的開發,記為S2 dv S1或S1dvS2,同時也稱S1與S2具有開發關系dv。

根據演化方式及性質的不同,S1與S2間的開發關系可分為求精#65380;實現#65380;等價等三種類型。a)求精關系表示S2通過將S1中的抽象描述演化為具體描述,或通過消除S1中的某些不確定性而得到;b)實現關系在演化的方式上與求精關系相同,只是前者通常只具有自反性,而后者既具有自反性,又具有傳遞性;c)等價關系則表示S2與S1在意義上完全一致,只是具體描述形式不同,除自反性與傳遞性外,等價關系還具有對稱性。

由于S1與S2間具體有什么樣的開發關系dv由S1的演化方式決定,且S2可由S1及dv完全推出,故也將S1與S2間的開發關系dv稱為S1對應開發關系dv。而一個規格說明具體可如何演化,即它具體可對應什么樣的開發關系,與其內容及描述方式相關。內容上,不同規格說明與最終實現的關系不同,所應采用的演化方式也不同,故需對應不同的開發關系;描述方式上,不同的描述方式所支持或定義的開發關系不同,因而實際可選取的開發關系也不同。

定義2公共開發。設S1,S2,…,Sn為規格說明,對應的開發關系分別為dv1,dv2,…,dvn;若存在某規格說明S,使S dv1 S1,S dv2 S2,…,S dvn Sn均成立,則稱S為S1,S2,…,Sn在dv1,dv2,…,dvn下的公共開發。

因兩個或多個規格說明在各自對應的開發關系下可能存在多個公共開發,以下給出公共開發集的定義:

定義3公共開發集。設S1,S2,…,Sn為規格說明,對應的開發關系分別為dv1,dv2,…,dvn,它們的公共開發集SCD定義為SCD={S|S dvi Si,對所有的i∈{1…n}}。

基于上面對開發關系及公共開發的定義,從語義的角度,若兩個或多個視點分別對應的部分規格說明在一定的開發關系下存在公共開發,則顯然該公共開發即可看成是相關視點的一個集成。為此,視點的集成可圍繞定義1中的開發關系dv展開,即以尋找各視點所對應部分規格說明的公共開發的方式作為視點的集成方式。

上面所定義的公共開發也可以作為定義和檢查相關視點是否一致的依據。具體而言,若兩個或多個視點所對應的規格說明可通過各自對應的開發關系找到一個公共開發,則說明它們都是對同一系統的合理描述,只是關注范圍#65380;抽象層次#65380;組織形式等方面可能不同,因而是一致的;若兩個或多個不同的規格說明不存在一個公共的開發,則說明它們相互間存在某些不能協調的東西,故無法找到一個公共的開發使各規格說明中的描述能有機地融合到一起,因而是不一致的。

定義4視點一致。設S1,S2,…,Sn分別為視點VP1,VP2,…,VPn所對應的部分規格說明,且所對應的開發關系分別為dv1,dv2,…,dvn;若存在某規格說明S,使S dv1 S1,S dv2 S2,…,S dvn Sn均成立,則稱VP1,VP2,…,VPn一致。

2視點的集成過程

基于上面介紹的集成方式,視點集成的目標是找出一個所有待集成視點所對應部分規格說明的公共開發。但當存在多個視點需進行集成時,想一次性找出所有部分規格說明的公共開發可能難度較大;從一致性檢查的角度而言,若它們之間存在不一致,期望采用一次性的方式找出它們的公共開發也不便于精確地定位具體哪些視點之間存在不一致,故視點的集成必須采用逐步的方式進行。

逐步集成包括無序集成和遞增集成兩種形式。a)無序集成每次從暫未參與集成的規格說明和上階段通過集成生成的中間結果中隨機選取不確定的若干個進行集成,生成新的中間集成結果,直至找到所有規格說明的一個公共開發為止。b)遞增集成除第一步外,每次將上一步生成的中間集成結果與一個或多個暫未參與集成的規格說明進行集成,生成新的中間集成結果;通過遞增的方式,當所有規格說明均參與集成時,則生成的結果即為所有規格說明的公共開發。

無序集成與遞增集成本質上沒有什么區別,但后者的集成過程更加清晰有序。為此,本文采用遞增方式討論視點的集成,不失一般性。以下討論基于二元遞增方式的集成,如圖1所示。

其中:S1,S2,…,Sn分別表示視點VP1,VP2,…,VPn所對應的部分規格說明,且所對應的開發關系分別為dv1,dv2,…,dvn;S2h為S1和S2的公共開發;S3i為S2h和S3的公共開發,依此類推,Snk為S(n-1)j和Sn的公共開發。

由于本文采用尋找公共開發的方式進行視點的集成,為使每次生成的中間集成結果可進一步參與后續的集成操作,它們也必須對應一個合理有效的開發關系。在此,指定每個中間集成結果所對應的開發關系為前一個中間集成結果及參與此次集成的規格說明兩者所對應開發關系的合取,如圖1所示。S2h對應的開發關系為dv1∩dv2;S3i對應的開發關系為dv1∩dv2∩dv3;依此類推,S(n-1)j對應的開發關系為dv1∩dv2∩…∩dvn-1。這樣,若S3i是S2h和S3的公共開發,則S3i與S2h之間既滿足dv1關系又滿足dv2關系,同時S2h與S1#65380;S2間分別滿足dv1#65380;dv2關系,故直觀上S3i也可看做是S1和S2的公共開發,依此類推,Snk是所有S1,S2,…,Sn的公共開發。

雖然采用上面的方式直觀上Snk似乎確實是S1,S2,…,Sn在dv1,dv2,…,dvn下的公共開發,但事實上還與dvi,i∈{1…n}的性質有關。例如,設S2h dv1 S1,S3i dv1∩dv2 S2h成立,但dv1不滿足傳遞性,則顯然S3i dv1 S1并不一定成立。故要保證Snk確實是S1,S2,…,Sn在dv1,dv2,…,dvn下的公共開發,必須保證dv1,dv2,…,dvn均具有傳遞性。

現有各種規格說明描述方法中所定義的開發關系基本上均可歸為等價和求精兩種類型,實現類型的關系十分罕見,下面的討論中假設所有的開發關系均具有傳遞性。

基于二元遞增方式的視點集成形式上雖然簡單,但實際的操作過程卻可能十分繁瑣。原因在于兩個視點的公共開發集中可能包括多個元素。其中:有些元素可與下一個待集成的視點進行進一步集成;另一些則可能無法進一步集成,即無法找出下一個所需的新的公共開發。故基于二元遞增方式集成視點時,必須恰當地選取中間過程中生成的公共開發,若某些選取的公共開發導致后面的過程無法完成最終的集成,則必須選取其他的公共開發進行進一步的集成。

綜合上述討論,以下算法的形式對圖1所示的二元遞增集成過程進行具體描述。

設有n個視點需進行集成,各自所對應的規格說明分別為S1,S2,…,Sn,且這些規格說明所對應的開發關系分別為dv1,dv2,…,dvn。不失一般性,假設按S1,S2,…,Sn的排列順序依次集成。

算法1基于二元遞增方式的視點集成過程步驟如下:

1)計算S1#65380;S2在dv1#65380;dv2下的公共開發集SCD_1。

2)從SCD_1中任取一個,記為S2h,同時SCD_1=SCD_1-{S2h},計算S2h#65380;S3在dv1∩dv2和dv3下的公共開發集SCD_2。

3)若SCD_2為空,則轉前一步;否則轉下一步。

4)若SCD_2為空,則轉前兩步;否則從SCD_2中任取一個,記為S3i,同時SCD_2= SCD_2-{S3i},計算S3i#65380;S4在dv1∩dv2∩dv3和dv4下的公共開發集SCD_3。

……

依此類推

……

2n-5)若SCD_n-2為空,則轉前一步;否則轉下一步。

2n-4)若SCD_n-2為空,則轉前兩步;否則從SCD_n-2中任取一個,記為S(n-1)j,同時SCD_n-2=SCD_n-2-{S(n-1)j},計算S(n-1)j#65380;Sn在dv1∩dv2∩…∩dvn-1和dvn下的公共開發集SCD_n-1。

2n-3)若SCD_n-1為空,則轉前一步;否則SCD_n-1中的任意一個均為S1,S2,…,Sn在dv1,dv2,…,dvn下的公共開發,即S1,S2,…,Sn的集成。

基于算法1所示的集成過程及定義4對視點一致的定義,顯然存在如下的性質:

性質1相關視點一致,當且僅當算法1能實現對它們的集成。

說明性質1充分性和必要性的證明可分別根據定義4和算法1進行,限于篇幅,本文不進行具體介紹。

3視點集成過程的范疇建模

本文主要從一般意義上對基于規格說明間的開發關系研究視點的集成,對視點集成過程的研究也主要關注于規格說明間存在的開發關系,而非各視點的具體內容及其表示形式。與集合論以個體的組成元素為研究對象不同,范疇論關注于研究對象間的態射,即對象間存在的關系,通過對對象間態射的研究,從最一般的角度分析對象及其相互之間可能具有的性質。基于本文所采用的集成方式及范疇論的這一特點,為便于從一般意義上進一步研究與視點集成相關的基本性質。下面采用范疇論的方法對該過程進行建模。

設有n個視點需進行集成,各自所對應的部分規格說明分別為S1,S2,…,Sn,且這些規格說明所對應的開發關系分別為dv1,dv2,…,dvn。假設按S1,S2,…,Sn的排列順序以二元遞增方式依次集成,則該集成過程可用如下構造的范疇R進行建模:

1)將S1,S2,…,Sn看成是R的對象,且分別具有自身到自身的態射dv1,dv2,…,dvn。

2)假設S1#65380;S2的公共開發集為SCD_1,將SCD_1中的每個元素看成是R的對象,且它們均具有自身到自身的態射dv1∩dv2。

3)分別在S1#65380;S2與SCD_1的每個元素間建立態射dv1#65380;dv2;若SCD_1中的兩個元素間具有dv1∩dv2關系,則在它們之間建立相應的態射dv1∩dv2。

4)假設SCD_1中的每個元素與S3的所有公共開發集中的元素構成集合SCD_2,將SCD_2中的每個元素看成是R的對象,且它們均具有自身到自身的態射dv1∩dv2∩dv3。

5)在SCD_1與SCD_2的元素兩兩間建立態射dv1∩dv2,在S3與SCD_2的每個元素間建立態射dv3;若SCD_2中的兩個元素間具有dv1∩dv2∩dv3關系,則在它們之間建立相應的態射dv1∩dv2∩dv3。

……

依此類推

……

2n-2)假設SCD_n-2中的每個元素與Sn-1的所有公共開發集中的元素構成集合SCD_n-1,將SCD_n中的每個元素看成是R的對象,且它們均具有自身到自身的態射dv1∩dv2∩…∩dvn。

2n-1)在SCD_n-2與SCD_n-1的元素兩兩間建立態射dv1∩dv2∩…∩dvn-1,在Sn-1與SCD_n-1的每個元素間建立態射dvn;若SCD_n-1中的兩個元素間具有dv1∩dv2∩…∩dvn關系,則在它們之間建立相應的態射dv1∩dv2∩…∩dvn。

2n)除經上述態射的合成生成的新態射外,R中不包含任何其他的對象和態射。

其中:R中態射的合成操作符“ ”定義如下。

設A#65380;B#65380;C為R中的對象,dvx1:A×B,dvx2:B×C為R中的態射,則dvx2 dvx1:A×C定義為

dvx2 dvx1≡dvx1。

依據定義1,所有開發關系dv1,dv2,…,dvn均具有自反性。當假定它們也都具有傳遞性時,容易驗證上面1)~2n-1)的構造過程是合理和有效的,因此,它們確實是對算法1的正確建模。

以下證明由1)~2n)及合成操作符“ ”所定義的R確實構成一個范疇。

首先討論合成操作符“ ”定義的有效性。

在1)~2n-1)的構造過程中,對于任意的對象A和B,若它們之間存在態射dvx1:A×B,則該態射在意義上表示B dvx1 A。要使dvx2 dvx1≡dvx1有效,必須保證C dvx1 A成立。

設dvX1=dvi∩…∩dvj(1≤i≤j≤n);dvX2=dvl∩…∩dvm(1≤l≤m≤n),

|dvX1| ≡{dvi,…,dvj},|dvX2| ≡{dvl,…,dvm}。

根據1)~2n-1)的構造過程,可知|dvX1||dvX2|,又由于dvi(1≤i≤n)均具有傳遞性,若B dvx1 A,C dvx2B成立,則C dvx1 A必然成立。因此,上面合成操作符“ ”的定義有效。

下面討論R滿足態射乘積的存在性#65380;態射乘積的結合性以及恒等態射的存在性。

根據對R中對象#65380;態射及態射合成操作符“ ”定義,容易驗證:

a)dvx1,dvx2∈Mor(R),dvx2 dvx1∈Mor(R);

b)dvx1∈Mor(A,B),dvx2∈Mor(B,C),dvx3∈Mor(C,D),dvx3 (dvx2 dvx1)=(dvx3 dvx2) dvx1;

c)A∈Ob(R),均存在惟一一個自身到自身的態射,此處假設用idA統一表示,且對于dvx1∈Mor(A,B),dvx2∈Mor(C,A),dvx1 idA=dvx1,idA dvx2=dvx2。

其中:a)~c)分別表示態射乘積的存在性#65380;態射乘積的結合性和恒等態射的存在性,故R滿足范疇的定義,因而R確實構成一個范疇。

要注意的是,在上面的R中,對于其中任意一個對象,從該對象出發的態射均采用相同的名稱進行標志。

由于R是對算法1的范疇建模,根據性質1及R的構造過程,若S1,S2,…,Sn在dv1,dv2,…,dvn下一致,則R中必然至少存在一個對象S,使S1,S2,…,Sn與S間分別存在態射dv1,dv2,…,dvn,該S即為S1,S2,…,Sn在dv1,dv2,…,dvn下的公共開發;反之,則不存在這樣的對象S。此外,R中的對象S1,S2,…,Sn自身到自身分別只存在一個惟一的態射dv1,dv2,…,dvn,而dvi dvi=dvi(1≤i≤n)。故根據范疇論中對共錐的定義,可知{dvi:Si→S}(1≤i≤n)是R中由S1,S2,…,Sn所構成離散圖的共錐。

定義5共錐元。設A1,A2,…,Am為R中的對象。若{dvxi:Ai→B}(1≤i≤m)為離散圖A1,A2,…,Am在R中的共錐,則稱B為A1,A2,…,Am在R中的共錐元。A1,A2,…,Am所有共錐元的集合記做Cocone_E(A1,A2,…,Am)。

設從A1,A2,…,Am出發的態射分別標記為dvx1,dvx2,…,dvxm,則根據R中態射的意義,顯然有Cocone_E(A1,A2,…,Am)等價于SCD(dvx1,A1)(dvx2,A2)…(dvxm,Am),故對于規格說明的一致性及其集成的性質,也可用如下的范疇論術語描述:

性質2若R中由S1,S2,…,Sn所構成的離散圖存在共錐,則它們相互一致,反之則不一致;若R中由S1,S2,…,Sn所構成的離散圖存在共錐,則任意一個共錐元均可作為它們的一個集成。

4結束語

視點的集成是多視點需求工程過程方法的一個重要環節。如何有效地將與各視點所對應的部分規格說明集成為一個統一的整體直接關系到需求工程階段開發的質量,以及后續的開發過程能否順利進行。針對與視點集成相關的問題,本文提出了一種基于二元遞增方式的視點的集成過程,對所提出的集成過程進行了范疇建模,并對該模型定義的有效性進行了討論,證明了該模型滿足范疇的定義。

參考文獻:

[1]SPANOUDAKIS G, FINKELSTEIN A, EMMERICH W. Viewpoint

96: international workshop on multiple perspectives in software deve-

lopment-workshop report[C]//Proc of the SIGSOFT ’96 Workshops on International Workshop on Multiple Perspectives in Software Deve-lopment(Viewpoints’96). New York: ACM Press, 1996:1-4.

[2]FINKELSTEIN A, SOMMERVILLE I. The viewpoints FAQ[J]. Software Engineering Journal, 1996,11(1):2-4.

[3]SOMMERIVILLE I, SAWYER P, VILLER S. Viewpoints for requirements elicitation: a practical approach[C]//Proc of the 3rd International Conference on Requirements Engineering, ICRE. Los Alamitos: IEEE CS Press, 1998:74-81.

[4]SILVA A. Requirements, domain and specifications: a viewpoint-based approach to requirements engineering[C]//Proc of the 24th International Conference on Software Engineering. Los Alamitos: IEEE CS Press, 2002:94-104.

[5]GHEZZI C, NUSEIBEH B. Special issue on managing inconsistency in software development[J]. IEEE Transactions on Software Engineering, 1999,25(6):782-869.

[6]NUSEIBEH B, KRAMER J, FINKELSTEIN A. Viewpoints: mea-ningful relationships are difficult[C]//Proc of the 25th International Conference on Software Engineering. Los Alamitos: IEEE CS Press, 2003:676-681.

[7]SOMMERVILLE I, SAWYER P. Requirements engineering: a good practice guide[M]. Chichester: Wiley, 1997.

[8]牟克典,金芝,陸汝鈐.視點合成中重疊需求的不一致優先級處理[J].計算機學報,2004,27(10):1379-1387.

[9]PIERCE B C. Basic category theory for computer scientists[M]. Cambridge: MIT Press, 1991.

[10]SCOTT P J. Some aspects of categories in computer science[J]. Handbook of Algebra, 2000,2:3-77.

“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 亚洲精品少妇熟女| 亚洲日韩精品无码专区97| 伊人国产无码高清视频| 中国丰满人妻无码束缚啪啪| 久久亚洲中文字幕精品一区| 香蕉久久国产超碰青草| 国产成人午夜福利免费无码r| 2021最新国产精品网站| 免费人成网站在线观看欧美| av在线5g无码天天| 日韩A∨精品日韩精品无码| 美女被操91视频| 91小视频在线播放| 国产成人综合日韩精品无码首页| a级毛片免费播放| 91亚洲免费| 中文字幕不卡免费高清视频| 99爱视频精品免视看| 欧美成人在线免费| 伊人欧美在线| 精品无码国产一区二区三区AV| 伊在人亞洲香蕉精品區| 国产精品流白浆在线观看| 99re在线视频观看| 日韩a在线观看免费观看| 亚洲精品成人片在线观看| 免费人成在线观看成人片| 重口调教一区二区视频| 欧美成人影院亚洲综合图| 人妻无码一区二区视频| 国产精品免费入口视频| 欧美日韩在线亚洲国产人| 国产精品2| 五月天综合婷婷| 动漫精品中文字幕无码| 熟妇丰满人妻| 久久国产精品影院| 亚洲精品国产乱码不卡| 国产91av在线| 国产特一级毛片| 国产www网站| 日a本亚洲中文在线观看| 四虎亚洲国产成人久久精品| 欧美www在线观看| 天天色综合4| 国产亚洲欧美在线中文bt天堂| 久久精品中文无码资源站| 国产精品永久不卡免费视频| 亚洲精品欧美重口| 亚洲精品日产AⅤ| 亚洲第一视频免费在线| 国产自在线拍| 操国产美女| 成人午夜在线播放| 米奇精品一区二区三区| 99精品国产高清一区二区| 97视频精品全国在线观看| 热re99久久精品国99热| 91视频免费观看网站| 国产亚洲日韩av在线| 亚洲乱码在线播放| 国产91蝌蚪窝| 国产大片喷水在线在线视频| 国产麻豆va精品视频| 91国内在线观看| 国产美女91视频| 亚洲综合九九| 亚洲欧美日韩高清综合678| 久久国产精品无码hdav| 久久人人妻人人爽人人卡片av| 中文字幕永久视频| 久久不卡国产精品无码| 日韩国产 在线| 91小视频在线观看| www成人国产在线观看网站| 色窝窝免费一区二区三区 | 亚洲毛片在线看| 免费女人18毛片a级毛片视频| 中文字幕人成乱码熟女免费| 毛片手机在线看| 免费精品一区二区h| 久久永久视频|