當前位置:商標查詢大全網 - 培訓招生 - 如何進行需求分析(課本答案)

如何進行需求分析(課本答案)

壹、什麽是需求調研?

需求研究是應用軟件系統開發的初始階段,其輸出的“軟件需求分析報告”是設計階段的輸入。需求研究的質量是壹個應用軟件極其重要的階段,它的質量在壹定程度上決定了壹個軟件的交付結果。如何從客戶那裏傾聽和分析用戶的需求,成為研究人員最重要的任務。

需求調研是為需求說明書的撰寫做前期工作,從需求調研表中獲取或提取;就是了解實際工作中真正需要什麽樣的程序,然後把這些需求細節整理出來,供設計部門開發,供用戶使用的過程。

需求調研,尤其是合同金額已經確定的項目的需求調研,其實是壹門戰略藝術,就像外交壹樣。是建立在與客戶相互尊重、平等互利的基礎上,虛心溝通,守住我們的底線,盡可能爭取有利條件,在完成任務的同時贏得客戶的理解和尊重。

需求調研,簡而言之,就是與客戶進行交談和溝通,記錄客戶的想法和需求,最後整理成用戶需求說明書,以便進行下壹步的需求分析、系統設計、開發等。因為後面的需求分析,系統設計,甚至開發都是以需求調研的內容為基礎的,需求調研的質量直接決定了軟件系統的質量,也就是項目的成敗。

通常,當我們提到壹個系統時,總感覺是壹回事,但實際上,在不同的人眼裏可能是不壹樣的。例如,按照壹般的軟件開發流程,有以下幾種:

1.客戶實際需要的軟件

2.客戶心目中想要的軟件。

3.研究人員調查後的軟件

4.設計師設計的軟件

5.開發者開發的軟件

(這裏要特別註意,客戶實際想要的軟件和客戶心目中想要的軟件可能不是壹回事。)

如果以上過程都被誤解了,很可能最終開發出來的軟件與客戶實際需要的軟件相差很大。這通常是項目失敗或做得不好的原因。

還有壹點,在上述過程中,妳走的越晚,糾正這些偏差的成本就越大,直到妳無法承受。然後,保證妳研究出來的需求與客戶的實際需求和客戶心目中想要的壹致,並保證這個需求在開發中能夠實現,並且容易實現,這是每壹個需求研究員努力去做的事情。

二、項目需求研究的特點

1.《需求規格說明書》發布倉促,質量不高。

(1).不切實際的項目時間限制(需求研究成為壹種形式)

(2)用戶害怕承擔責任(模棱兩可的說法)

(3)認知水平的限制(項目的期望是什麽?研究人員的誤解,因為害怕吸引額外的需求)

(4).在工期的壓力下,各方妥協簽了(沒有贏得廣泛支持)。

2.大部分需求是在需求規格說明書出來之後才出來的。

(1).程序是強制使用的,關系到切身利益,強制關註(流程,易用性,工作量都在這裏)。

(2).逐步引導用戶的認知水平,提高使用積極性,提出更多的功能需求。

註意抓住這些問題的關鍵點,避免實際操作中的相關錯誤點,正確、良好地引導客戶,使需求研究向良性方向發展。

三、需求調研的前期準備

1.確定研究工具

在需求調研的過程中選擇壹些輔助工具,選擇妳(小組)熟悉的工具,工具最好是通用的、受歡迎的,因為要考慮溝通問題。

如:原型、草圖、WORD、EXCEL、PPT、POWERDESIGNER、STARTUML等。

這裏只強調原型方法。原型法是盡快構建壹個粗糙的系統,實現目標系統的部分或全部功能。構建這樣壹個系統的目的是考察某壹方面的可行性,比如算法的可行性,技術的可行性或者是否符合用戶的需求。比如為了看是否符合用戶的要求,可以用壹些軟件工具快速搭建壹個原型系統,只是壹個界面,然後聽取用戶的意見,對這個原型進行改進。未來的目標系統將在原型系統的基礎上開發。

原型主要有三種類型:探索型、實驗型和進化型。

探索性:目的是找出對目標系統的要求,確定期望的特性,探索各種方案的可行性;

實驗型:用於大規模開發實施前檢查方案是否合適,規範是否可靠。

進化型:目的不是改進規範,而是使系統易於更改,並在改進原型的過程中逐漸將原型進化成最終的系統。

使用原型法時有兩種不同的策略:丟棄策略和追加策略。

放棄策略:先建立壹個功能簡單、質量要求不高的模型系統,反復修改,形成壹個更好的思路,從而設計出更完整、準確、壹致、可靠的最終系統。系統構建完成後,原有的模型系統被廢棄。探索型和實驗型屬於這種策略。

附加策略:先構建壹個功能簡單、質量要求低的模型系統,作為最終系統的核心,然後通過不斷的擴展和修改,逐步添加新的需求,發展成為最終系統。進化型屬於這種策略。

2.調查項目前期情況。

對象:售前人員、業務人員、項目經理;

內容:與用戶溝通的招標文件、投標文件、合同等口頭或書面材料(包括宣傳和承諾)。

對於甲方行業的了解,最好是看壹些行業方面的書籍,學習業務領域的知識。

了解客戶和項目的背景。如果客戶事先已經給出了類似《軟件初步想法》這樣的原始需求文檔,那麽先了解這個文檔,了解客戶的目的,為什麽要做這個軟件,主要想解決什麽問題,涉及哪些業務等。,以及這些研究準備的基礎。

根據最初的用戶需求,分析可能存在的困難,並列出來。做到心中有數,把自己之前在了解需求的過程中不了解的地方記錄下來,以便到達現場後及時與客戶溝通。

3.建立需求研究規範

必須建立壹個特殊的設計環境(文檔目錄)來服務於這個項目,分配壹定的資源和管理必要的文檔。

(1).統壹項目中使用的工具。

(2)統壹項目文檔模板。

(3)其他資源清單(資料、相關網站、信息電話)

4.闡明客戶的組織結構。

用戶單位是什麽組織,有哪些部門和人員崗位參與使用本系統?上下級是什麽關系?為項目團隊建立外部聯系地址簿。

了解客戶的組織,參與軟件使用的部門,參與研究的部門和人員,誰是關鍵客戶等。,並盡可能得到客戶上層的支持。自上而下開展需求調研,調研工作更容易推進。客戶需求團隊的成員要盡可能代表不同用戶層次的客戶。

5.制定項目的研究計劃

研究計劃的目的是為研究活動序列劃分、評估和分配資源。

制定計劃時要考慮分析時間。方案經公司內部評審通過後,會及時提交給客戶,讓客戶充分了解研究方案。

研究計劃的內容包括:

(1).調查什麽?怎麽調查?什麽時候會有人調查?

(2)明確項目組的分工(培養我們的專家)

(3)調查中大家遵循的約定(如:需要簽字嗎?何時召開例會等。)

(4)對於需求中的功能模塊,客戶有明確且唯壹的聯系人。

註意事項:

項目任務書下達後,項目經理和研究人員要認真審核合同中的軟件範圍。雖然只是大致寫了需求範圍,但是這些信息並不重要,是制定研究計劃的壹個依據。

方案制定後,最好召開項目啟動會,相關領導和業務部門參加,確定雙方項目組成員,確定客戶的合作者(唯壹聯系人)和領導(唯壹協調人),介紹項目組的人員安排、總體規劃和需求調研方案,告知客戶行程和計劃。

四、需求研究的內容

1.需求調查中需要收集的內容

需求分析報告的讀者包括客戶、設計師和開發人員,在撰寫時必須考慮文檔的可讀性。需求調研的結果如下:

(1).收集用戶需要生成的文檔和報告;表格和報表的適用對象;

(2).繪制業務流程圖,並仔細檢查、核對各路徑是否完整,異常情況如何處理(系統動態特性);

(3)根據流程圖,收集每壹步所需的使用和操作數據,確定數據的類型和範圍(系統的靜態特性);

(4)繪制業務實體及其關系,估算業務實體出現的頻率和數據量;

(5)評估業務流程和實體中需求變化的可能性;

(6).用戶權利;

(7)信息系統建設現狀;

(8).收集用戶對系統界面風格、格式和顏色的偏好和需求;

(9)了解系統未來的硬件、操作系統、網絡;

(10).收集系統初始化數據,或請客戶收集整理,並指定時限;

(11).編寫壹個簡單的界面原型(這壹步也可以在需求分析後完成,再次與用戶溝通);

2.需求研究的結果

(1).需求規格

(2)系統的詳細原型

五、如何做好需求調研工作

1.做任何事之前妳必須知道的。

如果對客戶的業務不熟悉,調查前要做好充分的準備。

如果項目是妳不了解的行業(專業),最好有專家——終端用戶最好是專家。在研究中要了解這個專業,妳不想成為壹個專家,但至少妳需要知道壹些專業知識(至少妳需要知道專門的詞匯),否則妳就不知道該問什麽或者怎麽問,甚至不知道別人在說什麽。

相應的專業資料是必須的,至少要有專業的入門書籍和相應的資料,還需要更深入的資料。當然,專家的參與是另壹回事。

如果行業不是很難,可以通過分析師的自學在短時間內了解行業,也可以不需要專家,否則專家是有必要的。

2.利用多種手段挖掘需求。

註意調研資料的準備:調研資料(玫瑰圖、Ppt、原型準備)壹般對圖形界面比較感興趣,最好以圖表的形式把東西展示給用戶,可以轉化為用例圖、用戶界面、流程協作圖、狀態圖等。

需求調查過程有選擇地確定調查方法,例如:

1).與客戶對話,向用戶提問;

2).訪問用戶的工作流程,觀察用戶的操作;

3).向用戶發送調查問卷;

用戶通常沒有耐心回答論述題,應該以選擇題和判斷題為主。

4)與同行、專家交談,聽取他們的意見;

5)對現有軟件產品進行分析,提取需求;

6).從行業標準和計劃中提取需求;

7).在互聯網上搜索相關信息。

3.從用戶的角度考慮系統功能。

1).設身處地為用戶著想,考慮適用性和用戶體驗;

2).用戶的語言與用戶交流;

3).總結以往的實施經驗,提出建議;

4).總結以往的實施經驗,指導需求;

*以上項目也是盡量減少需求變化的手段之壹;

4.5W+1H方法

5W:為什麽、什麽、誰、何時、何地

1h:如何遵守制度?

為什麽定律:為什麽是用戶為什麽要引入系統,引入新的信息系統如何幫助用戶,如何在整體工作效率上達到壹個最終的結果?為什麽法律要求項目經理在需求之初就要明確,這個項目是為了提高用戶的工作效率;完善部門間合作機制;加快客戶響應的系統服務;提升企業競爭力等等。有了這樣壹個WHY的引入思路,項目經理就可以明確用戶最終想要給他們提供什麽樣的系統,在系統的定位和建立上有壹個明確的目標。

什麽定律:有了總體目標,從各個業務流程的要求入手,第二W定律_ _-出臺什麽定律,系統做什麽?意識到什麽?提出業務流程問題、流程局限性、系統要解決的問題等。在這個“什麽”的基礎上,將系統劃分為功能模塊,逐步明確模塊的流程需求、功能需求和結構需求。什麽法律的出臺可以讓我們知道制度的初始要求。

世衛組織,何時何地法律:這個階段是需求細化的階段。在什麽規律的基礎上,對系統的用戶需求進行細分:分析誰在什麽時間、什麽階段可以或者必須操作這個功能,結合前面的什麽規律,明確系統的流程階段劃分,記錄和分析系統功能實現的細節,在這個階段可以生成系統需求的用例,作為下壹階段設計的基礎。

如何法:就是如何實現制度。在上述為什麽、什麽、世衛組織、何時何地的基礎上,壹個非常好的系統需求的基本框架已經建立起來了。如何根據這些用戶的需求分析系統的需求,如何分析需求規格並設計實現下壹階段,即如何實現系統?

5W+1H規律的引入,在壹定程度上保證了系統需求的準確性,使項目經理或需求分析師能夠有條不紊地開展需求挖掘和研究活動。這種安排的用戶在合作上也很明確,知道如何與項目人員合作。

5.需求調研中的註意事項

(1).按計劃逐步調查。

提前對參與調研活動的計劃、目標、時間進度、人員等做出約定,並根據用戶的安排適當調整計劃。最忌諱的就是參加目標不明確、匯報人員不明確的會議。

根據事先與客戶討論的研究計劃穩步進行。如果現場有臨時變動,比如參與調研的客戶臨時有事,或者調研的內容發生變化,那麽及時和客戶確定新的調研安排,列出大致的調研順序。不要說要去哪裏,研究內容雜亂無章,很可能會有疏漏,不能及時發現。

(2)控制研究過程,促進研究工作的順利進行。

因為調研工作實際上是和客戶聊天、談話,很可能會經常跑題,客戶的精力壹般不會集中、走神。這時候研究人員就要能夠掌控整個過程,什麽時候及時把客戶的想法拉回主題,什麽時候適當的聊壹些其他的話題來調節氣氛,這些都需要研究人員靈活掌握,總之要盡快的推進研究工作。

(3)認真聽講,及時記錄。

認真傾聽是為了理解客戶的完整表達。不要以為妳已經明白了什麽。壹定要打斷客戶急迫地表達妳的觀點,等客戶完全說完了再表達妳的想法。及時記錄與客戶業務、實際工作、客戶想法相關的內容,不要以為當時看懂了就不會記錄。壹定要有記筆記的習慣。如果說幾個小時,很多細節都記不住。

(4).先了解宏觀需求,再了解詳細需求。

遵循從總體到分鐘,從粗到細,從簡單到復雜的研究過程。無論是想讓客戶介紹自己的業務,還是談自己的想法,都應該先從整體的大的方面入手,再從細節入手。如果直接深入細節,往往抓不住他的要點和整體要求。

(5).挖掘客戶最原始的需求,而不僅僅是記錄。

客戶告訴妳的只是他的理解,他的理解也可能有偏差。而且現在有些客戶經常告訴妳的不是需求而是他的設計思路,因為他們對軟件了解的更多。比如他們直接告訴妳,“妳做這樣的函數,我就能想出東西。”對我們來說,我們需要問更多的問題,“妳為什麽這樣做?”“妳想看到什麽結果?目的是什麽?”以此類推,壹定要想辦法了解客戶原來沒有轉化的需求,因為往往客戶告訴妳的東西並不能達到他原來的目的,他認為可以達到,所以他會直接把想法告訴妳。如果需求研究員不了解最原始的需求,只是記錄客戶的想法,那麽就會出現解決不了客戶實際問題的東西。

這個過程也可以幫助我們縮小需求的範圍,比如客戶開始想好壹些功能,但是經過深入的分析和思考,發現這些功能因為壹些問題無法實現,或者即使實現了,工作量也會大大增加,比最初想象的要復雜很多,那麽我們可以在這個基礎上說服客戶放棄這個想法。這也是在合同金額確定的情況下,削減職能的壹種方式。

(6).引導客戶的潛在需求

大部分客戶對於自己要做什麽樣的軟件,並沒有壹個完整的規劃或想法,往往在交談的過程中逐漸清晰。在研究的過程中,客戶不會沒完沒了地談他的想法,而是壹點點地問客戶。所以到底問什麽需要妳去掌握。除了妳不了解的業務,重要的是在妳已經了解的基礎上分析和拓展客戶的需求,把其他潛在客戶沒有說的需求帶出來。比如壹個客戶想收辦公用品,壹開始很簡單。只需填寫壹個收款申請,批準即可,但仔細分析後會引出“物品管理”、“品類管理”、“庫存管理”等潛在需求。如果不考慮這些,那麽妳和客戶都會認為這個功能很簡單,那麽在完成時間和工作量的估算上就會出現問題。防止在做系統設計甚至開發的時候出現“當時沒想到這個地方這麽簡單,需要重新和客戶溝通”的情況。

其中,如果把潛在需求細化,可以分為兩部分:1)系統必須;2)系統是多余的。“必要”是指,像上面這個例子,如果潛在需求沒有被挖掘,客戶已經提出的需求就無法實現,也就是看似簡單復雜的問題,實際上是壹個復雜的問題。“不必要”是指對已經提出的客戶需求影響不大,相對獨立,相當於在與客戶再次溝通的過程中了解到的新需求。對於這部分,需要研究人員根據項目的合同金額是否確定、工作量、與客戶的關系等來靈活掌握。,且可提可不提。但肯定會增加系統的工作量和復雜度。

(7).避免客戶的不合理要求和難以實現的要求。

客戶需要的不壹定是客戶真正需要和想要的。客戶從來沒有錯,唯壹的錯是我們沒有真正了解客戶的需求。

考察時要把握題目的能力,區分有用功能、可選功能、無用功能和無法實現的功能,及時表達自己的觀點,使談話貼近題目。

在調查的過程中,客戶難免會提出壹些我們根本無法實現或者即使在現有條件下也很難實現的要求。這種情況既需要科研人員聰明的頭腦和快速的反應能力,也需要科研人員良好的溝通能力。妳要能巧妙地說服客戶放棄這種方式,讓他們明白,這樣才不會認為妳在回避問題,不想解決問題。壹般可以采用這些方法:1)在客戶提出這些要求後,他可以立刻明白客戶要求的真正目的,然後迅速想到另壹個簡單的方法來實現客戶的這個目的。這是最好的辦法;

2)必要時直接告訴客戶無法實現,並給出合理的理由,尤其是當客戶說這樣的系統已經實現了這種方式,比如他們用的是什麽平臺支持,這個平臺支持需要額外付費等等。

3)直接告訴客戶,雖然可以實現,但是需要大量的精力和成本,客戶可能無法承受。當然,妳必須能說出客戶聽起來合情合理的理由。

這些都不是絕對的,研究人員需要豐富的軟件開發經驗、靈活的頭腦和良好的表達能力才能隨機應變。

(8)註意需求調研的覆蓋面,防止需求不具有代表性。

在需求調研之初,客戶定義的唯壹聯系人就是各個模塊的壹把手!我們要做的就是“拿雞毛當箭”!找對人做好事。

同時也要防止只有壹個客戶提供需求,讓實際的軟件需求變成個人需求。受限於這個人的水平,所掌握的業務知識,與領導意圖的符合程度,給我們帶來了更大的需求風險,稍有不慎就會為以後軟件需求的變化埋下伏筆。為了避免這種風險,研究者壹方面自己判斷客戶提出的要求是否合適,是否有太強烈的個人特征等。另壹方面,在研究之初,他們盡量和客戶上層澄清類似風險的存在,讓客戶負責人在人員安排上避免這種情況,同時讓他知道這種情況會存在,以後壹旦確實出現,客戶也不會說是我們的責任。

(9)及時總結整理已完成的研究內容。

需求調查,相關會議紀要及時轉發,結果及時匯總,讓客戶聽妳了解他們的訴求是否壹致。

每次調查結束後,要及時整理白天調查的內容,及時補上當時沒來的急單內容,同時進行深入的分析和復習,確保沒有遺漏的問題,把所有問題列出來,直到第二天的調查,詢問客戶。

階段性總結的結果:在什麽情況下?什麽人?妳做了什麽決定?產生了什麽?

(1).謹防不確定因素。

實現某種功能的前提條件是什麽?如果沒有前提條件,什麽工作不能開展?職責分工明確。

(2).成本,成本還是成本

高水平的設計師專註於設計“剛好”滿足客戶需求的軟件,從開發者和客戶那裏獲得最大的利益,而不是不惜任何代價設計出最先進的軟件。

(3)避免只聽取部分用戶的需求,而忽略其他用戶的需求。

不及物動詞什麽是成功的需求調查?

1.需求規格的特征

正確、清晰、不含糊、壹致(需求之間沒有矛盾)、必要(不要多余增加開發成本)、完整(不要省略權限配置等必要功能)、可實現、可驗證(提供交付依據)、明確優先級(不要被UI等細節拖累)、說明“做什麽”而不是“怎麽做”。

2.涵蓋合同中的所有合理要求。

對需求工程的態度可以分為“被動”、“主動”和“主導”三種。只有後兩者才能開發出成功的產品。

在實際工作中,我們可以建立合同與需求規格說明書的對應表,以及合同與軟件功能的對應表。經常提醒需要提供的業務範圍。

3.成本風險得到控制。

4.挖掘潛在需求

適當站在商業的立場思考,為項目尋找出路,申請更多的財力物力。

七、簽名簽名。

我們編寫的需求分析報告最終將展示給客戶,讓他們認可我們的分析結果。其實這個過程很重要,對客戶和我們同樣重要。與用戶確認業務需求(通過會議解釋的方式),用戶領導簽字。這個挺難的。

八、需求研究人員的能力

1.熟悉客戶業務

對於客戶主要希望軟件解決的那部分業務,最好提前通過壹些手段盡可能的了解。即使不能提前深入,也要利用調研的機會盡量多學習。研究完成後,妳沒有理由不是半個商業專家。

2.熟悉軟件開發

在研究的過程中,妳壹方面要判斷客戶隨時提出的需求的合理性和難度,同時要在客戶想法不成熟的時候給客戶提供好的實現方法,這些都需要妳對軟件開發非常熟悉。很多時候,需求研究員至少是壹個優秀的軟件開發人員。因為隨著用戶對電腦的使用越來越多,對各類軟件有了壹定的了解,往往會直接提出壹些功能需求,比如任務發起時需要發給很多人,那麽這樣的功能會對我們的設計開發產生什麽樣的影響,就需要現場需求研究人員根據自己的經驗做出判斷,然後想出壹個對自己有利的方式,巧妙的說服客戶接受。

3.聰明的頭腦和快速的反應

妳要能夠快速全面的理解客戶表達的內容,妳要能夠快速的思考,及時的反應。同時,因為客戶的水平也有高有低,尤其是那些不善於表達的客戶,妳更有必要從表達不清中分析本質。

比如稅務系統預警的調查,客戶自己事先也沒有完善的預警規則,很多都是在調查現場臨時想出來的。那麽這樣的規則敲定之後,妳還敢設計開發這樣的內容嗎?然後研究人員需要根據自己掌握的業務知識和客戶在現場提出的規則,在腦海中快速傳播、展開、分析、思考,找出規則是否存在漏洞,繼續和客戶討論。

4.善於表達,思路清晰

能夠清晰地向客戶傳達妳的想法,尤其是在壹些困難的地方,並且能夠靈活地用壹切可能的方式讓客戶理解妳的意圖。當妳解釋了半天客戶不明白的時候,壹定要想想自己哪裏沒解釋清楚。

5.善於觀察和總結

在與客戶打交道的過程中,要善於觀察每壹個細節,分析這些細節是否對妳的工作有影響,並在每壹階段研究結束後及時總結,幫助更好地進行下壹步研究。比如在調研間隙觀察客戶的實際工作內容和工作流程,談相關情況,觀察客戶是否還在使用其他系統,了解其他系統的情況;觀察客戶群中的關鍵人物;觀察客戶的愛好,特點等等。當天的調查完成後,及時對當天的調查內容進行回顧和整理,篩選出問題,以便第二天的調查中更容易讓客戶了解清楚。

6.善於做筆記,書寫流利

壹直強調的是,在客戶的現場,能聽到看到多少就記多少,能記住多少就記住多少,尤其是當客戶講述自己的實際工作、業務內容和方法時,不管他回去後是否有用,千萬不要因為當時理解了就忘記了,即使此刻沒有時間,那麽事後也要及時補上。這些第壹手資料很多都可以幫助妳和沒有參與調研的人了解業務需求。防止出現,1)當時明白但沒有記錄的,回來後有些細節忘記了;2)雖然當時記得,但是寫的內容太簡單了。回來的時候,我已經記不清當時記得什麽了。