• 沒有找到結果。

第二章 文獻回顧與評述

第九節 需求工程

在軟體工程領域中,需求工程(Requirements engineering)是相當重要的一 環。需求工程是一組結構化的活動,來協助參與系統發展的利害相關者與工程師 來了解並記錄系統規格(Sommerville, 2005)。需求工程可視為一個不斷演進的 過程,其不斷循環的流程包含了擷取(Elicitation)、分析(Analysis)、驗證

(Validation)、協調(Negotiation)、紀錄(Documentation)、以及管理(Management)

(Sommerville, 2005)。

而使用案例(Use-case)近年來越來越常用於需求工程上,因為可用於使用 需求的擷取、分析、並記錄需求(Jacobson, 1992;J. Rumbaugh, 1994)。使用案例 雖然對於角色用系統來從事何種活動的描述上,是相當簡易而容易使用的,然而 對於因為基於何種背後的原因而形塑出哪些使用案例,卻是欠缺的。故 Lee 與 Xue(1999)指出了在使用案例上延伸加入目標的概念,可以使得各種使用案例 所欲達到之目的更為清楚。

由 於 需 求 工 程 中 往 往 需 要 面 對 多 元 觀 點 , 所 以 , 需 求 間 的 相 互 關 係

(Interaction)一直是需求工程領域中令人感興趣的問題。Robinson 等人(2003)

將需求的互動關係分為四種(1)正面關係:滿足需求 R1,有助於滿足需求 R2,

(2)負面關係:滿足需求 R1 會導致不滿足需求 R2,(3)未定關係:改變對於 需求 R1 的滿足程度,會對需求 R2 造成未知的影響。(4)無關係:無論怎麼改 變需求R1 的滿足程度,對需求 R2 的滿足程度不會有影響。從目標的觀點來看,

正面關係可說是指出了R1 與 R2 應是朝向同一目標,而負面關係則是指出了 R1 與R2 在各自目標的達成上有抵觸衝突。而從需求衝突的觀點來看,需求間具備 負面關係和未定關係,都可能造成需求抵觸與衝突的發生。

而Lee and Xue(1999)以及薛念林(1999)則指出了使用案例所欲達成目 標,具備了三種互動關係。(1)合作關係:可細分為正向和負向關係,正向關係

就是說目標G1 的滿足程度提升會連帶讓目標 G2 的滿足程度提升,而負向關係 是目標G1 的滿足程度下降,會連帶讓目標 G2 的滿足程度下降。(2)衝突關係:

提升對於目標G1 的滿足程度,會使得 G2 的滿足程度下降。(3)不相關:兩者 獨立。所以,從語意的觀點來看,所謂的兩目標有合作關係,可以解釋成兩目標 之間有母子關係,而衝突關係,可解釋為目標間是為兄弟姊妹關係而造成分歧,

而不相關,則可解釋為兩目標間並無共同的母概念。

在需求觀點整合方面,Andrade 等人(2004)提出了一個流程來處理多元觀 點,首先對某人或某個群組所提出的單一觀點進行塑模,然後對多元觀點的不一 致之處進行偵測,接著解決需求不一致的問題,最後將多元觀點整合起來。然而 這個流程有需要對於需求的內容(例如上述提及的目標、使用案例中的角色與系 統用途)進行進一步地說明。

在衝突的自動偵測上,Gervasi 與 Zowghi(2005)認為所謂的需求衝突可具 體定義為邏輯上的抵觸(Logical Contradiction),也就是相反的事實(α與﹁α)

同時存在於同一個規格中。

而在知識本體在需求工程的發展上,Kaiya 與 Saeki(2006)提出了應用知 識本體用於領域知識描述來藉此進行需求擷取的方式。其包含了一個知識本體的 後設模型,並且認為需求文件所涉及的項目(也就是需求文句中的各個詞彙)必 須要能與知識本體中的概念有著對應關係(Mapping),如此應該有助於分析人 員改善需求文件的完整性與一致性。

Sommerville(2005)認為需求工程在 20 世紀,是去假定在系統開發前已經 有一份完整的規格存在,但是,這樣的想法已經不合時宜。在21 世紀的趨勢中,

需求工程是需要面對快速的環境變化,這使得需求規格是必須不斷持續改變的。

所以,需要有新的手法,來迅速面對新的機會與挑戰。進一步地說,21 世紀的 軟體工程必須思考下列四個趨勢:(1)利用組態(configuration)的方式來迅速 發展系統(2)因為商業快速變遷而需要將軟體快速釋出(3)新需求日趨增多(4)

新舊系統能一同工作來改善投資報酬率。

這裡將針對需求衝突的相關研究,以及對衝突的相關研究與啟發,整理如下 表。

表 2 需求衝突之相關研究

作者 研究重點

Robinson 等人(2003) 衝突發生於需求間有負面關係(滿足需求R1 會導致不滿足需求R2)時,或衝突可能發生 於需求間有未知關係時

Lee and Xue(1999)以及薛念林

(1999)

指出了衝突的發生是肇因於目標間的關係,

也就是需求在滿足某一目標的同時,會使得 另一目標不滿足

Andrade 等人(2004) 提出了工作流程來解決不一致多元需求的整 合問題

Kaiya 與 Saeki(2006) 指出了以知識本體並搭配規則,可自動偵測 需求不一致的研究方向

Gervasi 與 Zowghi(2005) 提出了可自動偵測需求內容中邏輯上的抵觸

(α與﹁α)之機制