然語言、半形式化(如圖、表、結(jié)構(gòu)化英語等)和形式化表示等三種。自然語言形式具有表達能力強的特點,但它不利于捕獲模型的語義,一般只用于需求抽取或標(biāo)記模型。半形式化表示可以捕獲結(jié)構(gòu)和一定的語義,也可以實施一定的推理和一致性檢查。形式化表示具有精確的語義和推理能力,但要構(gòu)造一個完整的形式化模型,需要較長時間和對問題領(lǐng)域的深層次理解。對需求概念模型的要求包括:
● 實現(xiàn)的獨立性:不模擬數(shù)據(jù)的表示和內(nèi)部組織等;
● 足夠抽象:只抽取關(guān)于問題的本質(zhì)方面;
● 足夠形式化:語法無二義性,并具有豐富的語義;
● 可構(gòu)造性:簡單的模型塊,能應(yīng)付不同復(fù)雜程度和規(guī)模的描述;
● 利于分析:能支持二義性、不完整性和不一致性分析;
● 可追蹤性:支持橫向交叉索引并能與設(shè)計或?qū)崿F(xiàn)等建立關(guān)聯(lián);
● 可執(zhí)行性:可以動態(tài)模擬,利于與現(xiàn)實相比較;
● 最小性:沒有冗余的概念。
需求模擬技術(shù)又分為企業(yè)模擬、功能需求模擬和非功能需求模擬等。
企業(yè)模擬是一種軟系統(tǒng)方法,涉及整個組織,從各個不同的視點分析問題,包括目標(biāo)、組織結(jié)構(gòu)、活動、過程等。有的企業(yè)模擬還建立可執(zhí)行的領(lǐng)域模型。采用企業(yè)模擬方法產(chǎn)生的不僅僅是規(guī)格說明,還可以得到許多關(guān)于企業(yè)運作的狀況分析。目前代表性的工作包括:信息模擬、組織模擬和目標(biāo)模擬等。
功能需求模擬從不同視點為模擬軟件提供服務(wù),包括結(jié)構(gòu)視點和行為視點等,主要方法有:結(jié)構(gòu)化分析、面向?qū)ο蠓治龊托问交椒?。結(jié)構(gòu)化分析是一種面向數(shù)據(jù)的方法,以數(shù)據(jù)流為中心。其核心概念包括:進程、數(shù)據(jù)流、數(shù)據(jù)存儲、外部實體、數(shù)據(jù)組和數(shù)據(jù)元素。有代表性的模擬工具有:數(shù)據(jù)流圖、數(shù)據(jù)字典、原始進程規(guī)格說明。面向?qū)ο蠓治鲆詫ο蠹捌浞?wù)作為建模標(biāo)準(zhǔn),比較自然,對象也具有相對的穩(wěn)定性。主要模擬的元素有:對象、類、屬性、關(guān)系、方法、消息傳遞、Use Cases等。其主要原理包括分類繼承層次、信息隱藏、匯集關(guān)系等。形式化方法從廣義上說,是應(yīng)用離散數(shù)學(xué)的手段來設(shè)計、模擬和分析,得到像數(shù)學(xué)公式那樣精確的表示。從狹義上說,就是使用一種形式語言進行語言公式的形式推理,用于檢查語法的良構(gòu)性并證明某些屬性。形式化方法一般用于一致性檢查、類型檢查、有效性驗證、行為預(yù)測以及設(shè)計求精驗證。引入形式化機制的目的是:
● 減少二義性,提高精確性;
● 為驗證打下基礎(chǔ);
● 允許對需求進行推理;
● 允許執(zhí)行需求。
但是人們常常不用形式化手段,因為:
● 形式化涉及太多細節(jié),分析的級別較低;
● 形式化的核心問題是一致性和完整性,而不是獲取需求;
● 沒有合適的工具;
● 要求更多的代價。
傳遞需求的主要任務(wù)是書寫軟件需求規(guī)格說明,其目的是:
● 傳達對需求的理解;
● 作為軟件開發(fā)項目的一份契約;
● 作為評價后續(xù)工作的基線;
● 作為控制需求進化的基線。
對需求規(guī)格說明感興趣的群體包括:用戶、客戶;系統(tǒng)分析員、需求分析員;軟件開發(fā)者、程序員;測試員;項目管理者。
認可需求就是讓上述人員對需求規(guī)格說明達成一致,其主要任務(wù)是沖突求解,包括定義沖突和沖突求解兩方面。常用的沖突求解方法有:協(xié)商、競爭、仲裁、強制、教育等,其中有些只能用人的因素去控制。
進化需求的必要性是明顯的,因為客戶的需要總是不斷(連續(xù))增長的,但是一般的軟件開發(fā)又總是落后于客戶需求的增長,如何管理需求的進化(變化)就成為軟件進化的首要問題。對傳統(tǒng)的變化管理過程來說,其基本成分包括軟件配置、軟件基線和變化審查小組。當(dāng)前的發(fā)展是軟件家族法,即產(chǎn)品線方法。多視點方法也是管理需求變化的一種新方法,它可以用于管理不一致性并進行關(guān)于變化的推理。
作者簡介:
金芝 博士,中科院數(shù)學(xué)與系統(tǒng)科學(xué)研究院研究員,該院計算機科學(xué)室副主任,中科院管理、決策與信息系統(tǒng)開放實驗室副主任,中國計算機學(xué)會YOCSEF學(xué)術(shù)委員會委員。主要研究方向為人工智能、軟件需求工程、領(lǐng)域建模和基于知識的軟件工程等。先后主持、協(xié)助主持或參加包括國家“八五”、“九五”科技重點攻關(guān)項目、國家“863”高技術(shù)計劃項目、國家自然科學(xué)重點基金項目、國家自然科學(xué)基金項目以及中法和中英合作項目十余項,發(fā)表論文40余篇,出版合著英文專著1部,并多次獲獎。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html