關(guān)于軟件需求中的不一致性管理(_第1頁(yè)
關(guān)于軟件需求中的不一致性管理(_第2頁(yè)
關(guān)于軟件需求中的不一致性管理(_第3頁(yè)
關(guān)于軟件需求中的不一致性管理(_第4頁(yè)
關(guān)于軟件需求中的不一致性管理(_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、關(guān)于軟件需求中的不一致性管理*Supported by the National Natural Science Key Foundation of China under Grant No.60233010 (國(guó)家自然科學(xué)重點(diǎn)基金); the Grand Project of the National Natural Science Foundation of China under Grant No.60496324 (國(guó)家自然科學(xué)基金重大項(xiàng)目); the National Grand Fundamental Research 973 Program of China under Gran

2、t No.2002CB312004 (國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展規(guī)劃(973); the Knowledge Innovation Program of the Chinese Academy of Sciences (中國(guó)科學(xué)院知識(shí)創(chuàng)新工程項(xiàng)目)作者簡(jiǎn)介: 朱雪峰(1973),男,河南雎縣人,博士生,主要研究領(lǐng)域?yàn)樾枨蠊こ?金芝(1962),女,博士,研究員,博士生導(dǎo)師,CCF高級(jí)會(huì)員,主要研究領(lǐng)域?yàn)槿斯ぶ悄?需求工程,基于知識(shí)的軟件工程.朱雪峰1,2+, 金 芝1,31(中國(guó)科學(xué)院 計(jì)算技術(shù)研究所,北京 100080)2(中國(guó)科學(xué)院 研究生院,北京 100049)3(中國(guó)科學(xué)院 數(shù)學(xué)與系統(tǒng)科學(xué)研

3、究院,北京 100080)Managing the Inconsistency of Software RequirementsZHU Xue-Feng1,2+, JIN Zhi1,31(Institute of Computing Technology, The Chinese Academy of Sciences, Beijing 100080, China)2(Graduate School, The Chinese Academy of Sciences, Beijing 100080, China)3(Academy of Mathematics and System Scienc

4、es, The Chinese Academy of Sciences, Beijing 100080, China)+ Corresponding author: Phn: +86-10-62565533 ext 5668, E-mail: zhuxuefeng, http:/knowledge_Received 2004-10-10; Accepted 2005-02-03Zhu XF, Jin Z. Managing the inconsistency of software requirements. Journal of Software, 2005,16(7): 1221-1231

5、. DOI: 10.1360/jos161221Abstract:Analyzing and handling the inconsistency in requirements is critical to the development of complex software systems. How to solve this problem directly influences the quality of requirements specification, as well as the final software production. Based on a common-r

6、ecognized management framework of requirements inconsistency, this paper summarizes representative researches on this topic. The main aim is to get a comprehensive understanding of the current techniques and methods of inconsistency management. Finally, the paper also identifies some issues which ar

7、e still open to further research.Key words:requirements engineering; requirements specification; management of requirements inconsistency摘 要:復(fù)雜軟件系統(tǒng)開(kāi)發(fā)的一個(gè)關(guān)鍵問(wèn)題是分析和處理可能存在的不一致的需求描述.這個(gè)問(wèn)題解決得好壞直接影響到需求規(guī)格說(shuō)明的質(zhì)量,進(jìn)而影響到最終軟件產(chǎn)品的質(zhì)量.在目前公認(rèn)的一個(gè)不一致需求管理框架的基礎(chǔ)上,就需求不一致性管理方面的有代表性的工作,進(jìn)行了較為系統(tǒng)的分析,以期建立對(duì)當(dāng)前需求工程中,關(guān)于不一致的需求管理方法和技術(shù)的全面認(rèn)

8、識(shí).最后,對(duì)需求不一致性管理方面的研究進(jìn)行了展望.關(guān)鍵詞:需求工程;需求描述;需求不一致性的管理中圖法分類(lèi)號(hào):TP18文獻(xiàn)標(biāo)識(shí)碼: A在人類(lèi)社會(huì)中,知識(shí)和信息的不一致性是普遍存在的.而軟件系統(tǒng)的需求來(lái)自于人類(lèi)對(duì)現(xiàn)實(shí)社會(huì)的知識(shí)和期望1,從有可能不一致的知識(shí)或期望中歸結(jié)出來(lái)的軟件需求也不可避免地存在不一致的可能性.不一致需求是普遍存在的這個(gè)觀點(diǎn)目前已經(jīng)得到廣泛的共識(shí)2-4.另一方面,人類(lèi)社會(huì)允許矛盾的知識(shí)和信息以不同的形式出現(xiàn)在不同的人、甚至同一個(gè)人的身上,而不需要事先進(jìn)行特別的處理,一般都是在矛盾發(fā)生時(shí)才予以考慮.但軟件系統(tǒng)就其本質(zhì)而言是一個(gè)形式系統(tǒng),一旦確定后,機(jī)器只會(huì)照章辦事,因此必須事先確

9、保軟件系統(tǒng)的需求描述是完備、確定和無(wú)矛盾的,否則會(huì)導(dǎo)致軟件系統(tǒng)運(yùn)行時(shí)錯(cuò)誤,直接影響系統(tǒng)的安全性和可靠性.如何管理需求中的不一致性,已經(jīng)成為軟件工程,特別是需求工程中的一個(gè)重要問(wèn)題.目前,已經(jīng)存在一些關(guān)于需求不一致性管理方面的工作,綜合起來(lái)看,可以分為兩大類(lèi).第1類(lèi)是討論一般意義上的需求不一致性管理框架,包括一般的管理原則和主要活動(dòng).第2類(lèi)則結(jié)合具體的需求建模方法,討論具體的需求不一致性分析和處理策略.本文首先介紹一般意義上的需求不一致性管理框架,然后再結(jié)合具體的需求建模方法分析不同的需求不一致分析和處理策略,由于需求不一致產(chǎn)生的根本原因之一,是需求描述元素的指稱域之間存在隱含的重疊關(guān)系,因此本

10、文還在第3節(jié)討論了當(dāng)前關(guān)于描述元素指稱域重疊的檢測(cè)的工作.最后,文章分析了一些代表性方法的特征和優(yōu)缺點(diǎn),并探討了需求不一致性管理的發(fā)展趨勢(shì).1 不一致的需求管理框架對(duì)需求不一致性的管理,還沒(méi)有公認(rèn)為系統(tǒng)性的解決方案.就目前的研究現(xiàn)狀來(lái)看,Nuseibeh等人的工作5可以說(shuō)是具有代表性的,也是最為全面的.他們提出了一個(gè)需求不一致性的管理模式,如圖1所示,其基本思路為,任何需求建模方法都隱含了一組維護(hù)其一致性的規(guī)則,當(dāng)所獲取的需求中包含了不滿足這組一致性規(guī)則約束的命題時(shí),即可認(rèn)為出現(xiàn)了不一致性,需要進(jìn)行進(jìn)一步的處理.在這個(gè)框架中,一致性規(guī)則6起到了至關(guān)重要的作用,因?yàn)槭欠癯霈F(xiàn)了需求不一致性完全是相

11、對(duì)于這些規(guī)則而言的.那么,什么可以作為一致性規(guī)則呢?這個(gè)管理框架并沒(méi)有明確規(guī)定.采用什么作為一致性規(guī)則,完全依賴于系統(tǒng)分析員當(dāng)前的關(guān)注點(diǎn).例如文獻(xiàn)7曾列舉如下的一些可能的一致性規(guī)則:1. 良構(gòu)性規(guī)則:語(yǔ)言的合法性,即需求的表示要符合所采用的描述語(yǔ)言的語(yǔ)法;2. 描述同一性規(guī)則:要求需求描述中完全重疊的不同描述元素必須是同一的;3. 應(yīng)用領(lǐng)域規(guī)則:說(shuō)明在該軟件的應(yīng)用領(lǐng)域中個(gè)體之間應(yīng)滿足的關(guān)系;4. 開(kāi)發(fā)兼容性規(guī)則:要求軟件開(kāi)發(fā)不同階段的模型要遵循相同的約束;5. 開(kāi)發(fā)過(guò)程柔性規(guī)則:項(xiàng)目所遵循的特定的軟件工程實(shí)踐或標(biāo)準(zhǔn)的模型具有柔性.在上述規(guī)則實(shí)例中,有些是可以進(jìn)行自動(dòng)處理的,如規(guī)則1和規(guī)則2;有

12、些是不能進(jìn)行自動(dòng)處理的,如規(guī)則4和規(guī)則5;而如規(guī)則3這樣的規(guī)則是否能夠進(jìn)行自動(dòng)處理,依賴于需求描述和一致性規(guī)則的形式化程度.這個(gè)不一致性管理框架還明確指出了需求不一致性管理中的任務(wù),主要包括:(1) 需求不一致性的檢測(cè)和診斷,包括不一致性的識(shí)別、定位和分類(lèi);(2) 需求不一致性的處理,處理策略包括立即消除、暫時(shí)容忍和完全忽略;(3) 需求不一致性的度量以及對(duì)需求不一致性的影響和風(fēng)險(xiǎn)評(píng)估.這個(gè)框架可以說(shuō)是普適的.但是它只給出了一個(gè)總體的結(jié)構(gòu)和過(guò)程,其對(duì)不一致需求處理的能力,比如說(shuō)能夠管理哪種形式(如語(yǔ)法上或語(yǔ)義上)的不一致性以及管理到何種程度(如自動(dòng)化程度等),則完全依賴于所預(yù)定的一致性規(guī)則以及

13、需求的表示形式及其形式化程度.另一類(lèi)相關(guān)研究工作是多視點(diǎn)需求建模的不一致性管理8,多視點(diǎn)方法從不同視點(diǎn)對(duì)系統(tǒng)進(jìn)行了劃分,它將系統(tǒng)整體需求劃分為多個(gè)相互獨(dú)立的局部視圖,并使用不同的手段對(duì)多個(gè)視點(diǎn)分別進(jìn)行建模,以期獲得盡可能完備的系統(tǒng)需求.需求不一致性管理在多視點(diǎn)需求建模方法中格外重要,這是因?yàn)槎嘁朁c(diǎn)方法用視點(diǎn)劃分實(shí)現(xiàn)了系統(tǒng)的分解,要求從多個(gè)視點(diǎn)進(jìn)行系統(tǒng)建模,在最后進(jìn)行系統(tǒng)視點(diǎn)集成的時(shí)候,分別建模的多個(gè)視點(diǎn)模型之間常常蘊(yùn)涵不一致的信息,必須考慮這些不一致信息的管理問(wèn)題.多視點(diǎn)需求建模中的不一致性管理主要考慮的也是上述幾個(gè)方面的問(wèn)題.Fig.1 Rule-Based management frame

14、work of requirements inconsistency5圖1 基于一致性規(guī)則的需求不一致性管理框架52 需求不一致性處理的主要方法自動(dòng)(或半自動(dòng))的需求不一致性分析和處理方法,與需求建模的原則和需求模型的表示形式密切相關(guān).目前有代表性的研究工作可分為3類(lèi),第1類(lèi),采用經(jīng)典邏輯或準(zhǔn)經(jīng)典邏輯作為需求表示形式,并利用定理證明技術(shù)進(jìn)行需求不一致性的處理;第2類(lèi),采用狀態(tài)變遷作為需求建模原則,并利用模型檢驗(yàn)技術(shù)進(jìn)行需求不一致性的處理;第3類(lèi),以系統(tǒng)目標(biāo)這個(gè)元概念作為需求建模原則,并利用目標(biāo)的語(yǔ)義模式和關(guān)于目標(biāo)的啟發(fā)式規(guī)則進(jìn)行需求不一致性的處理.2.1 基于定理證明的方法此類(lèi)方法的主要特征是

15、:假設(shè)任何需求描述都可以表示為邏輯斷言,采用經(jīng)典邏輯、時(shí)態(tài)邏輯或其他非經(jīng)典邏輯等作為需求描述的形式化表示形式,利用定理證明的手段,采用標(biāo)準(zhǔn)邏輯推理規(guī)則,如歸結(jié)、聯(lián)結(jié)、否定消除、全稱量詞的實(shí)例化,以及其他一些類(lèi)似于封閉世界假設(shè)這樣的規(guī)則,找出需求描述中蘊(yùn)涵的矛盾.若檢測(cè)出矛盾,即表明存在不一致的需求描述.這種方法的優(yōu)點(diǎn)是能夠支持自動(dòng)的需求不一致性檢測(cè),并具有良定的檢測(cè)過(guò)程和語(yǔ)義.但是定理證明在計(jì)算上的低效率妨礙了技術(shù)本身的可行性,此外,一階邏輯的半可判定性也限制了這種技術(shù)的實(shí)用性.按處理能力來(lái)分,這種方法又可以進(jìn)一步分為基于經(jīng)典邏輯的方法和基于準(zhǔn)經(jīng)典邏輯的方法兩種.2.1.1 基于經(jīng)典邏輯的方法

16、早期采用經(jīng)典邏輯進(jìn)行需求不一致性檢測(cè)的工作9,10,典型的是以CORE11作為需求獲取框架的.在CORE框架中,需求分為兩個(gè)部分:AS(Agent structuring)階段產(chǎn)生的全局Agent層次(如文獻(xiàn)9中的圖6)以及TC(table collection)階段產(chǎn)生的活動(dòng)表(如文獻(xiàn)9中的圖4)的集合.在進(jìn)行需求不一致性檢測(cè)之前,首先需要為CORE框架定義一組一致性規(guī)則,例如:· 視點(diǎn)內(nèi)一致性規(guī)則:活動(dòng)表中的任何“源(source)”和“目的地(destination)”都必須在Agent層次上作為一個(gè)葉子Agent出現(xiàn).· 視點(diǎn)間一致性規(guī)則:由Agent(X)的一個(gè)活

17、動(dòng)表產(chǎn)生的到目的地(Y)的輸出(Z),必須作為(Y)的某個(gè)活動(dòng)表的來(lái)自源(X)的輸入(Z).具體處理過(guò)程是,首先將CORE活動(dòng)表所表示的活動(dòng)定義為如下形式的事實(shí)公式:table(Source,Input,Action,Output,Destination)構(gòu)成活動(dòng)事實(shí)庫(kù),再將所規(guī)定的一致性規(guī)則表示為對(duì)應(yīng)的邏輯蘊(yùn)涵式.然后,利用帶封閉世界假設(shè)的經(jīng)典邏輯定理證明器,來(lái)驗(yàn)證這組邏輯公式集合的一致性.若出現(xiàn)矛盾的推論,則表明這組需求描述中蘊(yùn)涵矛盾.由于經(jīng)典邏輯在出現(xiàn)不一致的情況下就無(wú)法再進(jìn)行推理,因此需求一致性檢測(cè)工作到此即結(jié)束了.對(duì)所存在的不一致需求的定位、診斷和處理都需要依靠人工完成.2.1.2

18、基于帶標(biāo)記的準(zhǔn)經(jīng)典邏輯的方法由于在存在矛盾的斷言集中,經(jīng)典邏輯會(huì)產(chǎn)生毫無(wú)意義的結(jié)論.因此,一旦檢測(cè)到存在不一致的需求,不一致性的處理工作就無(wú)法繼續(xù)進(jìn)行下去.而越來(lái)越多的實(shí)踐表明,很多情況下要求(暫時(shí))容忍不一致的需求描述5.為了能夠暫時(shí)容忍不一致的需求描述,并跟蹤不一致性產(chǎn)生的根源,文獻(xiàn)12提出用帶標(biāo)記的準(zhǔn)經(jīng)典邏輯(labeled quasi-classical logic)來(lái)進(jìn)行需求不一致的檢測(cè).就表示形式而言,準(zhǔn)經(jīng)典邏輯與經(jīng)典邏輯的區(qū)別,在于準(zhǔn)經(jīng)典邏輯嚴(yán)格區(qū)分了正原子公式和負(fù)原子公式,從而在推理過(guò)程中能夠容忍經(jīng)典邏輯意義下的矛盾.帶標(biāo)記的準(zhǔn)經(jīng)典邏輯與準(zhǔn)經(jīng)典邏輯具有同樣的表達(dá)能力,其不同之處

19、在于,帶標(biāo)記的準(zhǔn)經(jīng)典邏輯子句集中的每個(gè)子句前面都附帶了一個(gè)標(biāo)號(hào)的集合,即,若a為一個(gè)準(zhǔn)經(jīng)典邏輯的子句,而x為一原子符號(hào)集合(例如字母表),如果iÎx,則i:a為一個(gè)帶標(biāo)記的準(zhǔn)經(jīng)典邏輯子句.就推理能力而言,帶標(biāo)記的準(zhǔn)經(jīng)典邏輯與經(jīng)典邏輯的主要區(qū)別在于:(1) 不利用封閉世界假設(shè),只推斷在原子公式集中直接包含的原子公式,并允許同一原子公式的正負(fù)形式同時(shí)出現(xiàn)在一個(gè)模型中,阻止對(duì)形為aÙØa的公式進(jìn)行推理,即禁止所有的平凡推理;(2) 擴(kuò)展可滿足性關(guān)系,分別定義強(qiáng)可滿足性和弱可滿足性,其中強(qiáng)可滿足性阻止在析取推理中引入無(wú)意義的原子公式;(3) 對(duì)每個(gè)子句附加標(biāo)號(hào)的集合,同一

20、標(biāo)號(hào)集合下子句的歸結(jié)保持標(biāo)號(hào)集合不變,不同標(biāo)號(hào)的子句歸結(jié),除進(jìn)行子句的歸結(jié)以外尚需進(jìn)行標(biāo)號(hào)集合的合并.以上3點(diǎn)措施使帶標(biāo)記的準(zhǔn)經(jīng)典邏輯不會(huì)產(chǎn)生無(wú)意義的結(jié)論,從而能夠容忍經(jīng)典邏輯意義下的矛盾(由上述(1)和(2),同時(shí),子句所帶標(biāo)號(hào)的集合記錄了產(chǎn)生矛盾的根源(由(3).文獻(xiàn)12進(jìn)一步提出了對(duì)不一致的需求描述進(jìn)行處理的方法.當(dāng)檢測(cè)到存在不一致的需求描述時(shí),可以進(jìn)行3類(lèi)不產(chǎn)生變化的行為:(1) 確定不一致的性質(zhì):從全體需求描述出發(fā),構(gòu)造最大一致斷言集的集合,根據(jù)每個(gè)斷言和最大一致斷言集之間的關(guān)系,將斷言劃分為3類(lèi),即存在推斷、全稱推斷和自由推斷*由一個(gè)最大一致斷言集推出的斷言稱為存在斷言,由所有最大

21、一致斷言集推出的斷言稱為全稱推斷,由最大一致斷言集的交集推出的斷言稱為自由斷言.;(2) 識(shí)別不一致性的來(lái)源:由于需求描述采用帶標(biāo)記的邏輯公式,推理過(guò)程采用的也是帶標(biāo)記的準(zhǔn)經(jīng)典邏輯推理規(guī)則,推理過(guò)程中的任何結(jié)論都存在標(biāo)記的集合作為該結(jié)論的標(biāo)記,標(biāo)記的集合即記錄了需求不一致性的來(lái)源;(3) 定義一些元級(jí)規(guī)則來(lái)給出需求不一致性處理的建議:如,不一致的需求出現(xiàn)在全稱推斷中必須要去除,出現(xiàn)在存在推斷中則必須謹(jǐn)慎處理.2.2 基于模型檢驗(yàn)的方法模型檢驗(yàn)是一種驗(yàn)證有限狀態(tài)并發(fā)系統(tǒng)的形式化方法13,這種系統(tǒng)由一組系統(tǒng)狀態(tài)變量來(lái)刻畫(huà),這組系統(tǒng)狀態(tài)變量的不同取值表示系統(tǒng)的一個(gè)可能的狀態(tài).系統(tǒng)的需求則表示為隨著系

22、統(tǒng)的執(zhí)行,系統(tǒng)的可能狀態(tài)之間的變遷關(guān)系.形式化地說(shuō),一個(gè)狀態(tài)變遷系統(tǒng)áQ,R,Iñ由一組狀態(tài)Q、狀態(tài)變遷關(guān)系RÍQ´Q以及初始狀態(tài)集IÍQ組成.路徑是狀態(tài)的無(wú)限序列,使得每個(gè)相鄰狀態(tài)對(duì)都屬于R.狀態(tài)集合Q一般由一組狀態(tài)變量編碼,使得Q到變量值的映射是一對(duì)一的.目前最為常見(jiàn)的模型檢測(cè)工具是SMV14和SPIN15.文獻(xiàn)16是最早研究模型檢驗(yàn)在檢測(cè)需求規(guī)格說(shuō)明中與應(yīng)用相關(guān)的錯(cuò)誤的工作,文獻(xiàn)17則描述了一個(gè)形式分析技術(shù),稱為一致性檢查技術(shù),使用模型檢驗(yàn)技術(shù)自動(dòng)檢測(cè)需求描述中的錯(cuò)誤.文獻(xiàn)18中給出了一個(gè)基于模型檢驗(yàn)技術(shù)的需求不一致性處理框架,如圖2所示

23、.采用模型檢驗(yàn)進(jìn)行需求不一致檢測(cè)的主要特征是:需要將系統(tǒng)的需求表示為特定的面向狀態(tài)的語(yǔ)言,然后用面向這種語(yǔ)言的狀態(tài)計(jì)算工具來(lái)驗(yàn)證各種性質(zhì).其優(yōu)點(diǎn)是,具有與基于定理證明一樣的良定的檢測(cè)過(guò)程和語(yǔ)義;缺點(diǎn)是,可能會(huì)由于狀態(tài)空間的指數(shù)性增長(zhǎng)而影響算法的效率,同時(shí)只能檢測(cè)出某些特定類(lèi)型的不一致性.Fig.2 Inconsistency handling framework of requirements based on model checking18圖2 基于模型檢驗(yàn)技術(shù)的需求不一致性處理框架182.2.1 SCR中的需求不一致性處理這個(gè)方面的一個(gè)典型工作是SCR(software cost red

24、uction)方法19,其主要思想是軟件系統(tǒng)的四變量模型,即軟件系統(tǒng)的行為可以由4個(gè)變量(即監(jiān)測(cè)變量、控制變量、輸入數(shù)據(jù)和輸出數(shù)據(jù))之間的一組關(guān)系精確刻畫(huà),其中監(jiān)測(cè)變量和控制變量分別是影響系統(tǒng)行為的環(huán)境變量和系統(tǒng)所控制的環(huán)境變量.用兩個(gè)關(guān)系集REQ和NAT描述環(huán)境,其中NAT包含關(guān)于監(jiān)測(cè)變量和控制變量之間的約束;而REQ則定義要建立的系統(tǒng)的其他約束,即針對(duì)監(jiān)測(cè)變量和控制變量,系統(tǒng)所必須維護(hù)的關(guān)系.另外還有兩個(gè)關(guān)系集IN和OUT,用來(lái)描述環(huán)境與系統(tǒng)的交互,IN是從監(jiān)測(cè)變量到輸入數(shù)據(jù)的映射,而OUT是從輸出數(shù)據(jù)到控制回來(lái)的變量的映射.在上述思想的基礎(chǔ)上,文獻(xiàn)17建立了形式化需求模型,將軟件系統(tǒng)定義

25、為四元組áEm,S,S0,Tñ,其中Em為一組輸入事件,S為可能的系統(tǒng)狀態(tài)集,S0為初始狀態(tài),T為形為Em´S®S的部分函數(shù),表示系統(tǒng)狀態(tài)變遷.在進(jìn)行模型檢驗(yàn)之前,首先需要將SCR描述轉(zhuǎn)換為相應(yīng)的工具(如SMV)所使用的語(yǔ)言,SMV計(jì)算出系統(tǒng)在任何狀態(tài)下其變量值的合法組合(狀態(tài)不變性),以及在狀態(tài)變遷后變量值的合法變化(變遷不變性).可以檢測(cè)出的需求不一致性包括:SCR描述的語(yǔ)法和類(lèi)型正確性、SCR描述的無(wú)循環(huán)和無(wú)不確定性等,這都可以通過(guò)定義依賴于表示結(jié)構(gòu)的過(guò)程來(lái)完成.2.2.2 RSML中的需求不一致性處理另一類(lèi)使用模型檢驗(yàn)技術(shù)進(jìn)行需求不一致性檢測(cè)的工

26、作,則以RSML20(requirements state machine language)作為其需求描述語(yǔ)言.RSML是一種基于狀態(tài)圖的狀態(tài)機(jī)語(yǔ)言,這種語(yǔ)言是傳統(tǒng)狀態(tài)圖的一個(gè)擴(kuò)展,它一方面建立了狀態(tài)的層次,另一方面允許狀態(tài)之間的廣播式變遷.文獻(xiàn)18的工作就是使用RSML作為其需求描述語(yǔ)言的.它在進(jìn)行模型檢驗(yàn)之前同樣需要將RSML的需求描述翻譯成SMV的表示.使用SMV檢測(cè)的特性包括:(1) 絕大多數(shù)RSML規(guī)格說(shuō)明中應(yīng)該成立的特性:包括需求描述中是否出現(xiàn)不確定性變遷、功能定義是否一致、狀態(tài)機(jī)的終止性等;(2) 應(yīng)用領(lǐng)域的特性:如應(yīng)用領(lǐng)域?qū)δ承顟B(tài)變量的取值范圍約束或者帶條件的約束是否滿足,

27、多個(gè)與現(xiàn)實(shí)相關(guān)的顯示信息之間的對(duì)應(yīng)性是否得到滿足等.2.3 基于目標(biāo)的方法與上述僅依賴需求表示形式的方法不同,KAOS方法21,22的不一致需求管理策略依賴于其需求建模理念“目標(biāo)”的語(yǔ)義.KAOS方法認(rèn)為任何軟件系統(tǒng)都是用來(lái)實(shí)現(xiàn)或達(dá)到一個(gè)或一組系統(tǒng)目標(biāo)的,其需求抽取過(guò)程表現(xiàn)為,首先確定一個(gè)目標(biāo),再通過(guò)目標(biāo)的抽象、泛化和分解、求精,開(kāi)發(fā)出一個(gè)目標(biāo)的層次結(jié)構(gòu),然后以這個(gè)目標(biāo)的層次結(jié)構(gòu)為基礎(chǔ),通過(guò)一個(gè)元模型,關(guān)聯(lián)上需要獲取的其他概念,如任務(wù)、Agent、資源對(duì)象等,以及這些概念間的關(guān)聯(lián)和約束.由于KAOS方法的需求建模元語(yǔ)(即目標(biāo))具有自身的語(yǔ)義,因此,對(duì)矛盾的處理更具語(yǔ)義特征.2.3.1 矛盾的分

28、類(lèi)21,22首先,KAOS區(qū)分了需求不一致的4種程度,其中包括:· 矛盾.在一個(gè)領(lǐng)域Dom中,一組斷言A1,¼,An之間出現(xiàn)矛盾,當(dāng)且僅當(dāng)下列條件成立:(1) Dom,Ù1£i£n Ai False(邏輯不一致)(2) 對(duì)任意的i:Dom,Ùj¹i Aj False(最小性)· 分歧.在一個(gè)領(lǐng)域Dom中,一組斷言A1,¼,An之間出現(xiàn)分歧,當(dāng)且僅當(dāng)存在邊界條件B,使得:(1) Dom,B,Ù1£i£n Ai False(邏輯不一致)(2) 對(duì)任意的i:Dom,B,Ù

29、j¹i Aj False(最小性)(3) 存在一個(gè)場(chǎng)景S和時(shí)間點(diǎn)i使得:(S,i)B(可行性)· 競(jìng)爭(zhēng).競(jìng)爭(zhēng)是單個(gè)目標(biāo)中分歧的一種特殊情況,由下列條件來(lái)刻畫(huà):(1) 目標(biāo)由形為("x:X)Ax的斷言表示(2) Dom,B,ÙiÎI Axi False(對(duì)某個(gè)I)(3) Dom,B,ÙiÎJ Axi False(對(duì)任意JÌI)(4) 存在一個(gè)場(chǎng)景S和時(shí)間點(diǎn)i使得:(S,i)B· 障礙.障礙是在只涉及單個(gè)斷言時(shí)分歧的一種邊界情況:(1) Dom,B,A False(2) Dom,B False(3) 存在一個(gè)

30、場(chǎng)景S和時(shí)間點(diǎn)i使得:(S,i)B不難看出,在KAOS方法中,目標(biāo)之間可能存在的不一致性是分歧.矛盾是分歧在B=True時(shí)的一種特殊情況,而競(jìng)爭(zhēng)和障礙則又是分歧的另外兩種特殊情況,其中,障礙是在一般的分歧情況下取n=1時(shí)的情況.2.3.2 分歧檢測(cè)技術(shù)KAOS方法根據(jù)目標(biāo)的語(yǔ)義定義了4種目標(biāo)模式,其中采用了一些時(shí)態(tài)算子*采用的時(shí)態(tài)算子包括:(下一個(gè)狀態(tài))、(前一個(gè)狀態(tài))、(將來(lái)某個(gè)時(shí)刻)、(過(guò)去某個(gè)時(shí)刻)、(將來(lái)總是)、(過(guò)去總是)、W(除非¼,則將來(lái)總是)、U(直到¼,則將來(lái)總是)等.:Achieve:; Cease:; Maintain:W; Avoid:W.KAOS方

31、法的目標(biāo)分歧檢測(cè)是找出使分歧出現(xiàn)的邊界條件,有3種分歧檢測(cè)技術(shù):反向推理技術(shù)、基于分歧模式的技術(shù)以及基于啟發(fā)式規(guī)則的技術(shù),其中前兩種為形式化技術(shù),而第3種屬于人工合作檢測(cè)技術(shù).· 反向推理技術(shù):假設(shè)系統(tǒng)目標(biāo)和領(lǐng)域描述均采用形為AÞC的子句來(lái)表示,檢測(cè)過(guò)程為(1) 取B:=ØAi;(2) 令A(yù)ÞC為所選擇的規(guī)則,其中C與B中某個(gè)子公式L相匹配;則有m:=mgu(L,C)*其中mgu(F1,F2)為F1和F2的最一般一致化取代,F.m表示將一致性取代m中的取代應(yīng)用到F中產(chǎn)生的結(jié)果,FF1/F2表示用F2替換公式F中F1的所有出現(xiàn).,B:=BL/A.m;

32、83; 基于分歧模式的技術(shù)(1) 定義目標(biāo)模式,如前所示4種模式;(2) 定義分歧模式,例如,Achieve-Avoid分歧模式:由PÞàQ,RÞÿØS,QÞS得到邊界條件為à(PÙR);(3) 通過(guò)目標(biāo)實(shí)例和分歧模式的匹配,得到分歧出現(xiàn)的邊界條件.· 人工合作檢測(cè)技術(shù):KAOS方法還定義了目標(biāo)的語(yǔ)義分類(lèi),包括SatisfactionGoal,InformationGoal, SecurityGoal,SafetyGoal,AccuracyGoal等,同時(shí)提供了一組啟發(fā)式規(guī)則來(lái)識(shí)別分歧,包括:(1) 若S

33、atisfactionGoal目標(biāo)與SafetyGoal目標(biāo)涉及同一對(duì)象,則應(yīng)考慮其間出現(xiàn)分歧的可能性.(2) 若ConfidentialityGoal目標(biāo)和InformationGoal目標(biāo)涉及同一對(duì)象,則應(yīng)考慮其間出現(xiàn)分歧的可能性.(3) 若兩個(gè)OptimizeGoal目標(biāo)干預(yù)了同一個(gè)對(duì)象的屬性,則應(yīng)考慮其關(guān)注事件之間出現(xiàn)分歧的可能性.(4) 若同一個(gè)SatisfactionGoal目標(biāo)有關(guān)于多個(gè)Agent的實(shí)例,則應(yīng)考慮出現(xiàn)競(jìng)爭(zhēng)分歧的可能性.2.3.3 分歧處理方法對(duì)于檢測(cè)出來(lái)的分歧,KAOS方法提供相應(yīng)的技術(shù)和啟發(fā)式進(jìn)行處理,主要策略包括:(1) 避免邊界條件:由于出現(xiàn)不一致的原因是邊

34、界條件的出現(xiàn),因此最直接的策略是防止邊界條件的出現(xiàn),可以通過(guò)引入一個(gè)新目標(biāo)ðØB即可達(dá)到此目的,其中B為要阻止的邊界條件.(2) 目標(biāo)修補(bǔ):當(dāng)邊界條件無(wú)法避免時(shí)則引入一個(gè)新的目標(biāo),表示如果邊界條件B出現(xiàn)的話,有分歧的目標(biāo)斷言Ai在某個(gè)合理的將來(lái)就為真,即.(3) 矛盾預(yù)測(cè):當(dāng)發(fā)現(xiàn)存在一些持久條件P,使得在某個(gè)上下文C中,如果P存留太久,則以后將會(huì)不可避免地陷入矛盾,即ð£dPØ,則引入新目標(biāo)避免預(yù)計(jì)的矛盾:.(4) 目標(biāo)弱化:通過(guò)弱化出現(xiàn)分歧的目標(biāo)形式以使分歧消失,可使用下列目標(biāo)弱化模式:(i) 時(shí)態(tài)放松:如,弱化為(其中c>d)、弱化&

35、#240;£d A為ð£c A(其中c<d).(ii) 轉(zhuǎn)化Achieve-Avoid分歧模式或ðØQ為:(a) 弱化第1個(gè)斷言:;(b) 保留第2個(gè)斷言:ðØQ;(c) 通過(guò)增加新的目標(biāo)來(lái)強(qiáng)化需求說(shuō)明:.(5) 選擇其他的目標(biāo)求精:若遇到上述策略無(wú)法解決的分歧,可嘗試對(duì)目標(biāo)的另一種求精,以期獲得無(wú)分歧的子目標(biāo).(6) 分歧消解啟發(fā)式:提供一組處理分歧的啟發(fā)式規(guī)則,幫助人工解決分歧.2.4 基于圖的需求描述一些需求建模方法采用面向?qū)ο蟮膱D形形式來(lái)表達(dá)需求.針對(duì)這些方法,其需求不一致性檢測(cè)的策略是,通過(guò)給定某些特定的圖的

36、性質(zhì),或者某些特定的圖元的語(yǔ)義等,檢測(cè)出一個(gè)需求描述內(nèi)部、或一組需求描述間的不一致性.文獻(xiàn)23針對(duì)面向?qū)ο蟮男枨笠?guī)格說(shuō)明,提出用場(chǎng)景模型與類(lèi)模型相結(jié)合,為軟件系統(tǒng)的功能性需求建模,其中場(chǎng)景被定義為參與者之間(通常是系統(tǒng)與一組外部參與者之間)交互的有序集合,可以是具體的交互步驟的序列(實(shí)例場(chǎng)景),或者一組可能的交互步驟(類(lèi)型場(chǎng)景).其需求不一致性處理的策略包括:(1) 最小化描述之間的重疊,減少出現(xiàn)矛盾的可能;(2) 系統(tǒng)地建立交叉引用的相關(guān)信息,檢測(cè)交叉引用的不一致.所謂交叉引用是指:場(chǎng)景描述中創(chuàng)建了一個(gè)響應(yīng),則要求類(lèi)模型中存在一個(gè)類(lèi)的對(duì)象有活動(dòng)與此響應(yīng)相對(duì)應(yīng)(即實(shí)現(xiàn)這個(gè)響應(yīng)).系統(tǒng)地建立交叉

37、引用信息,即在場(chǎng)景描述中的每個(gè)交互上標(biāo)記要涉及的類(lèi)模型中的對(duì)象(或?qū)ο髮傩?.(3) 定義一組檢測(cè)規(guī)則用特定工具進(jìn)行自動(dòng)檢測(cè),或由系統(tǒng)分析員進(jìn)行系統(tǒng)的手工檢測(cè).3 指稱域重疊的檢測(cè)需求是現(xiàn)實(shí)世界一組現(xiàn)象的描述,是由一組符號(hào)構(gòu)成的,這組符號(hào)稱為需求描述的描述元素,每個(gè)描述元素都對(duì)應(yīng)于現(xiàn)實(shí)世界中的一個(gè)或一組現(xiàn)象,某個(gè)特定符號(hào)的指稱域則為該符號(hào)所對(duì)應(yīng)的現(xiàn)實(shí)世界現(xiàn)象的集合.指稱域的重疊就是一組符號(hào)所對(duì)應(yīng)的現(xiàn)實(shí)世界現(xiàn)象集合間的重疊關(guān)系.文獻(xiàn)24定義了兩個(gè)描述元素指稱域之間的4種關(guān)系,即無(wú)重疊(指稱域不相交)、完全重疊(指稱域完全相同)、包含性重疊(一個(gè)元素的指稱域完全包含另外一個(gè)元素的指稱域)和部分重疊

38、(指稱域相交,但既非完全重疊也非包含性重疊).只有當(dāng)二元素的指稱域出現(xiàn)后3種情況時(shí),才有可能導(dǎo)致需求描述的不一致性.指稱域重疊是出現(xiàn)需求不一致性的根本原因7,24,指稱域重疊的檢測(cè)是需求不一致性管理中的一個(gè)主要問(wèn)題.目前這方面的工作可以分為如下4類(lèi).3.1 人工審查方法由參與需求獲取的系統(tǒng)分析員識(shí)別需求描述元素之間的指稱域重疊關(guān)系,優(yōu)點(diǎn)是所得結(jié)果的確定性,并可以采用不同的表示方法;缺點(diǎn)是效率低、主觀性強(qiáng)、自動(dòng)化支持程度不高以及不具備可擴(kuò)展性等.人工審查是目前應(yīng)用最為廣泛的方法.文獻(xiàn)25提出需要識(shí)別不同需求描述之間的“強(qiáng)”對(duì)應(yīng)性和“弱”對(duì)應(yīng)性,分別相當(dāng)于指稱域的完全重疊關(guān)系和部分重疊關(guān)系;文獻(xiàn)2

39、6提出需要說(shuō)明需求描述元素之間的“相對(duì)物”關(guān)系,對(duì)應(yīng)于指稱域的完全重疊關(guān)系;文獻(xiàn)27采用Z語(yǔ)言表示需求,提出需要提供所使用的變量間的“對(duì)應(yīng)”關(guān)系,相當(dāng)于指稱域的完全重疊關(guān)系,并利用這些關(guān)系在Z框架組合時(shí)檢測(cè)出需求不一致性.文獻(xiàn)28提出在建立需求描述之前,必須建立精確的“基項(xiàng)”集合,其中每個(gè)“基項(xiàng)”都要通過(guò)指派建立起與現(xiàn)實(shí)世界的關(guān)聯(lián),需求描述中出現(xiàn)的其他項(xiàng)則可以通過(guò)定義關(guān)聯(lián)到“基項(xiàng)”或其他已定義的項(xiàng)上.這些“基項(xiàng)”的指派提供了需求描述與現(xiàn)實(shí)世界之間的橋梁,通過(guò)這個(gè)指派,需求描述中的所有項(xiàng)就能直接或間接地關(guān)聯(lián)到現(xiàn)實(shí)世界的可觀察現(xiàn)象上.3.2 基于共享本體的方法由系統(tǒng)分析員在所用到的描述元素上標(biāo)記共

40、享本體中的指定項(xiàng).此標(biāo)記指定了該描述元素在由共享本體給出的問(wèn)題域中的解釋,可以用來(lái)識(shí)別不同需求描述元素之間的關(guān)系.其優(yōu)點(diǎn)是具有一定程度的自動(dòng)判斷能力,并可以采用不同的表達(dá)形式;缺點(diǎn)是結(jié)果的質(zhì)量依賴于所有需求獲取主體對(duì)共享本體的理解和認(rèn)識(shí)的一致性程度,并且只能識(shí)別粗粒度的重疊關(guān)系.文獻(xiàn)29將領(lǐng)域模型作為共享本體,該本體給出了詳盡的領(lǐng)域?qū)ο髮哟谓Y(jié)構(gòu)、對(duì)象間關(guān)系、希望達(dá)到的目標(biāo)以及實(shí)現(xiàn)這些目標(biāo)的操作子等,通過(guò)實(shí)例化本體表示的領(lǐng)域模型得到能為Oz系統(tǒng)29所處理的描述.該文假設(shè)實(shí)例化領(lǐng)域模型中同一個(gè)目標(biāo)的描述元素是完全重疊的.文獻(xiàn)30同樣采用共享領(lǐng)域本體作為需求描述的基礎(chǔ),但是與文獻(xiàn)29不同的是,文獻(xiàn)3

41、0中的本體是現(xiàn)實(shí)世界中現(xiàn)象的形式化,本體中元素作為軟件需求描述所依據(jù)的類(lèi)型體系,而軟件需求描述則作為領(lǐng)域模型的實(shí)例.因此僅由領(lǐng)域本體無(wú)法完全確立指稱域重疊關(guān)系,還必須同時(shí)用到下面的表示慣例方法.3.3 基于表示慣例的方法在需求表達(dá)完全形式化的基礎(chǔ)上,最簡(jiǎn)單、最常用的表示慣例是名唯一假設(shè),即同名描述元素完全相同,不同名描述元素?zé)o重疊.其優(yōu)點(diǎn)是簡(jiǎn)單、直觀,缺點(diǎn)是無(wú)法處理同義詞和近義詞問(wèn)題、不能表示部分重疊關(guān)系、對(duì)模型的異構(gòu)性敏感等.名唯一假設(shè)在常見(jiàn)的模型檢驗(yàn)工具、定理證明技術(shù)等基于一致化算法9,14的方法中被普遍采用.3.4 基于相似性度量的方法此方法認(rèn)為需求描述語(yǔ)言中的某些語(yǔ)言構(gòu)造子實(shí)際上隱含了

42、用該語(yǔ)言描述的現(xiàn)象之間的重疊關(guān)系.例如,面向?qū)ο蠼UZ(yǔ)言中的is-a關(guān)系,在集合包含的語(yǔ)義上就隱含了指稱域包含性重疊或完全重疊關(guān)系.其優(yōu)點(diǎn)是可自動(dòng)識(shí)別重疊關(guān)系,并可采用不同的需求表達(dá)語(yǔ)言;缺點(diǎn)是不同模型之間需要通過(guò)元模型相關(guān)聯(lián),對(duì)模型的異構(gòu)性比較敏感,并且所得結(jié)果并非總是精確的.存在一些方法實(shí)現(xiàn)基于相似性度量的重疊判斷,文獻(xiàn)31提出不同需求描述之間的結(jié)構(gòu)和語(yǔ)義上的相似性判定方法,文獻(xiàn)32中提出了構(gòu)成部分領(lǐng)域特定本體的模型和抽象結(jié)構(gòu)上的相似性判定方法.4 分析比較和結(jié)束語(yǔ)從需求抽取原則和表示形式、需求描述的粒度、描述元素指稱域重疊的檢測(cè)、需求不一致性的檢測(cè)、需求不一致性的定位、需求不一致性的消解

43、、實(shí)現(xiàn)方式等角度出發(fā),通過(guò)深入分析可以得到現(xiàn)有的需求不一致性管理方法的特點(diǎn):· 基于經(jīng)典邏輯的方法9,10:將需求描述為經(jīng)典邏輯斷言,描述粒度要細(xì)到能夠刻畫(huà)對(duì)象屬性;指稱域重疊的檢測(cè)采用謂詞和參數(shù)名的唯一原則;采用定理證明技術(shù)進(jìn)行需求不一致性的檢測(cè),但是未提供需求不一致性的定位和消解手段;其實(shí)現(xiàn)借助于定理證明器,檢測(cè)過(guò)程可以自動(dòng)進(jìn)行.· 基于帶標(biāo)記的準(zhǔn)經(jīng)典邏輯的方法12:將需求描述為帶標(biāo)記的準(zhǔn)經(jīng)典邏輯斷言,描述粒度要細(xì)到能夠刻畫(huà)對(duì)象屬性;指稱域重疊的檢測(cè)采用謂詞、參數(shù)和標(biāo)記名的唯一原則;采用定理證明技術(shù)進(jìn)行需求不一致性的檢測(cè),其中沖突源就是標(biāo)號(hào)的集合,并用標(biāo)記的集合來(lái)確定來(lái)

44、源和極大一致子集;借助于定理證明器來(lái)實(shí)現(xiàn),檢測(cè)和定位過(guò)程可自動(dòng)進(jìn)行.· 基于目標(biāo)的方法21,22:將需求表示為系統(tǒng)的目標(biāo)分解樹(shù),因此可以針對(duì)不同抽象程度的目標(biāo);采用目標(biāo)名唯一假設(shè)進(jìn)行指稱域重疊的檢測(cè);用啟發(fā)式規(guī)則進(jìn)行分歧檢測(cè),用目標(biāo)模式尋找分歧出現(xiàn)的邊界條件,并通過(guò)分歧處理模式和啟發(fā)式加以解決;但是目標(biāo)檢測(cè)和分析工具需要專門(mén)設(shè)計(jì).· 基于模型檢驗(yàn)的方法13-19:將需求表示為狀態(tài)變遷系統(tǒng),描述粒度要細(xì)到能夠刻畫(huà)系統(tǒng)的狀態(tài)變遷;采用狀態(tài)名和狀態(tài)取值的唯一進(jìn)行指稱域重疊的檢測(cè);若系統(tǒng)狀態(tài)變遷之間存在沖突,則表明出現(xiàn)需求不一致,但是未提供需求不一致的定位和消解策略;其實(shí)現(xiàn)是,首先

45、將系統(tǒng)狀態(tài)模型轉(zhuǎn)換為模型檢驗(yàn)工具要求的表示形式,再借助于模型檢驗(yàn)工具實(shí)現(xiàn).· 基于圖形表示的方法23:需求用關(guān)聯(lián)圖的形式表示,可以針對(duì)不同的表示粒度;采用人工審查及表示慣例方法進(jìn)行指稱域重疊的檢測(cè);通過(guò)尋找圖形間交叉引用的不一致性來(lái)檢測(cè)和定位需求不一致性,通過(guò)人工處理來(lái)實(shí)現(xiàn)對(duì)需求不一致性的消解;通過(guò)定義交叉引用的規(guī)范規(guī)則,借助圖形搜索算法來(lái)實(shí)現(xiàn).可以看出,所有方法都以需求獲取和需求描述的原則為出發(fā)點(diǎn),根據(jù)不同的需求表示形式,采用不同的處理策略.從某種程度上來(lái)說(shuō),除KAOS方法以外,其余方法都是在語(yǔ)法層次上處理了需求的不一致性.在兩種自動(dòng)化方法中,基于邏輯的方法用邏輯斷言表示軟件需求,

46、具有良定的判斷規(guī)則,但對(duì)需求的形式化程度要求較高,同時(shí),定理證明器的低效率也制約了需求描述的規(guī)模,一階謂詞邏輯的半可判定性也局限了這種技術(shù)的實(shí)用性.基于模型檢驗(yàn)的方法,同樣具有良定的檢測(cè)過(guò)程和語(yǔ)義,但是要求整個(gè)系統(tǒng)表示成狀態(tài)機(jī)的形式,需求的粒度也很細(xì).雖然已經(jīng)存在一些技術(shù),如二分決策圖BDD13等,來(lái)提高模型檢驗(yàn)的效率,但效率問(wèn)題仍然是使用這種技術(shù)進(jìn)行大型系統(tǒng)全面檢測(cè)的障礙.這兩種方法的另一個(gè)障礙是需求描述的難度,特別是在需求的早期階段,很難給出所要求的精確需求描述.基于圖形的方法則是在自動(dòng)化檢測(cè)和易用性之間的一個(gè)折衷,此類(lèi)方法用圖形(如UML等)來(lái)描述需求,需求描述容易給出,也易于理解,可以

47、在需求獲取的不同階段使用.但是,不一致性檢測(cè)算法需要根據(jù)一致性規(guī)則來(lái)設(shè)計(jì),這些規(guī)則是用戶自定義的,有可能不正確或不全面,因而會(huì)影響檢測(cè)的質(zhì)量.KAOS方法引入目標(biāo)作為需求的語(yǔ)義,并通過(guò)目標(biāo)本身的矛盾的程度以及不同類(lèi)型目標(biāo)的矛盾場(chǎng)景,比上述方法要在更深的層次上區(qū)別并處理不一致的需求,可以說(shuō)向語(yǔ)義級(jí)的需求不一致管理邁進(jìn)了一大步.雖然目前在需求不一致性管理方面已有很多工作,但還存在許多方面的問(wèn)題需要解決.我們認(rèn)為,未來(lái)的研究需要向需求的語(yǔ)義不一致方向發(fā)展.具體可以從以下幾個(gè)方面展開(kāi):基于環(huán)境交互的需求不一致處理33.從語(yǔ)義上說(shuō),軟件系統(tǒng)的需求就是對(duì)它將與環(huán)境發(fā)生的交互的約束34,35.在此意義上,需

48、求的語(yǔ)義不一致性將體現(xiàn)為所交互環(huán)境的不一致性以及對(duì)環(huán)境作用的不一致性.環(huán)境本體的構(gòu)建.這是一個(gè)艱苦而且需要進(jìn)行深入研究的工作.可以從兩個(gè)方面考慮這個(gè)問(wèn)題,一是從軟件涉及的具體領(lǐng)域36出發(fā),研究特定領(lǐng)域中軟件的環(huán)境;另一方面是從軟件所能解決的問(wèn)題模式出發(fā),深入研究不同問(wèn)題模式中軟件所處環(huán)境的特征,這對(duì)環(huán)境本體的構(gòu)建有極大的推動(dòng)作用.需求不一致性度量.需求的不一致程度是控制需求進(jìn)化的一個(gè)重要指標(biāo),準(zhǔn)確的不一致性度量函數(shù)將非常關(guān)鍵.可以借鑒邏輯公式集合的打分函數(shù)和內(nèi)聚函數(shù)37,并結(jié)合需求的特征確立需求不一致性的度量.矛盾的容忍、劃分與封裝機(jī)制.由于矛盾的普遍存在性,需求不一致性的存在是不可避免的,即

49、存在某些需求不一致性是不可消除的,起碼是在需求進(jìn)化的某個(gè)階段是不可消除的.可以從微理論38的思想出發(fā),按不同的上下文或不同的場(chǎng)景分別建模,然后研究模型內(nèi)以及模型間的一致性處理.References:1 Nuseibeh B, Easterbrook S. Requirements engineering: A roadmap. In: Finkelstein A, ed. Proc. of the 22nd Intl Conf. on Software Engineering, Future of Software Engineering Track. Limerick: IEEE Compu

50、ter Press, 2000. 35-46.2 Balzer R. “Tolerating Inconsistency” revisited. In: Nuseibeh B, ed. Proc. of the 23rd Intl Conf. on Software Engineering. Toronto: IEEE Computer Press, 2001. 665.3 Ghezzi C, Nuseibeh B. Guest editorial: Introduction to the special section. IEEE Trans. on Software Engineering

51、, 1999,25(6): 782-783.4 Easterbrook S, Chechik M. Intl workshop on living with inconsistency. In: Nuseibeh B, ed. Proc. of the 23rd Intl Conf. on Software Engineering. Toronto: IEEE Computer Press, 2001. 749-750.5 Nuseibeh B, Easterbrook S, Russo A. Leveraging inconsistency in software development.

52、IEEE Computer, 2000,33(4):24-29.6 Nuseibeh B. To be and not to be: On managing inconsistency in software development. In: Kramer J, Wolf A, eds. Proc. of the 8th Intl Workshop on Software Specification and Design. Schloss Velen: IEEE Computer Press, 1996. 164-169.7 Spanoudakis G, Zisman A. Inconsist

53、ency management in software engineering: Survey and open research issues. In: Chang SK, ed. Handbook of Software Engineering and Knowledge Engineering. Singapore: World Scientific Publishing Co., 2001. 329-380.8 Nuseibeh B, Finkelstein A, Kramer J. Viewpoints: Meaningful relationships are difficult!

54、 In: Dillon L, Tichy W. eds. Proc. of the 27th Intl Conf. on Software Engineering. Oregon: IEEE Computer Press, 2003. 676-683.9 Finkelstein A, Gabbay D, Hunter A, Kramer J, Nuseibeh B. Inconsistency handling in multiperspective specifications. IEEE Trans. on Software Engineering, 1994,20(8):569-578.

55、10 Nuseibeh B, Kramer J, Hunter A. A framework for expressing the relationships between multiple views in requirements specification. IEEE Trans. on Software Engineering, 1994,20(10):760-773.11 Mully G. COREA method for controlled requirement specifications. In: Bauer F, Stucki L, Lehman M, eds. Pro

56、c. of the 4th Intl Conf. on Software Engineering. Munich: IEEE Computer Press, 1979. 126-135.12 Hunter A, Nuseibeh B. Managing inconsistent specification: Reasoning, analysis and action. ACM Trans. on Software Engineering and Methodology, 1998,7(4):335-367.13 Clarke E, Grumberg O, Long D. Verificati

57、on tools for finite-state concurrent systems. Lecture Notes in Computer Science 803, London: Springer-Verlag, 1994. 124-175.14 McMillan L. Symbolic model checking Ph.D. Thesis. Carnegie Mellon University, 1992.15 Holzmann J. The model checker SPIN. IEEE Trans. on Software Engineering, 1997,23(5):279

58、-295.16 Atlee J, Gannon J. State-Based model checking of event-driven system requirements. IEEE Trans. on Software Engineering, 1993, 19(1):24-40.17 Heitmeyer C, Jeffords R, Kiskis D. Automated consistency checking requirements specifications. ACM Trans. on Software Engineering and Methodology, 1996,5(3):231-261.18 Chan W, Anderson R, Beame P, Burns S, Modugno F, Notkin D, Reese J. Model checking large software specifications. IEEE Trans. on Software Engineering, 1998,24(7):498-519.19 Heninger K. Specifying

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論