1. 程式人生 > >《軟件需求與分析》需要掌握哪些必要的內容

《軟件需求與分析》需要掌握哪些必要的內容

系統 取出 業務需求 cnblogs ima 每一個 友誼 重要 階段

通過閱讀《我們應當怎麽做需求分析》我了解了需求分析需要進行的階段,以及需要掌握的內容。

需要掌握的內容如下:

1)需求調研:其中包括如何與客戶交流、建立良好的合作關系、通過研討會與客戶交流獲得項目的原始需求並對需求進行研討,並采用叠代的方式進行需求的不斷完善。

2)需求分析:分析用例、分析業務流程、構建用例說明、其他例如查詢功能的分析、子用例及擴展用例的分析、行動圖和狀態圖、業務領域分析、原文分析、非功能需求分析。

3)需求確認:列出需求列表得到用戶確認、利用快速原型法得到用戶的確認、構建需求規格說明書。

一、需求調研

1、與客戶初識:

要樹立良好的職業威信。不要在客戶面前唯命是從,要適當地提出自己的見解,這樣不但會讓客戶對自己有信心,而且自己也可以規範化客戶的需求,不至於客戶提出什麽我們就按照客戶說的做什麽。

進行詳細的角色分析,對號入座。客戶方有很多的角色,每一個角色都有自己獨特關註的地方,要合理地進行角色分析,讓他們了解他們所希望了解的問題,對於需求的調研分析非常地重要。

從宏觀上制定目標。在將角色進行分析後,要對每一個角色進行特定地分析,與各個角色進行詳細地業務分析,詳細了解業務的流程,對於需求的分析非常重要。

2、拜訪客戶

需求分析需要與客戶進行交流,與人交流就要處理好與他人的關系,我們應該在項目的整個過程中與客戶建立良好的友誼關系,好的關系可以提高交流的效率。客戶是一個大群體,有很多部門,有的部門與項目關聯較大,有的則關聯較小,不管關聯大還是小我們都要與客戶建立良好的友誼關系,這對項目的良好開展非常地重要。

3、開研討會

將項目負責人以及客戶代表聚到一起開需求研討會是非常重要的,在研討會上可以詳細地對項目進行需求分析,將客戶聚到一起一方面可以將各個部門的客戶的需求統一化,避免每個部門的需求不一致,導致項目需要開發很多的版本,導致項目太大開發困難而且不容易維護;另一方面可以將各個部門的需求進行分析,取長補短,從而制定一個好的項目。

4、進行需求研討

需求研討是在客戶提出需求時,需求人員對客戶的需求進行可行性分析,因為客戶一般都是非專業人員,對項目的開發不了解,以致於提出的需求不合理或者很難實現,所以需求人員需要對希求進行可行性分析,如果客戶提出的需求不合理則應該充分了解客戶為什麽會提出這項需求,客戶究竟想要實現什麽功能,充分了解客戶,充分理解需求,制定出替代的方案,然後跟客戶進行協商,以達到客戶的滿意和自己項目的正常進行。

5、叠代

在從客戶那裏得到需求後,我們應該分析用戶的每一項需求,對需求進行分析,繪制類圖和對象圖等,詳細地進行設計分析,然後不斷地與客戶進行交流,細化需求,進行叠代開發,每次多理解一點,最終使軟件更接近用戶的滿意。

6、需求捕獲

從客戶那裏得到需求是需求分析的關鍵,如何從客戶那裏捕獲需求,捕獲的需求是否明確非常重要,我們應主動地從客戶那裏捕獲需求,不能被動地捕獲,這樣可以有效地分析客戶業務的詳細流程,了解由誰來操作,並了解為什麽要這樣操作,深入地了解這些領域和知識,另外因為我們對客戶的業務不熟悉,我們要主動地對客戶進行詢問,深入明確地了解用戶的需求和業務流程。大多數客戶對於軟件開發並不專業,所以很有可能會遺漏一些東西,需求人員應該深入分析客戶的需求,提出客戶遺漏的東西,使需求更接近與客戶真正的需求。

二、需求分析

1、功能角色分析與用例圖

我們應根據需求分析角色,分析出各個角色的功能,繪制用例圖,其中包括參與者、用例與系統邊界。用例圖是提供給客戶看的,所以不應該出現技術性較強的表達方式,應該用客戶易懂的詞語進行功能描述,從而讓客戶了解我們了解到的需求,並提出修改意見。

2、業務流程分析

應根據需求對業務流程進行分析,分清系統外和系統內,將需要信息化管理的部分進行開發,不需要信息化管理的部分則不開發,使軟件真正地實現提高工作效率,而不是加重負擔。

3、用例說明

在進行業務流程分析時繪制用例圖能夠生動形象地描述我們的分析,但是其會丟失很多信息,所以我們需要有一些文字的描述,就是用例說明。

4、查詢報表分析

我們應根據需求實際設計不同的查詢報表,報表的內容應符合客戶的需求,對必須的內容要加上,不需要的可以刪掉。

5、子用例與擴展用例

在基本流程中將多個用例所共有的,可以相互共享的流程,將這些流程提取出來就是子用例,這樣提取公共部分提高了系統的內聚降低了系統的耦合。

6、行動圖和狀態圖

用例圖只是描述了某一個用例自己的功能,而各個功能很分散,沒有聯系,所以需要行動圖和狀態圖來將各個模塊組織起來,來對業務進行整體的描述。狀態圖描述了業務流程狀態的轉換,可以清晰地展現各個業務流程。

7、業務領域分析

業務領域分析就是通過與該業務領域的專家進行學習,了解該領域的一些基礎知識,然後構建該領域的知識體系,了解該領域需要什麽實體,並可以對業務流程更加熟悉,有助於在項目開發中進行參考,從而提高項目的正確性和提高項目的開發效率。

8、原文分析法

原文分析就是分析需求的原文,提取出業務領域的名詞,對名詞進行分析提取出業務領域的實體。

9、非功能需求

非功能需求包括可用性、可靠性、性能、可支持性以及其他,非功能需求時需求人員非常容易忽略的,但是確實對軟件開發非常重要的,某一方面考慮不周全,可能會導致軟件的失敗,例如界面不友好,性能差,支持性差等都會導致客戶不想使用導致軟件開發的失敗。

三、需求確認

在開始因為沒有實物,客戶往往描述不清楚自己的確切需求,所以需求往往不明確,我們應該根據用戶的初步需求利用快速原型法快速構建出一個實物供用戶參考,然後再讓用戶提出更深一層次的需求,從而不斷地深化、細化需求,從而使用戶的需求都展現給需求人員。我們不能僅利用用戶原始的需求進行開發,應該制定用戶需求規格說明書,因為用戶描述的需求是脫離了技術實現的,所以我們應該編寫自己的需求規格說明書,本著實事求是、切實可行的態度去描述用戶的業務需求。

關聯關系:

技術分享

《軟件需求與分析》需要掌握哪些必要的內容