引言
需求分析階段需要經(jīng)歷兩個(gè)步驟:首先,提出問(wèn)題的人說(shuō)一些話,以告訴幫助他解決問(wèn)題的人他要干什么,這就是“問(wèn)題陳述”,即通過(guò)語(yǔ)言或者文字對(duì)某個(gè)關(guān)注點(diǎn)的細(xì)節(jié)進(jìn)行表述。然后,解決問(wèn)題的人和提出問(wèn)題的人進(jìn)行溝通,以確證這個(gè)問(wèn)題的細(xì)節(jié),這就是“探索需求”,這是一個(gè)反復(fù)溝通的過(guò)程。
需求分析在現(xiàn)代軟件開(kāi)發(fā)中的地位日趨重要,這也意味著我們認(rèn)為現(xiàn)今的需求過(guò)程尚不完善。這種不完善很大程度上體現(xiàn)在“問(wèn)題陳述”和“人們真正想要的東西”之間的差距上,或者說(shuō),“問(wèn)題陳述”沒(méi)有能夠陳述清楚“人們真正想要的東西”。
在過(guò)去幾年,軟件過(guò)程和軟件工程流行的時(shí)代,很多人已經(jīng)被時(shí)尚所左右,言必稱(chēng)自動(dòng)化,開(kāi)口即軟件工程,仿佛所有的開(kāi)發(fā)問(wèn)題都已經(jīng)解決。更有甚者,有人還認(rèn)為需求分析中的歧義的根源是因?yàn)?ldquo;人”的參與。有人認(rèn)為“人”的不確定性導(dǎo)致了“陳述”的不確定性,由此導(dǎo)致了“人”提出的“問(wèn)題陳述”的歧義。并且,他們認(rèn)為只要排除掉需求分析過(guò)程中的人的因素,然后用一種嚴(yán)格論證、高度自動(dòng)化的、規(guī)范的方法論來(lái)進(jìn)行分析,就能夠消除這種歧義了。
但是,我們無(wú)法“剔除”具有嚴(yán)重不確定性的“顧客”;同樣,我們實(shí)在不能不把顧客當(dāng)人看待的。
自動(dòng)化方法干的是“大事情”。40年前需要很多個(gè)星期才能完成的工作量,今天只需要一個(gè)小時(shí)就能夠搞定。而且,由于自動(dòng)化工具的發(fā)展,我們還開(kāi)始挑戰(zhàn)那些在以前想都不敢想的系統(tǒng)。然而,隨著工具的進(jìn)步,軟件產(chǎn)品在可用性方面的口碑卻并沒(méi)有多少提高。
對(duì)于那些需求明確、陳述無(wú)歧義、一定程度上模式化了的內(nèi)容,自動(dòng)化方法非常擅長(zhǎng);但是也還有一些涉及到人性心理方面的棘手問(wèn)題卻無(wú)法用這些方法來(lái)解決。換句話說(shuō),只要是有規(guī)律的、統(tǒng)一的開(kāi)發(fā)過(guò)程,自動(dòng)化方法非常擅長(zhǎng);而在不同項(xiàng)目或產(chǎn)品之間的差異和個(gè)性化,則需要更細(xì)致的分析。
我們不妨做一個(gè)簡(jiǎn)單的計(jì)算。
規(guī)模為S的項(xiàng)目中有P%的問(wèn)題為公共問(wèn)題,有Q%(Q+P=100)的問(wèn)題為個(gè)性問(wèn)題。
在時(shí)間T1時(shí),我們每解決一個(gè)公共問(wèn)題需要投入T,每解決一個(gè)個(gè)性問(wèn)題需要投入M。解決個(gè)性問(wèn)題在整個(gè)項(xiàng)目中所占的投入為:R1=M×Q/(T×P+M×Q)。
在時(shí)間T2時(shí),我們每解決一個(gè)公共問(wèn)題需要投入t,每解決一個(gè)個(gè)性問(wèn)題需要投入m。解決個(gè)性問(wèn)題在整個(gè)項(xiàng)目中所占的投入為:R2=m×Q/(t×P+m×Q)。
從T1到T2,自動(dòng)化水平提高了,于是有T>>t,公共問(wèn)題和個(gè)性問(wèn)題的比例變化很小,而且對(duì)于每個(gè)個(gè)性問(wèn)題的投入也變化很小,即有M≈m。從而可以得到R1<<R2。
這表明,隨著自動(dòng)化水平的急劇提高,我們?cè)趥€(gè)性問(wèn)題方面的投入比例也急劇提高。
個(gè)性問(wèn)題,亦即是人性方面的因素反而隨著自動(dòng)化程度提高而愈顯得重要了。這一特征在那些具有多年開(kāi)發(fā)經(jīng)驗(yàn)的人們當(dāng)中早已成為了共識(shí)。也就是說(shuō),經(jīng)驗(yàn)豐富的專(zhuān)家們?cè)诩夹g(shù)任務(wù)上的投入少了,而在人性因素方面的投入更多了。
語(yǔ)言和符號(hào)系統(tǒng)
語(yǔ)言是我們表達(dá)思想的工具,也是某種文化的載體。在開(kāi)發(fā)系統(tǒng)方法中,我們也有語(yǔ)言,那就是符號(hào)系統(tǒng)。相信所有人都遇到過(guò)因?yàn)檎Z(yǔ)言不通而產(chǎn)生的交流障礙;同樣,在符號(hào)系統(tǒng)上,我們也遇到了交流障礙。
語(yǔ)言文字所傳遞的信息包括“內(nèi)涵”和“外延”兩部分。人們?cè)谡f(shuō)話傳遞信息時(shí),往往會(huì)附加上各種語(yǔ)態(tài)、表情、動(dòng)作作為對(duì)其所說(shuō)語(yǔ)音的外延;甚至我們可以認(rèn)為,因?yàn)槲覀儊?lái)自各個(gè)不同的省份縣市,各種不同的方言鄉(xiāng)音也傳遞了豐富的外延。
于是,對(duì)于同樣的事件或需求,我相信沒(méi)有任何兩個(gè)人的描述是完全一致的。承認(rèn)這一點(diǎn)對(duì)于我們直面需求分析的困難會(huì)有很大的幫助。
我們這里給出優(yōu)秀符號(hào)系統(tǒng)的兩個(gè)重要要求(當(dāng)然這僅僅是眾多要求中的兩個(gè)),以幫助我們將來(lái)使用這些符號(hào)。例如說(shuō),首先符號(hào)系統(tǒng)要能夠比較全面地表述我們所遇到的絕大部分問(wèn)題;其次為了適合產(chǎn)品開(kāi)發(fā)的過(guò)程化,符號(hào)系統(tǒng)的表述結(jié)果要比較容易保存和修訂。這也是對(duì)一個(gè)優(yōu)秀的CASE和CAD工具的基本要求:在任何時(shí)候都可以保留并修改我們當(dāng)前的結(jié)果。
實(shí)際上,幾乎所有的符號(hào)系統(tǒng)本身是不可能完全“直觀”和“易讀”的。
如果,要讓所有相關(guān)人員都能夠理解某種符號(hào)系統(tǒng),那么,最直接的辦法就是培訓(xùn)這些相關(guān)人員。下面的步驟可以測(cè)試一下當(dāng)前的映射圖到底有多直觀:
把每一幅映射圖展示給那些不知道這種符號(hào)系統(tǒng)的人來(lái)看。這種方法能夠揭示出符號(hào)系統(tǒng)中不直觀的地方。當(dāng)然,也有可能揭示的是這個(gè)映射圖中需要表達(dá)的那部分信息本身的不直觀。
讓每個(gè)人用自己熟悉的符號(hào)系統(tǒng)重新描述一遍對(duì)映射圖的理解,然后再讓一個(gè)理解這兩種符號(hào)系統(tǒng)的人來(lái)核對(duì)。這樣可以揭示映射圖中的一些人為的假設(shè)。
使用某種能夠把別的符號(hào)系統(tǒng)自動(dòng)轉(zhuǎn)換成某種“標(biāo)準(zhǔn)”的符號(hào)系統(tǒng)的自動(dòng)化工具。
上面講到了因?yàn)椴煌姆?hào)系統(tǒng)導(dǎo)致的對(duì)映射圖的理解的分歧,這就相當(dāng)于由于語(yǔ)言不通而導(dǎo)致了交流障礙。最直接最常見(jiàn)的辦法就是推遲需求工作的進(jìn)度,先讓大家都來(lái)學(xué)習(xí)這種語(yǔ)言(或符號(hào)系統(tǒng))。但是,這也是不切合實(shí)際的,因?yàn)檫@樣有可能還會(huì)讓大家失去對(duì)需求過(guò)程的興趣和沖動(dòng)。經(jīng)驗(yàn)表明,把這些學(xué)習(xí)時(shí)間安排為需求階段的一部分會(huì)好一些,因?yàn)檫@時(shí)候我們可以一邊學(xué)習(xí)語(yǔ)言,一邊解決問(wèn)題。
特別地,我們需要指出,任何一種符號(hào)系統(tǒng)都不可能百分之百地反映需求。下面提出了一些關(guān)于如何讓開(kāi)發(fā)者較好地表述需求的語(yǔ)言的建議。
在生活(或開(kāi)發(fā)項(xiàng)目)當(dāng)中,我們往往會(huì)遇到一些不明是由的旁人(非專(zhuān)業(yè)人員)橫加職責(zé),他們往往不愿意或者不屑于花時(shí)間來(lái)了解設(shè)計(jì)過(guò)程的時(shí)候,這時(shí)候,建議雇用一個(gè)明白事理而又口齒伶俐的調(diào)解人會(huì)比較有效。
人們不愿意參與設(shè)計(jì)過(guò)程的一個(gè)重要原因是現(xiàn)在的所謂“專(zhuān)業(yè)設(shè)計(jì)人員”的高高在上的姿態(tài)。千萬(wàn)要注意顧客和旁人(實(shí)際上是決定事態(tài)結(jié)果的裁決者)僅僅是對(duì)開(kāi)發(fā)過(guò)程不了解,他們?cè)趧e的方面(比如說(shuō)法律、業(yè)務(wù)等)卻是專(zhuān)家,這也是需要他們參與的原因。
一部分自動(dòng)化過(guò)程的固執(zhí)而忠實(shí)的擁躉認(rèn)為他們的“直觀”的符號(hào)系統(tǒng)很容易被別人看懂。這時(shí)候,不妨讓他給小組里外的成員培訓(xùn)一下他的符號(hào)系統(tǒng)。
對(duì)于同一個(gè)需求過(guò)程中的兩批不同背景的專(zhuān)家,常常會(huì)傾向于說(shuō)兩種不同的符號(hào)系統(tǒng)。那么最好的辦法就是用兩種不同的符號(hào)系統(tǒng)都表述一遍。
用一種大家都能聽(tīng)懂的語(yǔ)言來(lái)作為正式文檔的語(yǔ)言會(huì)比較有效,那么在需求過(guò)程中也最好事先指定一種“大家都能理解的”符號(hào)系統(tǒng)作為正式文檔。如果誰(shuí)不懂的話,就讓他去學(xué)好了。
不同母語(yǔ)之間的翻譯會(huì)有優(yōu)劣之分,同樣不同符號(hào)系統(tǒng)之間的翻譯也有優(yōu)劣。優(yōu)劣的背后就是分歧,也就是歧義。需求過(guò)程經(jīng)歷了從真正最終用戶(hù)——用戶(hù)代表——需求分析員——需求規(guī)格說(shuō)明書(shū)這么一長(zhǎng)串的步驟,每一步都是一種翻譯,因此保證每一個(gè)步驟都是最優(yōu)的就顯得格外重要了。
需要注意的是,需求過(guò)程并不完全是瀑布式的。隨著過(guò)程的深入,我們極有可能會(huì)像老牛一樣進(jìn)行反芻。
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門(mén)公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛(ài)好者、大學(xué)生提供專(zhuān)業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書(shū)、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專(zhuān)業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評(píng)論 查看完整評(píng)論 | |