什么是需求分析?需求分析方法是什么?需求分析它是指我們要理解用戶(hù)需求,需求它是軟件功能與客戶(hù)要達(dá)成一致,同時(shí)要估計(jì)軟件風(fēng)險(xiǎn)以及評(píng)估項(xiàng)目代價(jià),最終我們需要形成一套開(kāi)發(fā)計(jì)劃。在這個(gè)過(guò)程中,我們用戶(hù)的需求始終要處于主導(dǎo)地位。在某種情況下,項(xiàng)目經(jīng)理和需求分析工程師都需要整理用戶(hù)需求,只有做好需求分析,才能有可能為之后的軟件設(shè)計(jì)打下基礎(chǔ),讓我們發(fā)開(kāi)的產(chǎn)品更能滿足用戶(hù)的需求。接下來(lái)我們介紹一下需求分析方法。
結(jié)構(gòu)化的分析方法是傳統(tǒng)的分析法,它的好處是在需求階段可以不需要精確地定義系統(tǒng),只需要根據(jù)業(yè)務(wù)框架確定系統(tǒng)的功能范圍,以及每個(gè)功能的處理邏輯和業(yè)務(wù)規(guī)則,功能需求規(guī)格書(shū)等。因?yàn)椴恍枰_描述,因此描述系統(tǒng)的方式比較靈活多樣,可以采用圖表、示例圖、文字等等方式來(lái)描述系統(tǒng)。在系統(tǒng)開(kāi)發(fā)以前,一般還可以采用更為直觀的原型系統(tǒng)方式和最終用戶(hù)進(jìn)行交流和確認(rèn),因此對(duì)業(yè)務(wù)需求的要求會(huì)低一些,業(yè)務(wù)需求階段的周期相對(duì)容易控制;通過(guò)業(yè)務(wù)全景圖,最終用戶(hù)也能了解系統(tǒng)的功能;通過(guò)功能活動(dòng)圖和業(yè)務(wù)規(guī)則的描述,也可以相對(duì)精確地描述業(yè)務(wù)系統(tǒng);因?yàn)闆](méi)有嚴(yán)格的標(biāo)記語(yǔ)言,可以采用適當(dāng)?shù)钠枋鲞m當(dāng)?shù)南到y(tǒng)。當(dāng)然,這種方法的缺點(diǎn)也是明顯的,分析人員和業(yè)務(wù)人員之間可能缺乏共同語(yǔ)言,機(jī)器不能識(shí)別業(yè)務(wù)需求書(shū),在設(shè)計(jì)階段還需要繼續(xù)和用戶(hù)確認(rèn)一部分功能。
面向?qū)ο蟮姆治龇椒ǖ淖畲蠛锰幨窃谛枨箅A段,就能夠非常精確地描述一個(gè)系統(tǒng),采用程序語(yǔ)言的方式和最終用戶(hù)交流(最終用戶(hù)必須要熟悉這種語(yǔ)言),能夠在項(xiàng)目一開(kāi)始就發(fā)現(xiàn)很多問(wèn)題,避免在開(kāi)發(fā)的過(guò)程中出現(xiàn)需求的反復(fù),而且在系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)階段不需要最終用戶(hù)參與。在實(shí)施上,一般可以采用場(chǎng)景、業(yè)務(wù)功能等方式來(lái)描述,比較適合于業(yè)務(wù)流程環(huán)節(jié)多的系統(tǒng),或者軟件產(chǎn)品的開(kāi)發(fā)。但是,我們也要看到,在現(xiàn)實(shí)中,絕大多數(shù)的應(yīng)用系統(tǒng)都很難在需求階段就可以被精確地抽象化定義,所以這種方法的缺點(diǎn)和困難也是顯而易見(jiàn)的:首先,用戶(hù)要非常清楚地知道最終的業(yè)務(wù)系統(tǒng)應(yīng)該是什么樣,或者采用一種抽象的方式能夠確定最終的應(yīng)用系統(tǒng);其次,因?yàn)樽罱K用戶(hù)不需要參與設(shè)計(jì)和開(kāi)發(fā)階段的工作,所以雙方確定業(yè)務(wù)需求的過(guò)程也會(huì)比較長(zhǎng);同時(shí),因?yàn)槭蔷_描述,因此描述系統(tǒng)的語(yǔ)言是非常邏輯化的,一般通過(guò)某種方式可以使機(jī)器識(shí)別業(yè)務(wù)需求,采用這種方式寫(xiě)的業(yè)務(wù)需求是非常格式化的,一方面描述一個(gè)系統(tǒng)需要的信息非常多,可能使需求說(shuō)明的篇幅非常長(zhǎng),不便于理解和閱讀;另外由于通過(guò)抽象的方式來(lái)推演最終系統(tǒng)的運(yùn)行方式,對(duì)業(yè)務(wù)人員的要求非常高。
需求分析是指理解用戶(hù)需求,就軟件功能與客戶(hù)達(dá)成一致,估計(jì)軟件風(fēng)險(xiǎn)和評(píng)估項(xiàng)目代價(jià),最終形成開(kāi)發(fā)計(jì)劃的一個(gè)復(fù)雜過(guò)程在這個(gè)過(guò)程中,用戶(hù)的確是處在主導(dǎo)地位,需求分析工程師和項(xiàng)目經(jīng)理要負(fù)責(zé)整理用戶(hù)需求,為之后的軟件設(shè)計(jì)打下基礎(chǔ)。需求分析階段包括:
業(yè)務(wù)需求——反映了組織機(jī)構(gòu)或客戶(hù)對(duì)系統(tǒng)、產(chǎn)品高層次的目標(biāo)要求,通常在項(xiàng)目定義與范圍文檔中予以說(shuō)明。
用戶(hù)需求——描述了用戶(hù)使用產(chǎn)品必須要完成的任務(wù),這在使用實(shí)例或方案腳本中予以說(shuō)明。
功能需求——定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使用戶(hù)利用系統(tǒng)能夠完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。
非功能性的需求——描述了系統(tǒng)展現(xiàn)給用戶(hù)的行為和執(zhí)行的操作等,它包括產(chǎn)品必須遵從的標(biāo)準(zhǔn)、規(guī)范和約束,操作界面的具體細(xì)節(jié)和構(gòu)造上的限制。
需求分析報(bào)告——報(bào)告所說(shuō)明的功能需求充分描述了軟件系統(tǒng)所應(yīng)具有的外部行為。“需求分析報(bào)告”在開(kāi)發(fā)、測(cè)試、質(zhì)量保證、項(xiàng)目管理以及相關(guān)項(xiàng)目功能中起著重要作用。
以上我們?yōu)榇蠹医榻B了什么是需求分析?需求分析方法是什么?如果您想了解更全面的信息內(nèi)容,請(qǐng)您及時(shí)關(guān)注中培偉業(yè)。