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