(承德電信局豐寧支局,河北 承德 068350)
需求分析階段建立的模型主要有場(chǎng)景模型和概念模型。場(chǎng)景模型對(duì)初始需要和系統(tǒng)特性進(jìn)行分析,需要考慮業(yè)界友商實(shí)現(xiàn)情況、規(guī)格、系統(tǒng)界面友好程度、產(chǎn)品的競(jìng)爭(zhēng)力等內(nèi)容。場(chǎng)景模型可以使用組網(wǎng)圖、用例圖、順序圖來(lái)表達(dá),一般先使用組網(wǎng)圖對(duì)主要的使用場(chǎng)景進(jìn)行建模。如場(chǎng)景復(fù)雜,則用例圖和順序圖對(duì)子場(chǎng)景進(jìn)行展開(kāi)分析。場(chǎng)景分析時(shí)需使用概念模型統(tǒng)一術(shù)語(yǔ)。
需求分析是對(duì)輸入的初始需求(IR)、系統(tǒng)特性(SF)進(jìn)行詳細(xì)分析的過(guò)程,需弄清楚問(wèn)題和要求,輸入是什么輸出是什么。需考察業(yè)界友商實(shí)現(xiàn)情況,考慮產(chǎn)品競(jìng)爭(zhēng)力。通過(guò)嚴(yán)謹(jǐn)?shù)男枨蠓治鐾茖?dǎo)過(guò)程,整理輸出需求分析文檔,得到系統(tǒng)需求清單。需求分析建模的入口是進(jìn)行場(chǎng)景建模。場(chǎng)景模型可使用組例圖或順序圖進(jìn)行表達(dá)。
通過(guò)組網(wǎng)圖對(duì)業(yè)務(wù)進(jìn)行概要分析是理解初始需求的重要手段??蓮目蛻?hù)/研發(fā)/維護(hù)/用戶(hù)等多個(gè)角度對(duì)初始需求做概要設(shè)計(jì)分析,劃分場(chǎng)景,明確對(duì)初始需求和系統(tǒng)特性描述的理解。使用組網(wǎng)圖劃分場(chǎng)景和概要分析之后,可使用例圖和順序圖對(duì)子場(chǎng)景建模,做進(jìn)一步分析。
通過(guò)用例圖收集系統(tǒng)需求,需要從系統(tǒng)外部觀察系統(tǒng)。從系統(tǒng)使用者的角度提取系統(tǒng)功能和對(duì)系統(tǒng)的要求。對(duì)于系統(tǒng)需求明確的場(chǎng)景,可跳過(guò)用例圖、直接使用順序圖做詳細(xì)分析。使用用例圖分析場(chǎng)景只能得到整體功能的描述,但不清楚交互的細(xì)節(jié)。如果想詳細(xì)分析描述交互細(xì)節(jié),可以使用順序圖建立順序模型,進(jìn)一步分析外部角色與系統(tǒng)的交互過(guò)程,收集外界對(duì)系統(tǒng)的需求。在有些復(fù)雜的交互協(xié)議中,系統(tǒng)與外部角色交互過(guò)程多,通訊接口復(fù)雜,建議使用順序圖進(jìn)行詳細(xì)分析。
場(chǎng)景模型描述系統(tǒng)需求發(fā)生的場(chǎng)景,用于產(chǎn)品業(yè)務(wù)場(chǎng)景分析。通過(guò)組網(wǎng)圖、用例圖和順序圖進(jìn)行分析。如果場(chǎng)景比較復(fù)雜,可以把場(chǎng)景進(jìn)一步細(xì)分成子場(chǎng)景或者子子場(chǎng)景。是否需要拆分子場(chǎng)景進(jìn)行分析,取決于問(wèn)題的復(fù)雜程度。
(一)組網(wǎng)圖。在需求分析的最初階段,需要明確系統(tǒng)有哪些應(yīng)用場(chǎng)景,確認(rèn)如下問(wèn)題:
系統(tǒng)有哪些應(yīng)用場(chǎng)景?提供哪些網(wǎng)絡(luò)功能?系統(tǒng)所處的網(wǎng)絡(luò)層次如何?在網(wǎng)絡(luò)中處于什么位置?系統(tǒng)的應(yīng)用環(huán)境、周邊設(shè)備都是怎樣?上、下行設(shè)備、同級(jí)設(shè)備有哪些?系統(tǒng)主要提供何種業(yè)務(wù)?其業(yè)務(wù)模型如何?與哪些服務(wù)器發(fā)生業(yè)務(wù)處理?系統(tǒng)的業(yè)務(wù)流量模型如何?網(wǎng)絡(luò)狀況、性能、安全性如何?需要從功能性能、安全性等幾方面考慮:系統(tǒng)的應(yīng)用用戶(hù)類(lèi)型都有哪些?是否存在用戶(hù)管理問(wèn)題?
為了回答上述問(wèn)題,可以使用組網(wǎng)圖來(lái)分析。畫(huà)組網(wǎng)圖時(shí),確定設(shè)備或者性的組網(wǎng)環(huán)境、應(yīng)用、業(yè)務(wù)模型,畫(huà)出組網(wǎng)拓?fù)鋱D。
(二)用例圖。對(duì)于場(chǎng)景模型,僅僅知道整體的組網(wǎng)和特性使用方式還不夠,需進(jìn)一步明確待分析的系統(tǒng)要實(shí)現(xiàn)哪些具體功能?從而整理輸出一個(gè)需求列表。
一種收集系統(tǒng)需求的方式是使用用例圖分析,從系統(tǒng)外部參與者的視角,收集從系統(tǒng)外部觀察到的系統(tǒng)表現(xiàn)方式收集系統(tǒng)需求。即,從系統(tǒng)邊界和不同參與者對(duì)系統(tǒng)使用的角度出發(fā),分析系統(tǒng)的操作或運(yùn)行場(chǎng)景,提取系統(tǒng)需求。注意,不要以時(shí)間維度將一個(gè)完整的業(yè)務(wù)切分成很多“場(chǎng)景”輸出用例圖時(shí),要識(shí)別參與者、用例和系統(tǒng)邊界。
(三)順序圖。用例圖只是表達(dá)了系統(tǒng)從外部參與者觀察、要實(shí)現(xiàn)的需求,但是沒(méi)有需求的具體描述,只有一段簡(jiǎn)短文字,一般不夠具體,架構(gòu)師、系統(tǒng)設(shè)計(jì)師和相關(guān)設(shè)計(jì)人員只有一個(gè)大概的方向,但是不了解具體要求??赡艽嬖谛枨蠓秶蜆I(yè)務(wù)功能的理解歧義。所以作為一份嚴(yán)謹(jǐn)?shù)男枨竺枋觯瑧?yīng)該對(duì)用例圖展開(kāi)進(jìn)行明確闡述。明確描述用例的建模方法,一般是使用順序圖。
有兩種情況可能會(huì)在需求階段輸出順序圖。一種是用順序圖展開(kāi)分析用例的詳細(xì)過(guò)程;另一種是場(chǎng)景非常明確,并且場(chǎng)景個(gè)數(shù)不多的情況。對(duì)于第二種情況,輸出用例圖的必要性不大,可直接用順序圖分析。
描述系統(tǒng)用例的順序圖,包含兩部分:生命線和交互過(guò)程。順序圖將交互關(guān)系表示為一個(gè)二維圖。縱向是時(shí)間軸,時(shí)間沿豎線向下延伸。橫向軸代表了在協(xié)作中各個(gè)參與者。參與者用生命線表示。當(dāng)參與者存在時(shí),角色用一條虛線表示,當(dāng)對(duì)象的過(guò)程處于活動(dòng)狀態(tài)時(shí),生命線是一段實(shí)線段。
在需求分析過(guò)程中,會(huì)遇到問(wèn)題領(lǐng)域中的一些名詞、術(shù)語(yǔ),利益相關(guān)人經(jīng)常因?yàn)楦魅藢?duì)這些名詞、術(shù)語(yǔ)的理解不一致,導(dǎo)致無(wú)謂的溝通障礙。需求分析之后,往往因?yàn)榛靵y不堪的術(shù)語(yǔ),導(dǎo)致架構(gòu)設(shè)計(jì)、代碼實(shí)現(xiàn)與前期需求討論不一致,從而最終開(kāi)發(fā)的產(chǎn)品易用性不好或功能實(shí)現(xiàn)不正確。為解決上述溝通和設(shè)計(jì)問(wèn)題,使用概念模型。人們對(duì)現(xiàn)實(shí)世界中的一些領(lǐng)域中的現(xiàn)象和事物進(jìn)行實(shí)踐、總結(jié),得到一些深刻認(rèn)識(shí),即領(lǐng)域知識(shí)。對(duì)領(lǐng)域知識(shí)建模,得到概念模型。概念模型包含概念和概念之間的關(guān)系,在認(rèn)識(shí)問(wèn)題、設(shè)計(jì)架構(gòu)時(shí)有重要的參考作用,是問(wèn)題領(lǐng)域到解域的橋梁。概念模型一般使用類(lèi)圖來(lái)表達(dá)。用類(lèi)圖表達(dá)概念;用類(lèi)之間的關(guān)系表達(dá)概念之間的關(guān)系。通過(guò)用類(lèi)圖描述人們對(duì)于領(lǐng)域知識(shí)的理解,可以統(tǒng)一理解、將功能概念經(jīng)需求分析向架構(gòu)設(shè)計(jì)轉(zhuǎn)化。