久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

需求分析

 馨馨 2006-05-31

需求分析

      需求分析是指理解用戶需求,就軟件功能與客戶達(dá)成一致,,估計(jì)軟件風(fēng)險(xiǎn)和評估項(xiàng)目代價(jià),,最終形成開發(fā)計(jì)劃的一個(gè)復(fù)雜過程,。(這個(gè)和我在微軟體驗(yàn)到的又不太一樣,,微軟的需求分析大多是市場人員和用戶協(xié)助小組的人去評估用戶的接受程度,,這一點(diǎn)也可以理解,,因?yàn)楣镜男再|(zhì)有根本差別)在這個(gè)過程中,,用戶的確是處在主導(dǎo)地位,需求分析工程師和項(xiàng)目經(jīng)理要負(fù)責(zé)整理用戶需求,,為之后的軟件設(shè)計(jì)打下基礎(chǔ),。需求分析階段結(jié)束后,要求得到:1.SRS文檔(SySTem Requirement SpECification); 2.DRM 文檔,;3.Acceptance Plan.

      從廣義上理解:需求分析包括需求的獲取,、分析、規(guī)格說明,、變更,、驗(yàn)證、管理的一系列需求工程

 

      狹義上理解:需求分析指需求的分析,、定義過程,。

一、為什么要需求分析

      需求分析就是分析軟件用戶的需求是什么.如果投入大量的人力,,物力,財(cái)力,時(shí)間,開發(fā)出的軟件卻沒人要,那所有的投入都是徒勞.如果費(fèi)了很大的精力,開發(fā)一個(gè)軟件,最后卻不滿足用戶的要求,從而要重新開發(fā)過,這種返工是讓人痛心疾首的.(相信大家都有體會)比如,用戶需要一個(gè)for linux的軟件,而你在軟件開發(fā)前期忽略了軟件的運(yùn)行環(huán)境,忘了向用戶詢問這個(gè)問題,而想當(dāng)然的認(rèn)為是開發(fā)for windows的軟件,當(dāng)你千辛萬苦地開發(fā)完成向用戶提交時(shí)才發(fā)現(xiàn)出了問題,那時(shí)候你是欲哭無淚了,痕不得找塊豆腐一頭撞死.

      需求分析之所以重要,就因?yàn)樗哂袥Q策性,方向性,策略性的作用,他在軟件開發(fā)的過程中具有舉足輕重的地位.大家一定要對需求分析具有足夠的重視.在一個(gè)大型軟件系統(tǒng)的開發(fā)中,他的作用要遠(yuǎn)遠(yuǎn)大于程序設(shè)計(jì).

二,、需求分析的任務(wù)

      簡言之,需求分析的任務(wù)就是解決"做什么"的問題,就是要全面地理解用戶的各項(xiàng)要求,并準(zhǔn)確地表達(dá)所接受的用戶需求.

三、需求分析的過程

      需求分析階段的工作,可以分為四個(gè)方面:問題識別,分析與綜合,制訂規(guī)格說明,評審.

      問題識別
      就是從系統(tǒng)角度來理解軟件,確定對所開發(fā)系統(tǒng)的綜合要求,并提出這些需求的實(shí)現(xiàn)條件,以及需求應(yīng)該達(dá)到的標(biāo)準(zhǔn).這些需求包括:功能需求(做什么),性能需求(要達(dá)到什么指標(biāo)),環(huán)境需求(如機(jī)型,操作系統(tǒng)等),可靠性需求(不發(fā)生故障的概率),安全保密需求,用戶界面需求,資源使用需求(軟件運(yùn)行是所需的內(nèi)存,CPU等),軟件成本消耗與開發(fā)進(jìn)度需求,預(yù)先估計(jì)以后系統(tǒng)可能達(dá)到的目標(biāo).

      分析與綜合
      逐步細(xì)化所有的軟件功能,找出系統(tǒng)各元素間的聯(lián)系,接口特性和設(shè)計(jì)上的限制,分析他們是否滿足需求,剔除不合理部分,增加需要部分.最后,綜合成系統(tǒng)的解決方案,給出要開發(fā)的系統(tǒng)的詳細(xì)邏輯模型(做什么的模型).

      制訂規(guī)格說明書
      即編制文檔,描述需求的文檔稱為軟件需求規(guī)格說明書.請注意,需求分析階段的成果是需求規(guī)格說明書(好象軟考曾經(jīng)考過這個(gè)問題),向下一階段提交.

      評審
      對功能的正確性,完整性和清晰性,以及其它需求給予評價(jià).評審?fù)ㄟ^才可進(jìn)行下一階段的工作,否則重新進(jìn)行需求分析,。

四,、需求分析的方法

      需求分析的方法有很多.這里只強(qiáng)調(diào)原型化方法,其它的方法如:結(jié)構(gòu)化方法,動(dòng)態(tài)分析法等(個(gè)人認(rèn)為,對初學(xué)者不必深究這些方法,實(shí)際上我也從來沒用過這些方法)在此不討論.

      原型化方法是十分重要的(是軟考等常考的知識點(diǎn)).原型就是軟件的一個(gè)早期可運(yùn)行的版本,它實(shí)現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能.

      原型化方法就是盡可能快地建造一個(gè)粗糙的系統(tǒng),這系統(tǒng)實(shí)現(xiàn)了目標(biāo)系統(tǒng)的某些或全部功能,但是這個(gè)系統(tǒng)可能在可靠性,界面的友好性或其他方面上存在缺陷.建造這樣一個(gè)系統(tǒng)的目的是為了考察某一方面的可行性,如算法的可行性,技術(shù)的可行性,或考察是否滿足用戶的需求等.如,為了考察是否滿足用戶的要求,可以用某些軟件工具快速的建造一個(gè)原型系統(tǒng),這個(gè)系統(tǒng)只是一個(gè)界面,然后聽取用戶的意見,改進(jìn)這個(gè)原型.以后的目標(biāo)系統(tǒng)就在原型系統(tǒng)的基礎(chǔ)上開發(fā).

      原型主要有三種類型(軟考考過):探索型,實(shí)驗(yàn)型,進(jìn)化型.探索型:目的是要弄清楚對目標(biāo)系統(tǒng)的要求,確定所希望的特性,并探討多種方案的可行性.實(shí)驗(yàn)型:用于大規(guī)模開發(fā)和實(shí)現(xiàn)前,考核方案是否合適,規(guī)格說明是否可靠.進(jìn)化型:目的不在于改進(jìn)規(guī)格說明,而是將系統(tǒng)建造得易于變化,在改進(jìn)原型的過程中,逐步將原型進(jìn)化成最終系統(tǒng),。

      在使用原型化方法是有兩種不同的策略:廢棄策略,追加策略.廢棄策略:先建造一個(gè)功能簡單而且質(zhì)量要求不高的模型系統(tǒng),,針對這個(gè)系統(tǒng)反復(fù)進(jìn)行修改,形成比較好的思想,據(jù)此設(shè)計(jì)出較完整,準(zhǔn)確,一致,可靠的最終系統(tǒng).系統(tǒng)構(gòu)造完成后,原來的模型系統(tǒng)就被廢棄不用.探索型和實(shí)驗(yàn)型屬于這種策略。

      追加策略:先構(gòu)造一個(gè)功能簡單而且質(zhì)量要求不高的模型系統(tǒng),,作為最終系統(tǒng)的核心,然后通過不斷地?cái)U(kuò)充修改,逐步追加新要求,,發(fā)展成為最終系統(tǒng)。進(jìn)化型屬于這種策略.

五,、需求分析的20條法則(本節(jié)摘自軟件工程專家網(wǎng))

      客戶與開發(fā)人員交流需要好的方法,。下面建議20條法則,客戶和開發(fā)人員可以通過評審以下內(nèi)容并達(dá)成共識,。如果遇到分歧,,將通過協(xié)商達(dá)成對各自義務(wù)的相互理解,以便減少以后的磨擦(如一方要求而另一方不愿意或不能夠滿足要求),。

1,、 分析人員要使用符合客戶語言習(xí)慣的表達(dá)   
      需求討論集中于業(yè)務(wù)需求和任務(wù),因此要使用術(shù)語,??蛻魬?yīng)將有關(guān)術(shù)語(例如:采價(jià)、印花商品等采購術(shù)語)教給分析人員,,而客戶不一定要懂得計(jì)算機(jī)行業(yè)的術(shù)語,。

2,、分析人員要了解客戶的業(yè)務(wù)及目標(biāo)   
      只有分析人員更好地了解客戶的業(yè)務(wù),,才能使產(chǎn)品更好地滿足需要。這將有助于開發(fā)人員設(shè)計(jì)出真正滿足客戶需要并達(dá)到期望的優(yōu)秀軟件,。為幫助開發(fā)和分析人員,,客戶可以考慮邀請他們觀察自己的工作流程。如果是切換新系統(tǒng),,那么開發(fā)和分析人員應(yīng)使用一下目前的舊系統(tǒng),,有利于他們明白目前系統(tǒng)是怎樣工作的,其流程情況以及可供改進(jìn)之處。

3,、 分析人員必須編寫軟件需求報(bào)告   
      分析人員應(yīng)將從客戶那里獲得的所有信息進(jìn)行整理,,以區(qū)分業(yè)務(wù)需求及規(guī)范、功能需求,、質(zhì)量目標(biāo),、解決方法和其他信息。通過這些分析,,客戶就能得到一份“需求分析報(bào)告”,,此份報(bào)告使開發(fā)人員和客戶之間針對要開發(fā)的產(chǎn)品內(nèi)容達(dá)成協(xié)議。報(bào)告應(yīng)以一種客戶認(rèn)為易于翻閱和理解的方式組織編寫,??蛻粢u審此報(bào)告,以確保報(bào)告內(nèi)容準(zhǔn)確完整地表達(dá)其需求,。一份高質(zhì)量的“需求分析報(bào)告”有助于開發(fā)人員開發(fā)出真正需要的產(chǎn)品,。

4、 要求得到需求工作結(jié)果的解釋說明   
      分析人員可能采用了多種圖表作為文字性“需求分析報(bào)告”的補(bǔ)充說明,,因?yàn)楣ぷ鲌D表能很清晰地描述出系統(tǒng)行為的某些方面,,所以報(bào)告中各種圖表有著極高的價(jià)值;雖然它們不太難于理解,,但是客戶可能對此并不熟悉,,因此客戶可以要求分析人員解釋說明每個(gè)圖表的作用、符號的意義和需求開發(fā)工作的結(jié)果,,以及怎樣檢查圖表有無錯(cuò)誤及不一致等,。

5、 開發(fā)人員要尊重客戶的意見  
      如果用戶與開發(fā)人員之間不能相互理解,,那關(guān)于需求的討論將會有障礙,。共同合作能使大家“兼聽則明”。參與需求開發(fā)過程的客戶有權(quán)要求開發(fā)人員尊重他們并珍惜他們?yōu)轫?xiàng)目成功所付出的時(shí)間,,同樣,,客戶也應(yīng)對開發(fā)人員為項(xiàng)目成功這一共同目標(biāo)所做出的努力表示尊重。

6,、 開發(fā)人員要對需求及產(chǎn)品實(shí)施提出建議和解決方案   
      通??蛻羲f的“需求”已經(jīng)是一種實(shí)際可行的實(shí)施方案,分析人員應(yīng)盡力從這些解決方法中了解真正的業(yè)務(wù)需求,,同時(shí)還應(yīng)找出已有系統(tǒng)與當(dāng)前業(yè)務(wù)不符之處,,以確保產(chǎn)品不會無效或低效;在徹底弄清業(yè)務(wù)領(lǐng)域內(nèi)的事情后,,分析人員就能提出相當(dāng)好的改進(jìn)方法,,有經(jīng)驗(yàn)且有創(chuàng)造力的分析人員還能提出增加一些用戶沒有發(fā)現(xiàn)的很有價(jià)值的系統(tǒng)特性,。

7、 描述產(chǎn)品使用特性   
      客戶可以要求分析人員在實(shí)現(xiàn)功能需求的同時(shí)還注意軟件的易用性,,因?yàn)檫@些易用特性或質(zhì)量屬性能使客戶更準(zhǔn)確,、高效地完成任務(wù)。例如:客戶有時(shí)要求產(chǎn)品要“界面友好”或“健壯”或“高效率”,,但對于開發(fā)人員來講,,太主觀了并無實(shí)用價(jià)值。正確的做法是,,分析人員通過詢問和調(diào)查了解客戶所要的“友好,、健壯、高效所包含的具體特性,,具體分析哪些特性對哪些特性有負(fù)面影響,,在性能代價(jià)和所提出解決方案的預(yù)期利益之間做出權(quán)衡,以確保做出合理的取舍,。

8,、 允許重用已有的軟件組件   
       需求通常有一定靈活性,分析人員可能發(fā)現(xiàn)已有的某個(gè)軟件組件與客戶描述的需求很相符,,在這種情況下,,分析人員應(yīng)提供一些修改需求的選擇以便開發(fā)人員能夠降低新系統(tǒng)的開發(fā)成本和節(jié)省時(shí)間,而不必嚴(yán)格按原有的需求說明開發(fā),。所以說,,如果想在產(chǎn)品中使用一些已有的商業(yè)常用組件,而它們并不完全適合您所需的特性,,這時(shí)一定程度上的需求靈活性就顯得極為重要了,。

9、 要求對變更的代價(jià)提供真實(shí)可靠的評估   
       有時(shí),,人們面臨更好,、也更昂貴的方案時(shí),會做出不同的選擇,。而這時(shí),,對需求變更的影響進(jìn)行評估從而對業(yè)務(wù)決策提供幫助,,是十分必要的,。所以,,客戶有權(quán)利要求開發(fā)人員通過分析給出一個(gè)真實(shí)可信的評估,,包括影響、成本和得失等,。開發(fā)人員不能由于不想實(shí)施變更而隨意夸大評估成本。

10、 獲得滿足客戶功能和質(zhì)量要求的系統(tǒng)   
      每個(gè)人都希望項(xiàng)目成功,,但這不僅要求客戶要清晰地告知開發(fā)人員關(guān)于系統(tǒng)“做什么”所需的所有信息,,而且還要求開發(fā)人員能通過交流了解清楚取舍與限制,一定要明確說明您的假設(shè)和潛在的期望,,否則,,開發(fā)人員開發(fā)出的產(chǎn)品很可能無法讓您滿意。

11,、 給分析人員講解您的業(yè)務(wù)   
      分析人員要依靠客戶講解業(yè)務(wù)概念及術(shù)語,,但客戶不能指望分析人員會成為該領(lǐng)域的專家,而只能讓他們明白您的問題和目標(biāo),;不要期望分析人員能把握客戶業(yè)務(wù)的細(xì)微潛在之處,,他們可能不知道那些對于客戶來說理所當(dāng)然的“常識”。

12,、 抽出時(shí)間清楚地說明并完善需求   
      客戶很忙,,但無論如何客戶有必要抽出時(shí)間參與“頭腦高峰會議”的討論,接受采訪或其他獲取需求的活動(dòng),。有些分析人員可能先明白了您的觀點(diǎn),,而過后發(fā)現(xiàn)還需要您的講解,這時(shí)請耐心對待一些需求和需求的精化工作過程中的反復(fù),,因?yàn)樗侨藗兘涣髦泻茏匀坏默F(xiàn)象,,何況這對軟件產(chǎn)品的成功極為重要。

13,、 準(zhǔn)確而詳細(xì)地說明需求   
      編寫一份清晰,、準(zhǔn)確的需求文檔是很困難的。由于處理細(xì)節(jié)問題不但煩人而且耗時(shí),,因此很容易留下模糊不清的需求,。但是在開發(fā)過程中,必須解決這種模糊性和不準(zhǔn)確性,,而客戶恰恰是為解決這些問題作出決定的最佳人選,,否則,就只好靠開發(fā)人員去正確猜測了,。

      在需求分析中暫時(shí)加上“待定”標(biāo)志是個(gè)方法,。用該標(biāo)志可指明哪些是需要進(jìn)一步討論、分析或增加信息的地方,,有時(shí)也可能因?yàn)槟硞€(gè)特殊需求難以解決或沒有人愿意處理它而標(biāo)注上“待定”,。客戶要盡量將每項(xiàng)需求的內(nèi)容都闡述清楚,,以便分析人員能準(zhǔn)確地將它們寫進(jìn)“軟件需求報(bào)告”中去,。如果客戶一時(shí)不能準(zhǔn)確表達(dá),通常就要求用原型技術(shù),,通過原型開發(fā),,客戶可以同開發(fā)人員一起反復(fù)修改,,不斷完善需求定義。

14,、 及時(shí)作出決定   
      分析人員會要求客戶作出一些選擇和決定,,這些決定包括來自多個(gè)用戶提出的處理方法或在質(zhì)量特性沖突和信息準(zhǔn)確度中選擇折衷方案等。有權(quán)作出決定的客戶必須積極地對待這一切,,盡快做處理,,做決定,因?yàn)殚_發(fā)人員通常只有等客戶做出決定才能行動(dòng),,而這種等待會延誤項(xiàng)目的進(jìn)展,。

15、 尊重開發(fā)人員的需求可行性及成本評估   
      所有的軟件功能都有其成本,??蛻羲M哪承┊a(chǎn)品特性可能在技術(shù)上行不通,或者實(shí)現(xiàn)它要付出極高的代價(jià),,而某些需求試圖達(dá)到在操作環(huán)境中不可能達(dá)到的性能,,或試圖得到一些根本得不到的數(shù)據(jù)。開發(fā)人員會對此作出負(fù)面的評價(jià),,客戶應(yīng)該尊重他們的意見,。

16、 劃分需求的優(yōu)先級   
      絕大多數(shù)項(xiàng)目沒有足夠的時(shí)間或資源實(shí)現(xiàn)功能性的每個(gè)細(xì)節(jié),。決定哪些特性是必要的,,哪些是重要的,是需求開發(fā)的主要部分,,這只能由客戶負(fù)責(zé)設(shè)定需求優(yōu)先級,,因?yàn)殚_發(fā)者不可能按照客戶的觀點(diǎn)決定需求優(yōu)先級;開發(fā)人員將為您確定優(yōu)先級提供有關(guān)每個(gè)需求的花費(fèi)和風(fēng)險(xiǎn)的信息,。   在時(shí)間和資源限制下,,關(guān)于所需特性能否完成或完成多少應(yīng)尊重開發(fā)人員的意見。盡管沒有人愿意看到自己所希望的需求在項(xiàng)目中未被實(shí)現(xiàn),,但畢竟是要面對現(xiàn)實(shí),,業(yè)務(wù)決策有時(shí)不得不依據(jù)優(yōu)先級來縮小項(xiàng)目范圍或延長工期,或增加資源,,或在質(zhì)量上尋找折衷,。

17、 評審需求文檔和原型   
      客戶評審需求文檔,,是給分析人員帶來反饋信息的一個(gè)機(jī)會,。如果客戶認(rèn)為編寫的“需求分析報(bào)告”不夠準(zhǔn)確,就有必要盡早告知分析人員并為改進(jìn)提供建議,。更好的辦法是先為產(chǎn)品開發(fā)一個(gè)原型,。這樣客戶就能提供更有價(jià)值的反饋信息給開發(fā)人員,,使他們更好地理解您的需求;原型并非是一個(gè)實(shí)際應(yīng)用產(chǎn)品,,但開發(fā)人員能將其轉(zhuǎn)化、擴(kuò)充成功能齊全的系統(tǒng),。

18,、 需求變更要立即聯(lián)系   
      不斷的需求變更,會給在預(yù)定計(jì)劃內(nèi)完成的質(zhì)量產(chǎn)品帶來嚴(yán)重的不利影響,。變更是不可避免的,,但在開發(fā)周期中,變更越在晚期出現(xiàn),,其影響越大,;變更不僅會導(dǎo)致代價(jià)極高的返工,而且工期將被延誤,,特別是在大體結(jié)構(gòu)已完成后又需要增加新特性時(shí),。所以,一旦客戶發(fā)現(xiàn)需要變更需求時(shí),,請立即通知分析人員,。

19、 遵照開發(fā)小組處理需求變更的過程   
      為將變更帶來的負(fù)面影響減少到最低限度,,所有參與者必須遵照項(xiàng)目變更控制過程,。這要求不放棄所有提出的變更,對每項(xiàng)要求的變更進(jìn)行分析,、綜合考慮,,最后做出合適的決策,以確定應(yīng)將哪些變更引入項(xiàng)目中,。

20,、 尊重開發(fā)人員采用的需求分析過程   
      軟件開發(fā)中最具挑戰(zhàn)性的莫過于收集需求并確定其正確性,分析人員采用的方法有其合理性,。也許客戶認(rèn)為收集需求的過程不太劃算,,但請相信花在需求開發(fā)上的時(shí)間是非常有價(jià)值的;如果您理解并支持分析人員為收集,、編寫需求文檔和確保其質(zhì)量所采用的技術(shù),,那么整個(gè)過程將會更為順利。

“需求確認(rèn)”意味著什么   

      在“需求分析報(bào)告”上簽字確認(rèn),,通常被認(rèn)為是客戶同意需求分析的標(biāo)志行為,,然而實(shí)際操作中,客戶往往把“簽字”看作是毫無意義的事情,。“他們要我在需求文檔的最后一行下面簽名,,于是我就簽了,,否則這些開發(fā)人員不開始編碼。”   

      這種態(tài)度將帶來麻煩,,譬如客戶想更改需求或?qū)Ξa(chǎn)品不滿時(shí)就會說:“不錯(cuò),,我是在需求分析報(bào)告上簽了字,但我并沒有時(shí)間去讀完所有的內(nèi)容,,我是相信你們的,,是你們非讓我簽字的。”   

      同樣問題也會發(fā)生在僅把“簽字確認(rèn)”看作是完成任務(wù)的分析人員身上,,一旦有需求變更出現(xiàn),,他便指著“需求分析報(bào)告”說:“您已經(jīng)在需求上簽字了,所以這些就是我們所開發(fā)的,,如果您想要?jiǎng)e的什么,,您應(yīng)早些告訴我們。”   

      這兩種態(tài)度都是不對的,。因?yàn)椴豢赡茉陧?xiàng)目的早期就了解所有的需求,,而且毫無疑問地需求將會出現(xiàn)變更,在“需求分析報(bào)告”上簽字確認(rèn)是終止需求分析過程的正確方法,,所以我們必須明白簽字意味著什么,。
  
     對“需求分析報(bào)告”的簽名是建立在一個(gè)需求協(xié)議的基線上,因此我們對簽名應(yīng)該這樣理解:“我同意這份需求文檔表述了我們對項(xiàng)目軟件需求的了解,,進(jìn)一步的變更可在此基線上通過項(xiàng)目定義的變更過程來進(jìn)行,。我知道變更可能會使我們重新協(xié)商成本、資源和項(xiàng)目階段任務(wù)等事宜,。”對需求分析達(dá)成一定的共識會使雙方易于忍受將來的摩擦,,這些摩擦來源于項(xiàng)目的改進(jìn)和需求的誤差或市場和業(yè)務(wù)的新要求等。   需求確認(rèn)將迷霧撥散,,顯現(xiàn)需求的真面目,,給初步的需求開發(fā)工作畫上了雙方都明確的句號,并有助于形成一個(gè)持續(xù)良好的客戶與開發(fā)人員的關(guān)系,,為項(xiàng)目的成功奠定了堅(jiān)實(shí)的基礎(chǔ),。

六、點(diǎn)評需求分析誤區(qū)

      要想說什么是好的需求分析,,不如說什么是不好的需求分析,,知道什么是不好的,自然也就知道了什么是好的,。以下就是一些不好的情況:

(1)創(chuàng)意和求實(shí)
      毋庸質(zhì)疑的,,每個(gè)人都會為自己的一個(gè)新的IDEa而激動(dòng)萬分,特別是當(dāng)這個(gè)Idea受到一些根本不知道你原本要干嘛的人的驚贊時(shí)。但是請注意,,當(dāng)你激動(dòng)得意的時(shí)候,,你可能已經(jīng)忘了你原本是在描述一個(gè)需求,而不是在策劃一個(gè)創(chuàng)意,、創(chuàng)造一個(gè)概念,。很多剛開始做需求分析的人員都或多或少的會犯這樣的錯(cuò)誤,陶醉在自己的新想法和新思路中,,卻違背了需求的原始客觀性和真實(shí)性原則,。

      永遠(yuǎn)別忘了:需求不是空中樓閣,是實(shí)實(shí)在在的一磚一瓦,。

(2)解剖的快感
      幾乎所有搞軟件的人,,做需求分析的時(shí)候,,一上來就會把用戶告訴你的要求,,完完整整的作個(gè)解剖,切開分成幾個(gè)塊,,再細(xì)分成幾個(gè)子塊,,然后再條分縷析??墒钱?dāng)用戶迷惑的看著你辛辛苦苦做出來的分析結(jié)果問你:我想作一個(gè)數(shù)據(jù)備份的任務(wù),,怎么做?這時(shí),,你會發(fā)現(xiàn),,需要先后打開三個(gè)窗口才能完成這個(gè)任務(wù)。

      永遠(yuǎn)別忘了:分解是必需的,,但最終的目的是為了更好的組合,,而不是為了分解。

(3)角度和思維
      經(jīng)常聽到這樣的抱怨:“用戶怎么可以提出這樣苛刻的要求呢,?”,。細(xì)細(xì)一了解,你會發(fā)現(xiàn),,用戶只不過是要求把一個(gè)需要兩次點(diǎn)擊的功能,,改成只有一次點(diǎn)擊。這樣會導(dǎo)致需要改變需求,、改變編碼,、甚至重新測試,增加工作量,??墒牵绻麚Q個(gè)角度來想想,這個(gè)功能,,開發(fā)的時(shí)候只用了幾次,、幾十次,可是用戶每天都要用幾百次甚 至幾千次幾萬次,,改動(dòng)一下就減少了一半的工作量,,對他來說,這樣的需求難道會苛刻嗎,?

      永遠(yuǎn)別忘了:沒有任何需求是不對的,,不對的只是你的需求分析。試著站在用戶的思維角度想想,,你的需求分析就會更加的貼近用戶,,更加的合理。軟件應(yīng)該是以人為本的,。

(4)程序員邏輯
      從程序員成長為系統(tǒng)分析員是一個(gè)普遍的軌跡,,但并不是一個(gè)好的程序員就必然能成為一個(gè)好的系統(tǒng)分析員。一些程序員的固化邏輯,,使得他們在做需求分析的時(shí)候往往鉆進(jìn)了一些牛角里面,。比如說1/0邏輯(或者是說黑白邏輯),認(rèn)為不是這樣就是那樣,,沒有第三種情況,。可實(shí)際情況往往是,,在一定的時(shí)候是這樣,,其它時(shí)候是那樣。又比如窮舉邏輯,,喜歡上來就把所有一二三可能的情況列舉出來,,然后一個(gè)一個(gè)分別處理,每個(gè)占用三分之一的時(shí)間,;可是實(shí)際的情況往往是,,三分之一的情況占了99%的比例,其它兩種情況一年都不會遇到一次,。實(shí)際中還有很多這樣的例子,,不一一列舉了。

      永遠(yuǎn)別忘了:需求分析和程序設(shè)計(jì)不盡相同,,合理,、可行是才是重要的。跳出程序設(shè)計(jì)的圈子,,站在%B

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多