讀《需求工程——軟體建模與分析》第二部分 需求獲取 有感
顧名思義,需求獲取就是進行需求收集的乙個活動,它從人員、資料和環境中得到系統開發所需要的相關資訊。在需求獲取中有很多困難時普遍存在的,了解這些困難度更好地了解需求獲取活動的複雜性有著重要意義。
需求獲取中的常見困難:(1)使用者和開發人員來自不同的環境,具有不同的背景和立場,有不同的表達方式和詞匯集,因此他們之間必然會存在交流困難:a.知識理解的困難 b.預設知識現象 (2)普通使用者缺乏概括性、綜合性的表述能力。這個困難的原因在於每個人都維護著自己的乙個知識結構,專家使用者因其知識的淵博性使得自己的知識結構具有概括性和廣泛性。(3)使用者存在認知困境。潛在知識是指人們認識不到自己已經知道的知識,它的出現意味著人們遇到了認知困境。在需求獲取中,使用者的認知困境也是普遍存在的,其典型形式是在很多情況下使用者無法明確的告訴開發者自己到底需要什麼,但是當開發者提供乙個明確的解決方案時,使用者卻能夠迅速地判斷出該方案是夠以及為什麼解決了自己的問題。(4)使用者越俎代庖:a.使用者提出的不是需求,而是解決方案 b.使用者固執的堅持某些特徵和功能 (5)缺乏使用者參與:a.使用者數量太多,選擇困難 b.使用者認識不足,不願參與 c.使用者情緒抵制,消極參與 d.沒有明確的使用者
通過常見困難的分析,可以發現需求獲取並不是乙個簡單的進行知識轉移的活動。為了解決上述普遍存在的困難,獲取活動至少要做到:(1)研究應用背景,建立初始的知識框架。(2)根據獲取的需要,採取必要的獲取方法和技巧。(3)先行確定獲取的內容和主題,設定場景。(4)分析使用者的高深層目標,理解使用者的意圖。(5)進行涉眾分析,針對涉眾的特點開展工作。
獲取資訊的內容主要有三種:(1)需求。需求是獲取的主要物件,是系統期望達到的目標。(2)問題域描述。問題域描述是用來承載和解釋需求的問題域特性,主要是現實世界的業務執行狀況。他可以從涉眾的業務描述中獲得,也可以從業務執行所產生的各種資料文件中獲得。(3)環境與約束。環境與約束屬於一種特殊的問題域特性,限定了解系統步數的環境和條件。
獲取資訊的**包括:(1)涉眾。(2)硬資料。(3)相關產品。(4)重要文件。(5)相關技術標準和法規。
獲取資訊的方法:(1)傳統方法。傳統方法開發使用的很多資料收集機制均數此類,它們在現在的需求獲取中仍然起著非常基礎的作用。(2)集體獲取方法。該類方法將很多涉眾集中在一起,通過與涉眾的討論發現需求,並在討論中達成需求的一直,同時它還可以有效的利用時間。(3)原型。該類方法在系統的很多開發階段都起著很重要的作用,其中包括需求獲取。(4)模型驅動方法。該類方法都有乙個定義方式確定了所有需要收集的資訊型別,模型建立和完善的過程就是進行需求獲取的過程。(5)認知方法。該方法起源於知識系統中的知識獲取方法,以認知的方式獲取使用者無法表達的潛在知識。(6)基於上下文的方法。該方法更加注重使用者在一定環境下表現出來的行為,通過分析使用者的行為得到資訊。
在開展需求活動時,要注意以下事項:(1)在整體上制定組織方案(2)維護專案的前景和範圍(3)接受需求的不穩定性(4)控制探索性工作。
可以使用者需求獲取的方法很多,常見的有面談、調查問卷、原型、觀察、文件分析等。雖然需求獲取的方法是豐富的,但是發現他們並沒有在實踐中得到充分的應用,很多已經提出多年的方法仍然不為實踐者所知。認為實踐中需求方法應用的不充分並不是因為實踐者沒有掌握面談、原型、觀察等常用方法的使用技巧,而是實踐者不能很好地依據實際情況選擇正確的獲取方法。
軟體需求分析閱讀筆記3
三 需求分析 在需求獲取中,需求工程師可以得到關於問題域的描述資訊,可是上述被記錄在筆錄上的內容還是屬於現實世界的資訊,它們是使用者對現實世界的理解和描述,使用的是實際業務的表達方式。總的來說,需求獲取得到的資訊和需求開發應該建立的軟體系統解決方案之間有著很大的差距,因此需要需求分析解決這個差距的需...
軟體需求與分析閱讀筆記3
需求分析既是乙份體力活兒,更是乙份技術活兒,它既是人際交往的藝術,又是邏輯分析與嚴密思考的產物。當客戶提出業務變更的時候,我們一定不能被客戶牽著走,客戶說啥就是啥。我們要從業務角度深入的去分析,他為什麼提出變更,提得合不合理,我有沒有更合理的方案滿足這個需求。當我們提出更加合理的方案時,客戶是樂於接...
軟體需求分析 閱讀筆記
筆記要求 發表一篇閱讀筆記,說明本學期 軟體需求分析 需要掌握哪些必要的內容?針對每個內容點說出自己的理解,並繪圖標意相互之間的關聯關係。讀 需求工程 軟體建模與分析 有感 今天大致的看了一下這本書,對軟體需求分析有了初步的了解,我認為學習軟體需求分析需要掌握的內容主要包括五個方面 需求基礎與過程 ...