需求分析的重要作用
需求分析是軟體專案開發中最重要的階段,這個步驟是對使用者業務需求的乙個昇華,是乙個把使用者業務管理流程優化,轉化為軟體產品,從而使管理實現質的飛躍,這一步是否成功,直接關係到開發出來的軟體產品能否順利交付給客戶、得到使用者認可,使用者能否真正運用軟體系統產品幫助他們解決業務或管理問題。所以所有軟體開發參與者(包括開發人員,使用者)最好是採用正確、有效的需求分析方法,因為需求分析奠定了軟體工程和專案管理的基礎,這部分工作若處理好了,能開發出很出色的產品,同時會使客戶感到滿意,開發者也倍感滿足、充實;若處理不好,則會使使用者怨聲載道,導致誤解、挫折、障礙,竟而使軟體專案宣告失敗。
什麼是需求分析
先來看看什麼是軟體專案開發中的需求。
軟體需求的定義
ieee
軟體工程標準詞彙表
(2023年)
中定義需求為:
(1)使用者解決問題或達到目標所需的條件或權能
(capability)。
(2)系統或系統部件要滿足合同、標準、規範或其它正式規定文件所需具有的條件或權能。
(3)一種反映上面
(1)或
(2)所描述的條件或權能的文件說明。
軟體需求的層次
軟體需求包括三個不同的層次:業務需求、使用者需求和功能需求。非功能需求也屬於其中。
業務需求反映了組織機構或客戶對系統、產品高層次的目標要求,它們在專案檢視與範圍文件中予以說明。
使用者需求文件描述了使用者使用產品必須要完成的任務,這在使用例項文件或方案指令碼說明中予以說明。
功能需求定義了開發人員必須實現的軟體功能,使得使用者能完成他們的任務,從而滿足了業務需求。
從以上描述我們不難看出需求並未包括設計細節、實現細節、專案計畫資訊或測試資訊。需求與這些沒有關係,它關注的是充分說明你究竟想開發什麼,也就是說使用者最終想要什麼樣的軟體系統,而軟體系統的開發人員對這些內容的獲取、分析、規格說明、變更、驗證、管理就是需求分析。需求分析結束時,一般會形成軟體系統的需求規格說明書,並由軟體的開發方和使用方簽字確認,作為下乙個階段的設計依據。在這個過程中,使用者是處在主導地位,軟體開發的需求分析工程師和專案經理要負責整理使用者需求,為之後的軟體設計打下基礎。
另外,軟體需求規格說明還應包括非功能需求,它描述了系統展現給使用者的行為和執行的操作等。它包括產品必須遵從的標準、規範和合約;外部介面的具體細節;效能要求;設計或實現的約束條件及質量屬性。所謂約束是指對開發人員在軟體產品設計和構造上的限制。質量屬性是通過多種角度對產品的特點進行描述,從而反映產品功能。
那麼軟體需求分析又是什麼呢?
需求分析是指軟體開發方理解軟體使用人員的需求,就即將開發的軟體系統的功能,效能,使用方法,操作步驟等諸多細節與客戶達成一致,最終形成開發計畫的乙個複雜過程。準確地定義未來系統的目標,確定為了滿足使用者的需求系統必須做什麼並採用規範的
《需求規格說明書》準確地表達使用者的需求就是需求分析階段的任務。
它是軟體系統開發中的乙個階段,如果把軟體專案的開發看作乙個工程來管理,軟體工程就會有如下幾個階段:
需求分析→基本設計→詳細設計→系統實現→測試→驗收
如果從軟體專案的生命週期角度來看,需求分析之前還有問題定義、可行性研究兩個階段。
我對需求分析的理解
開發軟體系統最為困難的部分就是準確說明開發什麼。最為困難的概念性工作便是編寫出詳細技術需求,這包括所有面向使用者、面向機器和其它軟體系統的介面。同時這也是一旦做錯,將最終會給系統帶來極大損害的部分,並且以後再對它進行修改也極為困難。
之所以這麼說,因為在大多數的軟體系統開發前,終端使用者可能都不清楚他的需求是什麼,或者無法正確描述它的需求,包括用文件描述或者口頭敘述。這對軟體系統的設計和開發人員是乙個很大的挑戰,有經驗的軟體專案調研人員會採用各種方法來引導使用者說出他的需求,給使用者展示相似的軟體專案或者與使用者一起完成需求規格說明書等各類文件是乙個不錯的方法。為了能更好地理解使用者的需求,系統設計和開發人員還應對使用者的業務知識和專業知識有所掌握才能與使用者有共同語言。
軟體的需求分析必須要有對原業務的乙個深入了解、提取、抽象、昇華。軟體的需求分析是從使用者的業務中提取出軟體系統能夠幫助使用者解決的業務問題,通過對使用者業務問題的分析,規劃出我們的軟體產品。按照軟體工程對軟體開發過程的描述,需求階段我們可以細分為需求調研和需求分析兩個小階段,需求調研需要充分細緻的了解客戶目標,使用者業務內容、流程等,這是乙個對需求的採集過程,是進行需求分析的基礎準備。當我們已經了解、理解了使用者的業務,於是可以開始分析需求了。軟體系統的需求分析可以由產品工程師或系統分析員或兩者分階段合作完成全部的需求分析工作。
大部分的軟體系統開發和維護人員總是抱怨使用者的需求總是變來變去,仔細體會下面這句話,也許我們可以從另乙個方面來理解需求與變化之間的關係:
需求一般是不會變化的,變化的是我們對需求的認識和理解。
2007-6-15
需求之我見
更換手機,前乙個手機花了不少錢,但是用的不爽,介面難看 電池用的快 訊號不好 攝像頭畫素低 掉漆快,任何乙個小小的問題點,都成為了我不再使用這個品牌的理由。低階 花很多錢,還受氣 在親自辦理寬頻的過程中,電信提出了強制打包的其他產品,比如 我只要寬頻,卻推出寬頻 網路電視的 除此之外沒有其他 買不買...
需求分析,分析需求
1.何為需求 我們吧需求兩個漢字拆分開來看 需 需要 求 要求 即需要的要求,表示想要某種東西的堅定願望 這裡插入乙個小故事,某個小男孩在上小學二年級的時候,不經意間接觸到了一種叫psp的神奇玩具,就下定決心回家找家長要,一開始小孩的父親不贊同給小孩買那個東西,後來在小孩的再三請求,甚至為此寫了份保...
需求分析的介面需求 需求分析
本篇不是為業務分析人員寫的,不會細緻講解需求分析的方方面面,業務分析師可以看徐鋒的 軟體需求最佳實踐 或者王海鵬翻譯的 掌握需求過程 本篇立足於架構師視角,講解需求分析過程中應了解的過程和方法,以及需要特別關注的點。開發者拿到的往往是乙個個的方案,方案來自於需求,那麼開發者拿到的需求是怎麼來的?乙個...