首頁 培訓計劃 培訓課程 企業內訓 學員論壇 技術文章 成功案例 師資簡介 關于我們 在線留言  
行業新聞
小談需求分析

文章來源:www.cnblogs.com 作者: 發布日期:2010-03-01
打 印】【關 閉

做了幾年開發,終于到了總結的時候,倒不是說為總結而總結,而是水到渠成,該是做這事的時候了,就像娶老婆,生孩子一樣自然!

 談什么呢,先談需求分析,做了幾年開發下來,發現需求分析是個很重要的問題,很多程序改了又改,甚至有同事說:“程序就是改出來的”,這其中很大一部分問題就是需求分析沒做好或是做的有缺失,所以先把這個問題拿出來說說,既是對自己的一個總結,也希望對別人有所幫助!

   做需求分析,我的感覺是盡可能的減少信息傳遞的個體,先說下我對需求分析的理解,就是把客戶的功能描述轉化為軟件員所能理解的功能描述,并在客戶描述的基礎上去除不合理的地方,補充系統缺失的地方,最后為系統的概要設計,詳細設計提供準確,有效的數據基礎。那么這邊就有個信息傳輸的問題,例如一個企業要做個系統,他的老板把他的系統理解傳遞給手下經理,再由經理傳遞給科員,然后找軟件公司,在來個來回,從前臺人員傳遞給項目經理,再由項目經理傳遞給程序員,在這樣一個信息傳遞中,每個人都有各自對系統的理解,那么就會產生偏差,誤解,而如果把每一個人的偏差與誤解累加起來,我們就會發現一個很恐怖的事情,那就是我們的系統可能與客戶原始的初衷相差很遠,甚至可能就是兩種系統的理解,所以我個人感覺在條件允許的情況下盡可能地減少中間的信息傳遞,讓信息損失與誤差降低到最低??!

   還有一種情況是他的軟件需求是由很多個人的集體意見構成的,那么這里就有主次,輕重之分了。比如一個辦公自動化系統,信息發布的需求是由某個科長提出的,公文流轉是由打印室提出的,文檔管理是由檔案室提出的,而且在提需求的過程中,有科員也有領導,那么在這里,我們就要區別對待了,首先要做的便是把所有人意見整理一下,把大家的共同意見先整理出來,因為這是我們必須要做的,而且是首要考慮的,然后,我們便是抓大頭,如果某個科員和他的領導在需求方面有分歧,甚至南轅北轍,那么我們就是要把領導的需求放在首要位置,當然這建立在合理的基礎上,優先考慮領導需求,把兩份文檔整理出來,那么系統的雛形也就差不多出來了。還有不要忘記,那就是確認,把整理好的需求與各個科室的領導再對下,最好是形成文檔,那么這個需求相對完善了!

   還有一種情況也是我碰到過的,那就是客戶對某個要求比較強硬,而這個需求在軟件實現上有其不合理的地方,那么我們就要據理力爭,雖說“客戶是上帝”,但是我覺得維持一個公司的技術獨立型,運營獨立性很重要,我們不能被客戶牽著鼻子走,而是我們引導客戶實現他的系統功能,完善他的各項管理!

   而我遇到最多的便是小軟件公司不負責任,說難聽點就是忽悠人,但也不是說他亂做,而是僅實現功能地做,甚至我原來公司做個辦公自動化系統就是照著別人的做,就差沒把別人的代碼拿過來換成自己公司的名稱了,完全脫離需求實際,不需要的功能多做了,要的功能少做了或是徹底沒做,結果呢就是改啊,拖啊,老板竟然還在那自鳴得意,認為照別人做是個不錯的主意,而項目完不成便就是我們的責任,哎!而且很多公司認為只要實現功能就行了,對他們來說最重要的就是收到錢,完全不負責任。所以個人認為在做需求分析時,站在客戶的角度設身處地的去思考系統這是很重要的,我們的客戶不只是要一個實現功能的系統的,而是要一個給他帶來效益的,科學的,合理的,人性化的系統,那么很多時候客戶在系統中沒有想到的,我們就要考慮到,這不是給自己找麻煩,而是保持一個系統完整性所必須的,我們提供的不只是個軟件,而是一個精致的產品,一種優質的服務,甚至是一整套科學合理的完成某些工作的先進理念!而且在很多時候,用戶體驗是很重要的,而在我接觸的公司基本就不考慮這個,在他們來說實現功能,收到錢比什么都重要,所以便一直就是小公司!

    關于需求分析的總結大體就到這了,當然還有很多其他的東西也是很重要的,例如在系統開發前我們必須做好功課,充分了解系統所在行業的行業背景,相關流程,甚至去下一些別人寫的與系統有關的程序,“存在的都是合理的”,很多時候別人的系統是很值得借鑒的,注意,是借鑒而不是抄襲,我們要學的是思想。當然關于需求分析還有很多東西,說白了,這也是門學問,而我只是個學習者,還有很多不足,望各位不吝賜教!

打 印】【關 閉

上一篇:C#小技巧征集中。。
下一篇:閑話C#書籍
相關新聞
版權所有©威課網 粵ICP備13058727號