什么是需求分析?需求分析方法是什么?需求分析它是指我們要理解用戶需求,需求它是軟件功能與客戶要達成一致,同時要估計軟件風險以及評估項目代價,最終我們需要形成一套開發計劃。在這個過程中,我們用戶的需求始終要處于主導地位。在某種情況下,項目經理和需求分析工程師都需要整理用戶需求,只有做好需求分析,才能有可能為之后的軟件設計打下基礎,讓我們發開的產品更能滿足用戶的需求。接下來我們介紹一下需求分析方法。
結構化的分析方法是傳統的分析法,它的好處是在需求階段可以不需要精確地定義系統,只需要根據業務框架確定系統的功能范圍,以及每個功能的處理邏輯和業務規則,功能需求規格書等。因為不需要精確描述,因此描述系統的方式比較靈活多樣,可以采用圖表、示例圖、文字等等方式來描述系統。在系統開發以前,一般還可以采用更為直觀的原型系統方式和最終用戶進行交流和確認,因此對業務需求的要求會低一些,業務需求階段的周期相對容易控制;通過業務全景圖,最終用戶也能了解系統的功能;通過功能活動圖和業務規則的描述,也可以相對精確地描述業務系統;因為沒有嚴格的標記語言,可以采用適當的篇幅描述適當的系統。當然,這種方法的缺點也是明顯的,分析人員和業務人員之間可能缺乏共同語言,機器不能識別業務需求書,在設計階段還需要繼續和用戶確認一部分功能。
面向對象的分析方法的最大好處是在需求階段,就能夠非常精確地描述一個系統,采用程序語言的方式和最終用戶交流(最終用戶必須要熟悉這種語言),能夠在項目一開始就發現很多問題,避免在開發的過程中出現需求的反復,而且在系統設計和開發階段不需要最終用戶參與。在實施上,一般可以采用場景、業務功能等方式來描述,比較適合于業務流程環節多的系統,或者軟件產品的開發。但是,我們也要看到,在現實中,絕大多數的應用系統都很難在需求階段就可以被精確地抽象化定義,所以這種方法的缺點和困難也是顯而易見的:首先,用戶要非常清楚地知道最終的業務系統應該是什么樣,或者采用一種抽象的方式能夠確定最終的應用系統;其次,因為最終用戶不需要參與設計和開發階段的工作,所以雙方確定業務需求的過程也會比較長;同時,因為是精確描述,因此描述系統的語言是非常邏輯化的,一般通過某種方式可以使機器識別業務需求,采用這種方式寫的業務需求是非常格式化的,一方面描述一個系統需要的信息非常多,可能使需求說明的篇幅非常長,不便于理解和閱讀;另外由于通過抽象的方式來推演最終系統的運行方式,對業務人員的要求非常高。
需求分析是指理解用戶需求,就軟件功能與客戶達成一致,估計軟件風險和評估項目代價,最終形成開發計劃的一個復雜過程在這個過程中,用戶的確是處在主導地位,需求分析工程師和項目經理要負責整理用戶需求,為之后的軟件設計打下基礎。需求分析階段包括:
業務需求——反映了組織機構或客戶對系統、產品高層次的目標要求,通常在項目定義與范圍文檔中予以說明。
用戶需求——描述了用戶使用產品必須要完成的任務,這在使用實例或方案腳本中予以說明。
功能需求——定義了開發人員必須實現的軟件功能,使用戶利用系統能夠完成他們的任務,從而滿足了業務需求。
非功能性的需求——描述了系統展現給用戶的行為和執行的操作等,它包括產品必須遵從的標準、規范和約束,操作界面的具體細節和構造上的限制。
需求分析報告——報告所說明的功能需求充分描述了軟件系統所應具有的外部行為。“需求分析報告”在開發、測試、質量保證、項目管理以及相關項目功能中起著重要作用。
以上我們為大家介紹了什么是需求分析?需求分析方法是什么?如果您想了解更全面的信息內容,請您及時關注中培偉業。