国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

需求分析的20條法則

2019-11-17 04:42:05
字體:
來源:轉載
供稿:網友
  對商業(yè)用戶來說,他們后面是成百上千個供給商,前面是成千上萬個消費顧客。怎樣利用軟件治理錯綜復雜的供給商和消費顧客,如何做好精細到一個小小調料包的進、銷、調、存的商品流通工作,這些都是商業(yè)企業(yè)需要信息治理系統的理由。軟件開發(fā)的意義也就在于此。
而弄清商業(yè)用戶如此復雜需求的真面目,正是軟件開發(fā)成功的要害所在。   經理:“我們要建立一套完整的商業(yè)治理軟件系統,包括商品的進、銷、調、存治理,是總部-門店的連鎖經營模式。通過通信手段門店自動訂貨,供給商自動結算,賣場通過掃條碼實現銷售,治理人員能夠隨時查詢門店商品銷售和庫存情況。另外,我們也得為政府部門提供關于商品營運的報告。”   分析員:“我已經明白這個項目的大體結構框架,這非常重要,但在制定計劃之前,我們必須收集一些需求。”   經理覺得希奇:“我不是剛告訴你我的需求了嗎?”   分析員:“實際上,您只說明了整個項目的概念和目標。這些高層次的業(yè)務需求不足以提供開發(fā)的內容和時間。我需要與實際將要使用系統的業(yè)務人員進行討論,然后才能真正明白達到業(yè)務目標所需功能和用戶要求,了解清楚后,才可以發(fā)現哪些是現有組件即可實現的,哪些是需要開發(fā)的,這樣可節(jié)省很多時間。”   經理:“業(yè)務人員都在招商。他們非常忙,沒有時間與你們具體討論各種細節(jié)。你能不能說明一下你們現有的系統?”   分析員盡量解釋從用戶處收集需求的合理性:“假如我們只是憑空猜想用戶的要求,結果不會令人滿足。我們只是軟件開發(fā)人員,而不是采購專家、營運專家或是財務專家,我們并不真正明白您這個企業(yè)內部運營需要做些什么。我曾經嘗試過,未真正明白這些問題就開始編碼,結果沒有人對產品滿足。”   經理堅持道:“行了,行了,我們沒有那么多的時間。讓我來告訴您我們的需求。實際上我也很忙。請馬上開始開發(fā),并隨時將你們的進展情況告訴我。”   風險躲在需求的迷霧之后   以上我們看到的是某客戶項目經理與系統開發(fā)小組的分析人員討論業(yè)務需求。在項目開發(fā)中,所有的項目風險承擔者都對需求分析階段備感愛好。這里所指的風險承擔者包括客戶方面的項目負責人和用戶,開發(fā)方面的需求分析人員和項目治理者。這部分工作做得到位,能開發(fā)出很優(yōu)秀的軟件產品,同時也會令客戶滿足。若處理不好,則會導致誤解、挫折、障礙以及潛在的質量和業(yè)務價值上的威脅。因此可見——需求分析奠定了軟件工程和項目治理的基礎。   撥開需求分析的迷霧   像這樣的對話經常出現在軟件開發(fā)的過程中。客戶項目經理的需求對分析人員來講,像“霧里看花”般模糊并令開發(fā)者感到困惑。那么,我們就撥開霧影,分析一下需求的具體內容:   ·業(yè)務需求——反映了組織機構或客戶對系統、產品高層次的目標要求,通常在項目定義與范圍文檔中予以說明。   ·用戶需求——描述了用戶使用產品必須要完成的任務,這在使用實例或方案腳本中予以說明。   ·功能需求——定義了開發(fā)人員必須實現的軟件功能,使用戶利用系統能夠完成他們的任務,從而滿足了業(yè)務需求。   ·非功能性的需求——描述了系統展現給用戶的行為和執(zhí)行的操作等,它包括產品必須遵從的標準、規(guī)范和約束,操作界面的具體細節(jié)和構造上的限制。   ·需求分析報告——報告所說明的功能需求充分描述了軟件系統所應具有的外部行為。“需求分析報告”在開發(fā)、測試、質量保證、項目治理以及相關項目功能中起著重要作用。   前面提到的客戶項目經理通常闡明產品的高層次概念和主要業(yè)務內容,為后繼工作建立了一個指導性的框架。其他任何說明都應遵循“業(yè)務需求”的規(guī)定,然而“業(yè)務需求”并不能為開發(fā)人員提供開發(fā)所需的許多細節(jié)說明。   下一層次需求——用戶需求,必須從使用產品的用戶處收集。因此,這些用戶構成了另一種軟件客戶,他們清楚要使用該產品完成什么任務和一些非功能性的特性需求。例如:程序的易用性、健壯性和可靠性,而這些特性將會使用戶很好地接受具有該特點的軟件產品。   經理層有時試圖代替實際用戶說話,但通常他們無法準確說明“用戶需求”。用戶需求來自產品的真正使用者,必須讓實際用戶參與到收集需求的過程中。假如不這樣做,產品很可能會因缺乏足夠的信息而遺留不少隱患。   在實際需求分析過程中,以上兩種客戶可能都覺得沒有時間與需求分析人員討論,有時客戶還希望分析人員無須討論和編寫需求說明就能說出用戶的需求。除非碰到的需求極為簡單;否則不能這樣做。假如您的組織希望軟件成功,那么必須要花上數天時間來消除需求中模糊不清的地方和一些使開發(fā)者感到困惑的方面。   優(yōu)秀的軟件產品建立在優(yōu)秀的需求基礎之上,而優(yōu)秀的需求源于客戶與開發(fā)人員之間有效的交流和合作。只有雙方參與者都明白自己需要什么、成功的合作需要什么時,才能建立起一種良好的合作關系。   由于項目的壓力與日俱增,所有項目風險承擔者有著一個共同目標,那就是大家都想開發(fā)出一個既能實現商業(yè)價值又能滿足用戶要求,還能使開發(fā)者感到滿足的優(yōu)秀軟件產品。 進入討論組討論。
客戶的需求觀   客戶與開發(fā)人員交流需要好的方法。下面建議20條法則,客戶和開發(fā)人員可以通過評審以下內容并達成共識。假如碰到分歧,將通過協商達成對各自義務的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求)。

  1、 分析人員要使用符合客戶語言習慣的表達   需求討論集中于業(yè)務需求和任務,因此要使用術語。客戶應將有關術語(例如:采價、印花商品等采購術語)教給分析人員,而客戶不一定要懂得計算機行業(yè)的術語。   2、分析人員要了解客戶的業(yè)務及目標   只有分析人員更好地了解客戶的業(yè)務,才能使產品更好地滿足需要。這將有助于開發(fā)人員設計出真正滿足客戶需要并達到期望的優(yōu)秀軟件。為幫助開發(fā)和分析人員,客戶可以考慮邀請他們觀察自己的工作流程。假如是切換新系統,那么開發(fā)和分析人員應使用一下目前的舊系統,有利于他們明白目前系統是怎樣工作的,其流程情況以及可供改進之處。s   3、 分析人員必須編寫軟件需求報告   分析人員應將從客戶那里獲得的所有信息進行整理,以區(qū)分業(yè)務需求及規(guī)范、功能需求、質量目標、解決方法和其他信息。通過這些分析,客戶就能得到一份“需求分析報告”,此份報告使開發(fā)人員和客戶之間針對要開發(fā)的產品內容達成協議。報告應以一種客戶認為易于翻閱和理解的方式組織編寫。客戶要評審此報告,以確保報告內容準確完整地表達其需求。一份高質量的“需求分析報告”有助于開發(fā)人員開發(fā)出真正需要的產品。   4、 要求得到需求工作結果的解釋說明   分析人員可能采用了多種圖表作為文字性“需求分析報告”的補充說明,因為工作圖表能很清楚地描述出系統行為的某些方面,所以報告中各種圖表有著極高的價值;雖然它們不太難于理解,但是客戶可能對此并不熟悉,因此客戶可以要求分析人員解釋說明每個圖表的作用、符號的意義和需求開發(fā)工作的結果,以及怎樣檢查圖表有無錯誤及不一致等。   5、 開發(fā)人員要尊重客戶的意見   假如用戶與開發(fā)人員之間不能相互理解,那關于需求的討論將會有障礙。共同合作能使大家“兼聽則明”。參與需求開發(fā)過程的客戶有權要求開發(fā)人員尊重他們并珍惜他們?yōu)轫椖砍晒λ冻龅臅r間,同樣,客戶也應對開發(fā)人員為項目成功這一共同目標所做出的努力表示尊重。   6、 開發(fā)人員要對需求及產品實施提出建議和解決方案   通常客戶所說的“需求”已經是一種實際可行的實施方案,分析人員應盡力從這些解決方法中了解真正的業(yè)務需求,同時還應找出已有系統與當前業(yè)務不符之處,以確保產品不會無效或低效;在徹底弄清業(yè)務領域內的事情后,分析人員就能提出相當好的改進方法,有經驗且有創(chuàng)造力的分析人員還能提出增加一些用戶沒有發(fā)現的很有價值的系統特性。   7、 描述產品使用特性   客戶可以要求分析人員在實現功能需求的同時還注重軟件的易用性,因為這些易用特性或質量屬性能使客戶更準確、高效地完成任務。例如:客戶有時要求產品要“界面友好”或“健壯”或“高效率”,但對于開發(fā)人員來講,太主觀了并無實用價值。正確的做法是,分析人員通過詢問和調查了解客戶所要的“友好、健壯、高效所包含的具體特性,具體分析哪些特性對哪些特性有負面影響,在性能代價和所提出解決方案的預期利益之間做出權衡,以確保做出合理的取舍。   8、 答應重用已有的軟件組件   需求通常有一定靈活性,分析人員可能發(fā)現已有的某個軟件組件與客戶描述的需求很相符,在這種情況下,分析人員應提供一些修改需求的選擇以便開發(fā)人員能夠降低新系統的開發(fā)成本和節(jié)省時間,而不必嚴格按原有的需求說明開發(fā)。所以說,假如想在產品中使用一些已有的商業(yè)常用組件,而它們并不完全適合您所需的特性,這時一定程度上的需求靈活性就顯得極為重要了。   9、 要求對變更的代價提供真實可靠的評估   有時,人們面臨更好、也更昂貴的方案時,會做出不同的選擇。而這時,對需求變更的影響進行評估從而對業(yè)務決策提供幫助,是十分必要的。所以,客戶有權利要求開發(fā)人員通過分析給出一個真實可信的評估,包括影響、成本和得失等。開發(fā)人員不能由于不想實施變更而隨意夸大評估成本。   10、 獲得滿足客戶功能和質量要求的系統   每個人都希望項目成功,但這不僅要求客戶要清楚地告知開發(fā)人員關于系統“做什么”所需的所有信息,而且還要求開發(fā)人員能通過交流了解清楚取舍與限制,一定要明確說明您的假設和潛在的期望,否則,開發(fā)人員開發(fā)出的產品很可能無法讓您滿足。   11、 給分析人員講解您的業(yè)務   分析人員要依靠客戶講解業(yè)務概念及術語,但客戶不能指望分析人員會成為該領域的專家,而只能讓他們明白您的問題和目標;不要期望分析人員能把握客戶業(yè)務的細微潛在之處,他們可能不知道那些對于客戶來說理所當然的“常識”。   12、 抽出時間清楚地說明并完善需求   客戶很忙,但無論如何客戶有必要抽出時間參與“頭腦高峰會議”的討論,接受采訪或其他獲取需求的活動。有些分析人員可能先明白了您的觀點,而過后發(fā)現還需要您的講解,這時請耐心對待一些需求和需求的精化工作過程中的反復,因為它是人們交流中很自然的現象,何況這對軟件產品的成功極為重要。   13、正確而具體地說明需求   編寫一份清楚、準確的需求文檔是很困難的。由于處理細節(jié)問題不但煩人而且耗時,因此很輕易留下模糊不清的需求。但是在開發(fā)過程中,必須解決這種模糊性和不準確性,而客戶恰恰是為解決這些問題作出決定的最佳人選,否則,就只好靠開發(fā)人員去正確猜測了。   在需求分析中暫時加上“待定”標志是個方法。用該標志可指明哪些是需要進一步討論、分析或增加信息的地方,有時也可能因為某個非凡需求難以解決或沒有人愿意處理它而標注上“待定”。客戶要盡量將每項需求的內容都闡述清楚,以便分析人員能準確地將它們寫進“軟件需求報告”中去。假如客戶一時不能準確表達,通常就要求用原型技術,通過原型開發(fā),客戶可以同開發(fā)人員一起反復修改,不斷完善需求定義。   14、 及時作出決定   分析人員會要求客戶作出一些選擇和決定,這些決定包括來自多個用戶提出的處理方法或在質量特性沖突和信息準確度中選擇折衷方案等。有權作出決定的客戶必須積極地對待這一切,盡快做處理,做決定,因為開發(fā)人員通常只有等客戶做出決定才能行動,而這種等待會延誤項目的進展。   15、 尊重開發(fā)人員的需求可行性及成本評估   所有的軟件功能都有其成本。客戶所希望的某些產品特性可能在技術上行不通,或者實現它要付出極高的代價,而某些需求試圖達到在操作環(huán)境中不可能達到的性能,或試圖得到一些根本得不到的數據。開發(fā)人員會對此作出負面的評價,客戶應該尊重他們的意見。   16、 劃分需求的優(yōu)先級   絕大多數項目沒有足夠的時間或資源實現功能性的每個細節(jié)。決定哪些特性是必要的,哪些是重要的,是需求開發(fā)的主要部分,這只能由客戶負責設定需求優(yōu)先級,因為開發(fā)者不可能按照客戶的觀點決定需求優(yōu)先級;開發(fā)人員將為您確定優(yōu)先級提供有關每個需求的花費和風險的信息。
  在時間和資源限制下,關于所需特性能否完成或完成多少應尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項目中未被實現,但究竟是要面對現實,業(yè)務決策有時不得不依據優(yōu)先級來縮小項目范圍或延長工期,或增加資源,或在質量上尋找折衷。   17、 評審需求文檔和原型   客戶評審需求文檔,是給分析人員帶來反饋信息的一個機會。假如客戶認為編寫的“需求分析報告”不夠準確,就有必要盡早告知分析人員并為改進提供建議。   更好的辦法是先為產品開發(fā)一個原型。這樣客戶就能提供更有價值的反饋信息給開發(fā)人員,使他們更好地理解您的需求;原型并非是一個實際應用產品,但開發(fā)人員能將其轉化、擴充成功能齊全的系統。   18、 需求變更要立即聯系   不斷的需求變更,會給在預定計劃內完成的質量產品帶來嚴重的不利影響。變更是不可避免的,但在開發(fā)周期中,變更越在晚期出現,其影響越大;變更不僅會導致代價極高的返工,而且工期將被延誤,非凡是在大體結構已完成后又需要增加新特性時。所以,一旦客戶發(fā)現需要變更需求時,請立即通知分析人員。   19、 遵照開發(fā)小組處理需求變更的過程   為將變更帶來的負面影響減少到最低限度,所有參與者必須遵照項目變更控制過程。這要求不放棄所有提出的變更,對每項要求的變更進行分析、綜合考慮,最后做出合適的決策,以確定應將哪些變更引入項目中。   20、 尊重開發(fā)人員采用的需求分析過程   軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性。也許客戶認為收集需求的過程不太劃算,但請相信花在需求開發(fā)上的時間是非常有價值的;假如您理解并支持分析人員為收集、編寫需求文檔和確保其質量所采用的技術,那么整個過程將會更為順利。   “需求確認”意味著什么   在“需求分析報告”上簽字確認,通常被認為是客戶同意需求分析的標志行為,然而實際操作中,客戶往往把“簽字”看作是毫無意義的事情。“他們要我在需求文檔的最后一行下面簽名,于是我就簽了,否則這些開發(fā)人員不開始編碼。”   這種態(tài)度將帶來麻煩,譬如客戶想更改需求或對產品不滿時就會說:“不錯,我是在需求分析報告上簽了字,但我并沒有時間去讀完所有的內容,我是相信你們的,是你們非讓我簽字的。”   同樣問題也會發(fā)生在僅把“簽字確認”看作是完成任務的分析人員身上,一旦有需求變更出現,他便指著“需求分析報告”說:“您已經在需求上簽字了,所以這些就是我們所開發(fā)的,假如您想要別的什么,您應早些告訴我們。”   這兩種態(tài)度都是不對的。因為不可能在項目的早期就了解所有的需求,而且毫無疑問地需求將會出現變更,在“需求分析報告”上簽字確認是終止需求分析過程的正確方法,所以我們必須明白簽字意味著什么。   對“需求分析報告”的簽名是建立在一個需求協議的基線上,因此我們對簽名應該這樣理解:“我同意這份需求文檔表述了我們對項目軟件需求的了解,進一步的變更可在此基線上通過項目定義的變更過程來進行。我知道變更可能會使我們重新協商成本、資源和項目階段任務等事宜。”對需求分析達成一定的共識會使雙方易于忍受將來的摩擦,這些摩擦來源于項目的改進和需求的誤差或市場和業(yè)務的新要求等。   需求確認將迷霧撥散,顯現需求的真面目,給初步的需求開發(fā)工作畫上了雙方都明確的句號,并有助于形成一個持續(xù)良好的客戶與開發(fā)人員的關系,為項目的成功奠定了堅實的基礎。進入討論組討論。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永德县| 会理县| 桦南县| 尼勒克县| 潞城市| 壤塘县| 东山县| 泸西县| 长宁区| 留坝县| 宣化县| 海丰县| 咸阳市| 镇雄县| 西乌珠穆沁旗| 宾川县| 瑞丽市| 云浮市| 安丘市| 霍林郭勒市| 琼海市| 吉林省| 钟山县| 晋中市| 邓州市| 荔波县| 花莲县| 双牌县| 日土县| 襄汾县| 广昌县| 抚州市| 大渡口区| 黄大仙区| 和平区| 简阳市| 泉州市| 五台县| 翁牛特旗| 巴中市| 旺苍县|