一、需求與需求調(diào)研概述
我們討論的問題是需求、需求調(diào)查和需求分析(研究)。在正式討論需求與需求調(diào)研之前,我先提出兩個假設(shè),以作為討論的前提。大家還可以對這兩個假設(shè)進(jìn)行討論。
假設(shè)1,客戶的需求,在一定的時(shí)間段內(nèi)、一定的環(huán)境下(經(jīng)濟(jì)環(huán)境、組織結(jié)構(gòu)、發(fā)展期間、IT應(yīng)用水平)、一定的范圍內(nèi),是確定的,或者說是相對確定的。由此,產(chǎn)生出一個結(jié)論:掌握了一定技能和方法的需求調(diào)研人員應(yīng)該可以把握這個需求,能把這個需求通過調(diào)研和其他方式搞清楚;
假設(shè)2,需求調(diào)研人員已經(jīng)掌握的需求,能不能完整的描述出來以便于軟件開發(fā)的后續(xù)活動順利進(jìn)行?是使用自然語言還是形式化語言?我們假設(shè)目前采用的用例驅(qū)動的面向?qū)ο蠓椒ǎ梢杂行Й@取客戶的需求,并通過統(tǒng)一建模語言UML的使用,可以比較準(zhǔn)確地描述需求。
本文基于以上的假設(shè),對軟件工程的需求、 需求調(diào)查和需求分析(研究)進(jìn)行討論。其中大部分內(nèi)容是我這些年從事信息管理工作的體會,因此,每個章節(jié)都有一節(jié)“討論”,歡迎大家指正。
1、需求
需求,在不同的語境中有不同的含義。對于軟件需求來說,目前常見的定義是IEEE軟件工程標(biāo)準(zhǔn)詞匯表(1997年)中的定義:
(1) 用戶解決問題或達(dá)到目標(biāo)所需的條件或能力(或者是條件或權(quán)能 Capability );
(2) 系統(tǒng)或系統(tǒng)部件要滿足合同、標(biāo)準(zhǔn)、規(guī)范或其他正式規(guī)定文檔所需具有的條件或能力;
(3) 一種反映上述條件和能力的文檔說明。
對于以上的定義,我總覺得說的不夠清楚,客戶可能就看不明白?;蛘哒f做軟件開發(fā)的人們心里都明白,說不說都行;或許像有些人說的,人們并不清楚究竟該做什么,但卻一直忙碌不停地開發(fā)。
在這里,我們不需要準(zhǔn)確的去定義需求,但還是要討論一下需求到底是什么。
管理軟件的應(yīng)用和實(shí)施,歸根結(jié)底是一種經(jīng)濟(jì)活動。那么,換一個角度來看需求,可能更有助于理解。
從經(jīng)濟(jì)學(xué)的角度來看,“需求”就是人們的“欲望”。軟件需求也可以說是客戶在一定的條件下為了改善管理?xiàng)l件、追逐更大利潤的“欲望”。當(dāng)欲望得到滿足,人們會感到快樂和幸福,這就是“效用”。不過,欲望和效應(yīng)是無法計(jì)量的,捉摸不定的,因?yàn)樗扔形镔|(zhì)因素也有精神因素。而且,一般情況下這個效用(單位效用)是不斷遞減的(經(jīng)濟(jì)學(xué)上的邊際效用遞減法則),這樣,人們的欲望就會越來越高。
從需求理論 來說,一方面,人們的欲望受到當(dāng)時(shí)的社會生產(chǎn)規(guī)模、效果和資源條件的限制,另一方面,一個欲望得到滿足以后就會產(chǎn)生新的欲望。
軟件產(chǎn)品作為一種特殊的商品,是軟件公司通過有限的技術(shù)手段為了應(yīng)付客戶的欲望而開發(fā)出來的。由于需求“效用”的不可計(jì)量,再加上軟件產(chǎn)品的特殊性,于是客戶就有可能會對最終產(chǎn)品產(chǎn)生“期望差異”。
軟件產(chǎn)品是一種特殊的產(chǎn)品。按照《中華人民共和國著作權(quán)法》的定義,計(jì)算機(jī)軟件是科學(xué)作品,“是指文學(xué)、藝術(shù)和科學(xué)領(lǐng)域內(nèi)具有獨(dú)創(chuàng)性并能以某種有形形式復(fù)制的智力成果?!?軟件的開發(fā),也可以稱為創(chuàng)作,“著作權(quán)法所稱創(chuàng)作,是指直接產(chǎn)生文學(xué)、藝術(shù)和科學(xué)作品的智力活動?!?具體來說,計(jì)算機(jī)軟件是指計(jì)算機(jī)程序及其有關(guān)文檔。同時(shí),軟件是一種知識產(chǎn)物,獨(dú)立于其載體。
軟件公司屬于國民經(jīng)濟(jì)行業(yè)分類《信息傳輸、計(jì)算機(jī)服務(wù)和軟件業(yè)》中的軟件業(yè)。按照《計(jì)算機(jī)科學(xué)技術(shù)百科全書》的解釋,兼有制造業(yè)與服務(wù)業(yè)的雙重特性。給社會提供更多更好的軟件產(chǎn)品是軟件公司的基本職能。
關(guān)于期望差異和兩個假設(shè)的話題,我們在本節(jié)的討論中再展開。
注:關(guān)于計(jì)算機(jī)軟件的特性和軟件業(yè)的特點(diǎn),以后再討論。
2、需求調(diào)研的性質(zhì)
需求調(diào)查從本質(zhì)上講是屬于社會調(diào)查的范疇。
社會調(diào)查的一般理論:社會調(diào)查