需求分析是什麼意思有什麼特點***2***

  5、 開發人員要尊重客戶的意見

  如果使用者與開發人員之間不能相互理解,那關於需求的討論將會有障礙。共同合作能使大家“兼聽則明”。參與需求開發過程的客戶有權要求開發人員尊重他們並珍惜他們為專案成功所付出的時間,同樣,客戶也應對開發人員為專案成功這一共同目標所做出的努力表示尊重。

  6、 開發人員要對需求及產品實施提出建議和解決方案

  通常客戶所說的“需求”已經是一種實際可行的實施方案,分析人員應盡力從這些解決方法中瞭解真正的業務需求,同時還應找出已有系統與當前業務不符之處,以確保產品不會無效或低效;在徹底弄清業務領域內的事情後,分析人員就能提出相當好的改進方法,有經驗且有創造力的分析人員還能提出增加一些使用者沒有發現的很有價值的系統特性。

  7、 描述產品使用特性

  客戶可以要求分析人員在實現功能需求的同時還注意軟體的易用性,因為這些易用特性或質量屬效能使客戶更準確、高效地完成任務。例如:客戶有時要求產品要“介面友好”或“健壯”或“高效率”,但對於開發人員來講,太主觀了並無實用價值。正確的做法是,分析人員通過詢問和調查瞭解客戶所要的“友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負面影響,在效能代價和所提出解決方案的預期利益之間做出權衡,以確保做出合理的取捨。

  8、 允許重用已有的軟體元件

  需求通常有一定靈活性,分析人員可能發現已有的某個軟體元件與客戶描述的需求很相符,在這種情況下,分析人員應提供一些修改需求的選擇以便開發人員能夠降低新系統的開發成本和節省時間,而不必嚴格按原有的需求說明開發。所以說,如果想在產品中使用一些已有的商業常用元件,而它們並不完全適合您所需的特性,這時一定程度上的需求靈活性就顯得極為重要了。

  9、 要求對變更的代價提供真實可靠的評估

  有不同的選擇。而這時,對需求變更的影響進行評估從而對業務決策提供幫助,是十分必要的。所以,客戶有權利要求開發人員通過分析給出一個真實可信的評估,包括影響、成本和得失等。開發人員不能由於不想實施變更而隨意誇大評估成本。

  10、 獲得滿足客戶功能和質量要求的系統

  每個人都希望專案成功,但這不僅要求客戶要清晰地告知開發人員關於系統“做什麼”所需的所有資訊,而且還要求開發人員能通過交流了解清楚取捨與限制,一定要明確說明您的假設和潛在的期望,否則,開發人員開發出的產品很可能無法讓您滿意。

  11、 給分析人員講解您的業務

  分析人員要依靠客戶講解業務概念及術語,但客戶不能指望分析人員會成為該領域的專家,而只能讓他們明白您的問題和目標;不要期望分析人員能把握客戶業務的細微潛在之處,他們可能不知道那些對於客戶來說理所當然的“常識”。

  12、 抽出時間清楚地說明並完善需求

  客戶很忙,但無論如何客戶有必要抽出時間參與“頭腦高峰會議”的討論,接受採訪或其他獲取需求的活動。有些分析人員可能先明白了您的觀點,而過後發現還需要您的講解,這時請耐心對待一些需求和需求的精化工作過程中的反覆,因為它是人們交流中很自然的現象,何況這對軟體產品的成功極為重要。

  13、 準確而詳細地說明需求

  編寫一份清晰、準確的需求文件是很困難的。由於處理細節問題不但煩人而且耗時,因此很容易留下模糊不清的需求。但是在開發過程中,必須解決這種模糊性和不準確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發人員去正確猜測了。

  在需求分析中暫時加上“待定”標誌是個方法。用該標誌可指明哪些是需要進一步討論、分析或增加資訊的地方,有時也可能因為某個特殊需求難以解決或沒有人願意處理它而標註上“待定”。客戶要儘量將每項需求的內容都闡述清楚,以便分析人員能準確地將它們寫進“軟體需求報告”中去。如果客戶一時不能準確表達,通常就要求用原型技術,通過原型開發,客戶可以同開發人員一起反覆修改,不斷完善需求定義。

  14、 及時作出決定

  分析人員會要求客戶作出一些選擇和決定,這些決定包括來自多個使用者提出的處理方法或在質量特性衝突和資訊準確度中選擇折衷方案等。有權作出決定的客戶必須積極地對待這一切,儘快做處理,做決定,因為開發人員通常只有等客戶做出決定才能行動,而這種等待會延誤專案的進展。

  15、 尊重開發人員的需求可行性及成本評估

  所有的軟體功能都有其成本。客戶所希望的某些產品特性可能在技術上行不通,或者實現它要付出極高的代價,而某些需求試圖達到在操作環境中不可能達到的效能,或試圖得到一些根本得不到的資料。開發人員會對此作出負面的評價,客戶應該尊重他們的意見。

  16、 劃分需求的優先順序

  絕大多數專案沒有足夠的時間或資源實現功能性的每個細節。決定哪些特性是必要的,哪些是重要的,是需求開發的主要部分,這隻能由客戶負責設定需求優先順序,因為開發者不可能按照客戶的觀點決定需求優先順序;開發人員將為您確定優先順序提供有關每個需求的花費和風險的資訊。

  在時間和資源限制下,關於所需特效能否完成或完成多少應尊重開發人員的意見。儘管沒有人願意看到自己所希望的需求在專案中未被實現,但畢竟是要面對現實,業務決策有時不得不依據優先順序來縮小專案範圍或延長工期,或增加資源,或在質量上尋找折衷。

  17、 評審需求文件和原型

  客戶評審需求文件,是給分析人員帶來反饋資訊的一個機會。如果客戶認為編寫的“需求分析報告”不夠準確,就有必要儘早告知分析人員併為改進提供建議。更好的辦法是先為產品開發一個原型。這樣客戶就能提供更有價值的反饋資訊給開發人員,使他們更好地理解您的需求;原型並非是一個實際應用產品,但開發人員能將其轉化、擴充成功能齊全的系統。

  18、 需求變更要立即聯絡

  不斷的需求變更,會給在預定計劃內完成的質量產品帶來嚴重的不利影響。變更是不可避免的,但在開發週期中,變更越在晚期出現,其影響越大;變更不僅會導致代價極高的返工,而且工期將被延誤,特別是在大體結構已完成後又需要增加新特性時。所以,一旦客戶發現需要變更需求時,請立即通知分析人員。

  19、 遵照開發小組處理需求變更的過程

  為將變更帶來的負面影響減少到最低限度,所有參與者必須遵照專案變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進行分析、綜合考慮,最後做出合適的決策,以確定應將哪些變更引入專案中。

  20、 尊重開發人員採用的需求分析過程

  軟體開發中最具挑戰性的莫過於收集需求並確定其正確性,分析人員採用的方法有其合理性。也許客戶認為收集需求的過程不太划算,但請相信花在需求開發上的時間是非常有價值的;如果您理解並支援分析人員為收集、編寫需求文件和確保其質量所採用的技術,那麼整個過程將會更為順利。


需求分析的特點