国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

使用用例建模進(jìn)行軟件需求分析研究

2014-11-07 19:00:39靳佩瑤
電腦知識(shí)與技術(shù) 2014年29期
關(guān)鍵詞:需求分析用例建模

靳佩瑤

摘要:需求分析和用例建模是軟件需求工程研究的熱點(diǎn),通過討論二者的作用及相互關(guān)系,得到如何使用用例分析技術(shù)為捕獲的軟件需求建立簡(jiǎn)潔明了的邏輯模型的一般方法。首先介紹用例、軟件需求、需求建模等基本概念,然后探討軟件用例建模的一般過程,最后結(jié)合實(shí)例給出了使用用例進(jìn)行需求建模的實(shí)現(xiàn)方法及采用用例建模的優(yōu)勢(shì)所在。

關(guān)鍵詞:用例;需求分析;建模

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)29-6860-03

需求分析是指對(duì)要解決的問題進(jìn)行詳細(xì)的分析,弄清問題的要求。包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)該輸出什么。可以說,在軟件工程當(dāng)中的需求分析就是確定要軟件實(shí)現(xiàn)的功能。假如在需求分析時(shí)分析者們未能正確地認(rèn)識(shí)到顧客的需要的話,那么最后的軟件不可能達(dá)到顧客的需要或者軟件無法在規(guī)定的時(shí)間內(nèi)完工。

用例建模是一想日益流行的基于面向?qū)ο笏枷氲男枨蠓治黾夹g(shù),它用過用例的參與者和用例一級(jí)用力之間的關(guān)系來描繪系統(tǒng)外在可見的需求,使用戶和開發(fā)者共同剖析系統(tǒng)功能需求的起點(diǎn)。長(zhǎng)期的實(shí)踐證明,建立簡(jiǎn)介準(zhǔn)確的表示模型是解決問題的關(guān)鍵。標(biāo)準(zhǔn)建模語言UML提供了無淚模型圖,其中用例圖特別適合與需求分析領(lǐng)域。

1 重要概念

1) 用例模型(use case model):用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員之間的契約。用例是貫穿整個(gè)系統(tǒng)開發(fā)的一條主線。同一個(gè)用例模型即為需求工作流程的結(jié)果,可當(dāng)作分析設(shè)計(jì)工作流程以及測(cè)試工作流程的輸入使用。

2) 用例(use case):用例就是對(duì)系統(tǒng)功能的描述,一個(gè)用例描述的是整個(gè)系統(tǒng)功能的一部分,這一部分一定要是在邏輯上有相對(duì)完整的功能流程。在使用UML的開發(fā)過程中,需求是用用例來表達(dá)的,界面是在用例的輔助下設(shè)計(jì)的,很多類是根據(jù)用例來發(fā)現(xiàn)的,測(cè)試實(shí)例是根據(jù)用例來生成的,包括整個(gè)開發(fā)的管理和任務(wù)分配,也是依據(jù)用例來組織的。

3) 參與者(Actor):參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。在處理參與者時(shí),重要的是角色,并不關(guān)心人或人的職務(wù)等屬性,其圖形化表示是一個(gè)人。

4) 用例關(guān)系:用例關(guān)系用來表示用例間的關(guān)系。主要包括擴(kuò)展(extend)、包含(include)和泛化(generalization)。為了表述用例之間的關(guān)系,使得系統(tǒng)設(shè)計(jì)有一個(gè)很好的框架,我們引入上述三種關(guān)系來表達(dá)系統(tǒng)的完整功能。

Extend 擴(kuò)展:

基用例路徑本身是完整的,可能是一條擴(kuò)展路徑。擴(kuò)展路徑步驟多;擴(kuò)展路徑內(nèi)部還有擴(kuò)展點(diǎn)-擴(kuò)展之?dāng)U展;擴(kuò)展路徑未定或容易變化-分離以“凍結(jié)”基用例。

Include 包含:某些步驟在多個(gè)用例重復(fù)出現(xiàn),且單獨(dú)形成價(jià)值,當(dāng)用例步驟較多時(shí),可用Include簡(jiǎn)化。

Generalization 泛化:泛化是同一業(yè)務(wù)目的不同技術(shù)實(shí)現(xiàn),一個(gè)用例可以特化另一個(gè)更普通用例(更普通用例泛化特殊用例)。UML 1.5: 用例間的泛化關(guān)系中,子用例表示父用例的特殊形式,子用例繼承了父用例的行為和屬性,也可以增加新的行為和屬性或覆蓋父用例中的行為。

2 需求分析階段的工作

2.1 需求獲取

1) 刻畫出軟件的功能和性能;2) 指明軟件與其他系統(tǒng)元素的接口;3) 建立軟件必須滿足的約束。

2.2 需求建模

需求分析建立起來的模型為日后軟件設(shè)計(jì)人員提供了可被翻譯成數(shù)據(jù)、體系結(jié)構(gòu)、接口和過程設(shè)計(jì)的模型。

2.3 需求規(guī)格說明

需求規(guī)格說明為開發(fā)人員和用戶提供軟件開發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。

2.4 需求評(píng)審

1) 需求分析研究的對(duì)象是用戶的要求。2) 必須全面理解用戶的各項(xiàng)要求,準(zhǔn)確表達(dá)被接受的用戶要求。3) 只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。

3 用例建模實(shí)例分析

3.2 用例建模

與系統(tǒng)核心功能相關(guān)的主要有兩種用戶:招生人員與信息錄入員。招生人員負(fù)責(zé)協(xié)調(diào)整個(gè)招生工作,可以參與到招生工作的各階段中;而信息錄入員則主要負(fù)責(zé)考生信息與考生成績(jī)錄入工作。在用例建模中這兩種用戶被定義為行為者。

下面主要細(xì)化已提出的兩個(gè)用例:考生錄取處理與專業(yè)考試處理。

1) 專業(yè)考試處理功能可分為:專業(yè)考試基礎(chǔ)信息維護(hù)、考生基本信息處理 、考生專業(yè)成績(jī)處理、專業(yè)考試合格證處理、招生計(jì)劃信息處理。

2) 考生錄取處理功能可分為:各省文化考試基礎(chǔ)信息維護(hù)、考生文化成績(jī)處理、考生志愿信息處理、預(yù)錄取處理、最終錄取處理。

用例建模的過程,除了圖之外,還必須給出必要的解釋。否則,建模是不完整的。圖2,“專業(yè)考試處理”用例包含(include)了“專業(yè)考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。其中信息錄入員因?yàn)闄?quán)限的關(guān)系,僅參與“考生基本信息處理”和“考生專業(yè)成績(jī)處理”兩個(gè)用例,而且在這兩個(gè)子用例中間也只有錄入信息和核對(duì)信息的功能,不能做信息的修改。而招生人員具備所有用例中的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也有一定的關(guān)聯(lián),首先,“考生基本信息處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”子用例,這是因?yàn)椋翱忌拘畔⑻幚怼敝虚g的部分內(nèi)容(如考生的考試課目),是由該考生的報(bào)考的專業(yè)決定的,而專業(yè)的情況,是“專業(yè)考試基礎(chǔ)信息維護(hù)”的功能。類似的,“考生專業(yè)成績(jī)處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”和“考生基本信息處理”子用例,這是因?yàn)椋M(jìn)行考生專業(yè)成績(jī)的錄入,維護(hù)等工作,必須在考生的基本信息和考生所報(bào)考專業(yè)的考試信息都完整的情況下進(jìn)行?!皩I(yè)考試合格證處理”子用例依賴于“招生計(jì)劃信息處理”和“考生專業(yè)成績(jī)處理”子用例,這是因?yàn)榘l(fā)放專業(yè)考試合格證的前提是考生專業(yè)成績(jī)和招生計(jì)劃都處理完畢。

圖3,“考生錄取處理”包含(include)了“各省文化考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。信息錄入員參與了“考生文化成績(jī)處理”和“考生志愿信息處理”2個(gè)子用例,并且僅有錄入信息和核對(duì)信息的權(quán)限,不具有修改和維護(hù)的權(quán)限。招生人員具備所有用例的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也具備一定依賴關(guān)系。“考生文化成績(jī)處理”子用例依賴于“各省文化考試基礎(chǔ)信息維護(hù)”子用例,因?yàn)橐浫氩⒕S護(hù)考生的文化成績(jī),前提是該考生所在省份所考類別的文化課課目的信息是完整準(zhǔn)確的。“預(yù)錄取處理”子用例依賴于“考生志愿信息處理”和“考生文化成績(jī)處理”兩個(gè)子用例,因?yàn)榭忌驹?、文化成?jī)、專業(yè)成績(jī)、招生計(jì)劃(后兩者需要依賴“專業(yè)課考試處理”用例,圖3.3無法表示,可從圖3.1中看到)決定了預(yù)錄取的結(jié)果?!白罱K錄取處理”是一個(gè)審批和微調(diào)的過程,需要依賴于“預(yù)錄取處理”的結(jié)果。

4 用例建模的優(yōu)點(diǎn)

1) 用例建模完全是從外部站在用戶的角度上來描述系統(tǒng)功能的,把用戶需求和設(shè)計(jì)完全分離開來。用例模型主要描述系統(tǒng)的功能性需求。系統(tǒng)的設(shè)計(jì)由對(duì)象模型來描述。2) 用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個(gè)用例描述的是一個(gè)完整的系統(tǒng)服務(wù)而不是分離的功能。3) 用例方法比傳統(tǒng)的方法更易于被用戶理解,用例方法是用戶和開發(fā)人員有效地溝通手段。

5 結(jié)束語

用例建模向人們展示用戶如何使用系統(tǒng)以及系統(tǒng)的工作流程。通過用例建模來觀察系統(tǒng),有助于了解系統(tǒng)中最重要的部分,避免不必要的細(xì)節(jié),來滿足用戶的需求和期望。用例建模技術(shù)以面向?qū)ο笏枷霝橹笇?dǎo),注重參與者和用例一級(jí)用力之間的關(guān)系,對(duì)用戶需求有著極強(qiáng)的表述能力??傊?,用例分析技術(shù)很好的解決了傳統(tǒng)面向過程需求分析技術(shù)對(duì)用戶需求描述不清、難以處理需求變化的問題。正確使用用例建模這項(xiàng)技術(shù),會(huì)對(duì)軟件的設(shè)計(jì)、開發(fā)以及后期維護(hù)都帶來巨大的方便。

參考文獻(xiàn):

[1] 張龍祥.UML與系統(tǒng)分析與設(shè)計(jì)[M].北京:人民郵電出版社,2001.

[2] Martin F.UML精粹[M].徐家福,譯.2版.北京:清華大學(xué)出版社,2002.

[3] 吳際,金茂忠.UML面向?qū)ο蠓治鯷M].北京:北京航空航天大學(xué)出版社,2002.endprint

摘要:需求分析和用例建模是軟件需求工程研究的熱點(diǎn),通過討論二者的作用及相互關(guān)系,得到如何使用用例分析技術(shù)為捕獲的軟件需求建立簡(jiǎn)潔明了的邏輯模型的一般方法。首先介紹用例、軟件需求、需求建模等基本概念,然后探討軟件用例建模的一般過程,最后結(jié)合實(shí)例給出了使用用例進(jìn)行需求建模的實(shí)現(xiàn)方法及采用用例建模的優(yōu)勢(shì)所在。

關(guān)鍵詞:用例;需求分析;建模

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)29-6860-03

需求分析是指對(duì)要解決的問題進(jìn)行詳細(xì)的分析,弄清問題的要求。包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)該輸出什么??梢哉f,在軟件工程當(dāng)中的需求分析就是確定要軟件實(shí)現(xiàn)的功能。假如在需求分析時(shí)分析者們未能正確地認(rèn)識(shí)到顧客的需要的話,那么最后的軟件不可能達(dá)到顧客的需要或者軟件無法在規(guī)定的時(shí)間內(nèi)完工。

用例建模是一想日益流行的基于面向?qū)ο笏枷氲男枨蠓治黾夹g(shù),它用過用例的參與者和用例一級(jí)用力之間的關(guān)系來描繪系統(tǒng)外在可見的需求,使用戶和開發(fā)者共同剖析系統(tǒng)功能需求的起點(diǎn)。長(zhǎng)期的實(shí)踐證明,建立簡(jiǎn)介準(zhǔn)確的表示模型是解決問題的關(guān)鍵。標(biāo)準(zhǔn)建模語言UML提供了無淚模型圖,其中用例圖特別適合與需求分析領(lǐng)域。

1 重要概念

1) 用例模型(use case model):用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員之間的契約。用例是貫穿整個(gè)系統(tǒng)開發(fā)的一條主線。同一個(gè)用例模型即為需求工作流程的結(jié)果,可當(dāng)作分析設(shè)計(jì)工作流程以及測(cè)試工作流程的輸入使用。

2) 用例(use case):用例就是對(duì)系統(tǒng)功能的描述,一個(gè)用例描述的是整個(gè)系統(tǒng)功能的一部分,這一部分一定要是在邏輯上有相對(duì)完整的功能流程。在使用UML的開發(fā)過程中,需求是用用例來表達(dá)的,界面是在用例的輔助下設(shè)計(jì)的,很多類是根據(jù)用例來發(fā)現(xiàn)的,測(cè)試實(shí)例是根據(jù)用例來生成的,包括整個(gè)開發(fā)的管理和任務(wù)分配,也是依據(jù)用例來組織的。

3) 參與者(Actor):參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。在處理參與者時(shí),重要的是角色,并不關(guān)心人或人的職務(wù)等屬性,其圖形化表示是一個(gè)人。

4) 用例關(guān)系:用例關(guān)系用來表示用例間的關(guān)系。主要包括擴(kuò)展(extend)、包含(include)和泛化(generalization)。為了表述用例之間的關(guān)系,使得系統(tǒng)設(shè)計(jì)有一個(gè)很好的框架,我們引入上述三種關(guān)系來表達(dá)系統(tǒng)的完整功能。

Extend 擴(kuò)展:

基用例路徑本身是完整的,可能是一條擴(kuò)展路徑。擴(kuò)展路徑步驟多;擴(kuò)展路徑內(nèi)部還有擴(kuò)展點(diǎn)-擴(kuò)展之?dāng)U展;擴(kuò)展路徑未定或容易變化-分離以“凍結(jié)”基用例。

Include 包含:某些步驟在多個(gè)用例重復(fù)出現(xiàn),且單獨(dú)形成價(jià)值,當(dāng)用例步驟較多時(shí),可用Include簡(jiǎn)化。

Generalization 泛化:泛化是同一業(yè)務(wù)目的不同技術(shù)實(shí)現(xiàn),一個(gè)用例可以特化另一個(gè)更普通用例(更普通用例泛化特殊用例)。UML 1.5: 用例間的泛化關(guān)系中,子用例表示父用例的特殊形式,子用例繼承了父用例的行為和屬性,也可以增加新的行為和屬性或覆蓋父用例中的行為。

2 需求分析階段的工作

2.1 需求獲取

1) 刻畫出軟件的功能和性能;2) 指明軟件與其他系統(tǒng)元素的接口;3) 建立軟件必須滿足的約束。

2.2 需求建模

需求分析建立起來的模型為日后軟件設(shè)計(jì)人員提供了可被翻譯成數(shù)據(jù)、體系結(jié)構(gòu)、接口和過程設(shè)計(jì)的模型。

2.3 需求規(guī)格說明

需求規(guī)格說明為開發(fā)人員和用戶提供軟件開發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。

2.4 需求評(píng)審

1) 需求分析研究的對(duì)象是用戶的要求。2) 必須全面理解用戶的各項(xiàng)要求,準(zhǔn)確表達(dá)被接受的用戶要求。3) 只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。

3 用例建模實(shí)例分析

3.2 用例建模

與系統(tǒng)核心功能相關(guān)的主要有兩種用戶:招生人員與信息錄入員。招生人員負(fù)責(zé)協(xié)調(diào)整個(gè)招生工作,可以參與到招生工作的各階段中;而信息錄入員則主要負(fù)責(zé)考生信息與考生成績(jī)錄入工作。在用例建模中這兩種用戶被定義為行為者。

下面主要細(xì)化已提出的兩個(gè)用例:考生錄取處理與專業(yè)考試處理。

1) 專業(yè)考試處理功能可分為:專業(yè)考試基礎(chǔ)信息維護(hù)、考生基本信息處理 、考生專業(yè)成績(jī)處理、專業(yè)考試合格證處理、招生計(jì)劃信息處理。

2) 考生錄取處理功能可分為:各省文化考試基礎(chǔ)信息維護(hù)、考生文化成績(jī)處理、考生志愿信息處理、預(yù)錄取處理、最終錄取處理。

用例建模的過程,除了圖之外,還必須給出必要的解釋。否則,建模是不完整的。圖2,“專業(yè)考試處理”用例包含(include)了“專業(yè)考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。其中信息錄入員因?yàn)闄?quán)限的關(guān)系,僅參與“考生基本信息處理”和“考生專業(yè)成績(jī)處理”兩個(gè)用例,而且在這兩個(gè)子用例中間也只有錄入信息和核對(duì)信息的功能,不能做信息的修改。而招生人員具備所有用例中的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也有一定的關(guān)聯(lián),首先,“考生基本信息處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”子用例,這是因?yàn)?,“考生基本信息處理”中間的部分內(nèi)容(如考生的考試課目),是由該考生的報(bào)考的專業(yè)決定的,而專業(yè)的情況,是“專業(yè)考試基礎(chǔ)信息維護(hù)”的功能。類似的,“考生專業(yè)成績(jī)處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”和“考生基本信息處理”子用例,這是因?yàn)?,要進(jìn)行考生專業(yè)成績(jī)的錄入,維護(hù)等工作,必須在考生的基本信息和考生所報(bào)考專業(yè)的考試信息都完整的情況下進(jìn)行?!皩I(yè)考試合格證處理”子用例依賴于“招生計(jì)劃信息處理”和“考生專業(yè)成績(jī)處理”子用例,這是因?yàn)榘l(fā)放專業(yè)考試合格證的前提是考生專業(yè)成績(jī)和招生計(jì)劃都處理完畢。

圖3,“考生錄取處理”包含(include)了“各省文化考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。信息錄入員參與了“考生文化成績(jī)處理”和“考生志愿信息處理”2個(gè)子用例,并且僅有錄入信息和核對(duì)信息的權(quán)限,不具有修改和維護(hù)的權(quán)限。招生人員具備所有用例的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也具備一定依賴關(guān)系?!翱忌幕煽?jī)處理”子用例依賴于“各省文化考試基礎(chǔ)信息維護(hù)”子用例,因?yàn)橐浫氩⒕S護(hù)考生的文化成績(jī),前提是該考生所在省份所考類別的文化課課目的信息是完整準(zhǔn)確的?!邦A(yù)錄取處理”子用例依賴于“考生志愿信息處理”和“考生文化成績(jī)處理”兩個(gè)子用例,因?yàn)榭忌驹浮⑽幕煽?jī)、專業(yè)成績(jī)、招生計(jì)劃(后兩者需要依賴“專業(yè)課考試處理”用例,圖3.3無法表示,可從圖3.1中看到)決定了預(yù)錄取的結(jié)果?!白罱K錄取處理”是一個(gè)審批和微調(diào)的過程,需要依賴于“預(yù)錄取處理”的結(jié)果。

4 用例建模的優(yōu)點(diǎn)

1) 用例建模完全是從外部站在用戶的角度上來描述系統(tǒng)功能的,把用戶需求和設(shè)計(jì)完全分離開來。用例模型主要描述系統(tǒng)的功能性需求。系統(tǒng)的設(shè)計(jì)由對(duì)象模型來描述。2) 用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個(gè)用例描述的是一個(gè)完整的系統(tǒng)服務(wù)而不是分離的功能。3) 用例方法比傳統(tǒng)的方法更易于被用戶理解,用例方法是用戶和開發(fā)人員有效地溝通手段。

5 結(jié)束語

用例建模向人們展示用戶如何使用系統(tǒng)以及系統(tǒng)的工作流程。通過用例建模來觀察系統(tǒng),有助于了解系統(tǒng)中最重要的部分,避免不必要的細(xì)節(jié),來滿足用戶的需求和期望。用例建模技術(shù)以面向?qū)ο笏枷霝橹笇?dǎo),注重參與者和用例一級(jí)用力之間的關(guān)系,對(duì)用戶需求有著極強(qiáng)的表述能力??傊?,用例分析技術(shù)很好的解決了傳統(tǒng)面向過程需求分析技術(shù)對(duì)用戶需求描述不清、難以處理需求變化的問題。正確使用用例建模這項(xiàng)技術(shù),會(huì)對(duì)軟件的設(shè)計(jì)、開發(fā)以及后期維護(hù)都帶來巨大的方便。

參考文獻(xiàn):

[1] 張龍祥.UML與系統(tǒng)分析與設(shè)計(jì)[M].北京:人民郵電出版社,2001.

[2] Martin F.UML精粹[M].徐家福,譯.2版.北京:清華大學(xué)出版社,2002.

[3] 吳際,金茂忠.UML面向?qū)ο蠓治鯷M].北京:北京航空航天大學(xué)出版社,2002.endprint

摘要:需求分析和用例建模是軟件需求工程研究的熱點(diǎn),通過討論二者的作用及相互關(guān)系,得到如何使用用例分析技術(shù)為捕獲的軟件需求建立簡(jiǎn)潔明了的邏輯模型的一般方法。首先介紹用例、軟件需求、需求建模等基本概念,然后探討軟件用例建模的一般過程,最后結(jié)合實(shí)例給出了使用用例進(jìn)行需求建模的實(shí)現(xiàn)方法及采用用例建模的優(yōu)勢(shì)所在。

關(guān)鍵詞:用例;需求分析;建模

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)29-6860-03

需求分析是指對(duì)要解決的問題進(jìn)行詳細(xì)的分析,弄清問題的要求。包括需要輸入什么數(shù)據(jù),要得到什么結(jié)果,最后應(yīng)該輸出什么。可以說,在軟件工程當(dāng)中的需求分析就是確定要軟件實(shí)現(xiàn)的功能。假如在需求分析時(shí)分析者們未能正確地認(rèn)識(shí)到顧客的需要的話,那么最后的軟件不可能達(dá)到顧客的需要或者軟件無法在規(guī)定的時(shí)間內(nèi)完工。

用例建模是一想日益流行的基于面向?qū)ο笏枷氲男枨蠓治黾夹g(shù),它用過用例的參與者和用例一級(jí)用力之間的關(guān)系來描繪系統(tǒng)外在可見的需求,使用戶和開發(fā)者共同剖析系統(tǒng)功能需求的起點(diǎn)。長(zhǎng)期的實(shí)踐證明,建立簡(jiǎn)介準(zhǔn)確的表示模型是解決問題的關(guān)鍵。標(biāo)準(zhǔn)建模語言UML提供了無淚模型圖,其中用例圖特別適合與需求分析領(lǐng)域。

1 重要概念

1) 用例模型(use case model):用例模型是系統(tǒng)既定功能及系統(tǒng)環(huán)境的模型,它可以作為客戶和開發(fā)人員之間的契約。用例是貫穿整個(gè)系統(tǒng)開發(fā)的一條主線。同一個(gè)用例模型即為需求工作流程的結(jié)果,可當(dāng)作分析設(shè)計(jì)工作流程以及測(cè)試工作流程的輸入使用。

2) 用例(use case):用例就是對(duì)系統(tǒng)功能的描述,一個(gè)用例描述的是整個(gè)系統(tǒng)功能的一部分,這一部分一定要是在邏輯上有相對(duì)完整的功能流程。在使用UML的開發(fā)過程中,需求是用用例來表達(dá)的,界面是在用例的輔助下設(shè)計(jì)的,很多類是根據(jù)用例來發(fā)現(xiàn)的,測(cè)試實(shí)例是根據(jù)用例來生成的,包括整個(gè)開發(fā)的管理和任務(wù)分配,也是依據(jù)用例來組織的。

3) 參與者(Actor):參與者不是特指人,是指系統(tǒng)以外的,在使用系統(tǒng)或與系統(tǒng)交互中所扮演的角色。因此參與者可以是人,可以是事物,也可以是時(shí)間或其他系統(tǒng)等等。在處理參與者時(shí),重要的是角色,并不關(guān)心人或人的職務(wù)等屬性,其圖形化表示是一個(gè)人。

4) 用例關(guān)系:用例關(guān)系用來表示用例間的關(guān)系。主要包括擴(kuò)展(extend)、包含(include)和泛化(generalization)。為了表述用例之間的關(guān)系,使得系統(tǒng)設(shè)計(jì)有一個(gè)很好的框架,我們引入上述三種關(guān)系來表達(dá)系統(tǒng)的完整功能。

Extend 擴(kuò)展:

基用例路徑本身是完整的,可能是一條擴(kuò)展路徑。擴(kuò)展路徑步驟多;擴(kuò)展路徑內(nèi)部還有擴(kuò)展點(diǎn)-擴(kuò)展之?dāng)U展;擴(kuò)展路徑未定或容易變化-分離以“凍結(jié)”基用例。

Include 包含:某些步驟在多個(gè)用例重復(fù)出現(xiàn),且單獨(dú)形成價(jià)值,當(dāng)用例步驟較多時(shí),可用Include簡(jiǎn)化。

Generalization 泛化:泛化是同一業(yè)務(wù)目的不同技術(shù)實(shí)現(xiàn),一個(gè)用例可以特化另一個(gè)更普通用例(更普通用例泛化特殊用例)。UML 1.5: 用例間的泛化關(guān)系中,子用例表示父用例的特殊形式,子用例繼承了父用例的行為和屬性,也可以增加新的行為和屬性或覆蓋父用例中的行為。

2 需求分析階段的工作

2.1 需求獲取

1) 刻畫出軟件的功能和性能;2) 指明軟件與其他系統(tǒng)元素的接口;3) 建立軟件必須滿足的約束。

2.2 需求建模

需求分析建立起來的模型為日后軟件設(shè)計(jì)人員提供了可被翻譯成數(shù)據(jù)、體系結(jié)構(gòu)、接口和過程設(shè)計(jì)的模型。

2.3 需求規(guī)格說明

需求規(guī)格說明為開發(fā)人員和用戶提供軟件開發(fā)完成時(shí)質(zhì)量評(píng)價(jià)的依據(jù)。

2.4 需求評(píng)審

1) 需求分析研究的對(duì)象是用戶的要求。2) 必須全面理解用戶的各項(xiàng)要求,準(zhǔn)確表達(dá)被接受的用戶要求。3) 只有經(jīng)過確切描述的軟件需求才能成為軟件設(shè)計(jì)的基礎(chǔ)。

3 用例建模實(shí)例分析

3.2 用例建模

與系統(tǒng)核心功能相關(guān)的主要有兩種用戶:招生人員與信息錄入員。招生人員負(fù)責(zé)協(xié)調(diào)整個(gè)招生工作,可以參與到招生工作的各階段中;而信息錄入員則主要負(fù)責(zé)考生信息與考生成績(jī)錄入工作。在用例建模中這兩種用戶被定義為行為者。

下面主要細(xì)化已提出的兩個(gè)用例:考生錄取處理與專業(yè)考試處理。

1) 專業(yè)考試處理功能可分為:專業(yè)考試基礎(chǔ)信息維護(hù)、考生基本信息處理 、考生專業(yè)成績(jī)處理、專業(yè)考試合格證處理、招生計(jì)劃信息處理。

2) 考生錄取處理功能可分為:各省文化考試基礎(chǔ)信息維護(hù)、考生文化成績(jī)處理、考生志愿信息處理、預(yù)錄取處理、最終錄取處理。

用例建模的過程,除了圖之外,還必須給出必要的解釋。否則,建模是不完整的。圖2,“專業(yè)考試處理”用例包含(include)了“專業(yè)考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。其中信息錄入員因?yàn)闄?quán)限的關(guān)系,僅參與“考生基本信息處理”和“考生專業(yè)成績(jī)處理”兩個(gè)用例,而且在這兩個(gè)子用例中間也只有錄入信息和核對(duì)信息的功能,不能做信息的修改。而招生人員具備所有用例中的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也有一定的關(guān)聯(lián),首先,“考生基本信息處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”子用例,這是因?yàn)?,“考生基本信息處理”中間的部分內(nèi)容(如考生的考試課目),是由該考生的報(bào)考的專業(yè)決定的,而專業(yè)的情況,是“專業(yè)考試基礎(chǔ)信息維護(hù)”的功能。類似的,“考生專業(yè)成績(jī)處理”子用例依賴于“專業(yè)考試基礎(chǔ)信息維護(hù)”和“考生基本信息處理”子用例,這是因?yàn)?,要進(jìn)行考生專業(yè)成績(jī)的錄入,維護(hù)等工作,必須在考生的基本信息和考生所報(bào)考專業(yè)的考試信息都完整的情況下進(jìn)行?!皩I(yè)考試合格證處理”子用例依賴于“招生計(jì)劃信息處理”和“考生專業(yè)成績(jī)處理”子用例,這是因?yàn)榘l(fā)放專業(yè)考試合格證的前提是考生專業(yè)成績(jī)和招生計(jì)劃都處理完畢。

圖3,“考生錄取處理”包含(include)了“各省文化考試基礎(chǔ)信息維護(hù)”等5個(gè)子用例。信息錄入員參與了“考生文化成績(jī)處理”和“考生志愿信息處理”2個(gè)子用例,并且僅有錄入信息和核對(duì)信息的權(quán)限,不具有修改和維護(hù)的權(quán)限。招生人員具備所有用例的處理功能(除錄入員的錄入功能外)。5個(gè)子用例之間也具備一定依賴關(guān)系?!翱忌幕煽?jī)處理”子用例依賴于“各省文化考試基礎(chǔ)信息維護(hù)”子用例,因?yàn)橐浫氩⒕S護(hù)考生的文化成績(jī),前提是該考生所在省份所考類別的文化課課目的信息是完整準(zhǔn)確的?!邦A(yù)錄取處理”子用例依賴于“考生志愿信息處理”和“考生文化成績(jī)處理”兩個(gè)子用例,因?yàn)榭忌驹?、文化成?jī)、專業(yè)成績(jī)、招生計(jì)劃(后兩者需要依賴“專業(yè)課考試處理”用例,圖3.3無法表示,可從圖3.1中看到)決定了預(yù)錄取的結(jié)果?!白罱K錄取處理”是一個(gè)審批和微調(diào)的過程,需要依賴于“預(yù)錄取處理”的結(jié)果。

4 用例建模的優(yōu)點(diǎn)

1) 用例建模完全是從外部站在用戶的角度上來描述系統(tǒng)功能的,把用戶需求和設(shè)計(jì)完全分離開來。用例模型主要描述系統(tǒng)的功能性需求。系統(tǒng)的設(shè)計(jì)由對(duì)象模型來描述。2) 用例定義了系統(tǒng)功能的使用環(huán)境與上下文,每一個(gè)用例描述的是一個(gè)完整的系統(tǒng)服務(wù)而不是分離的功能。3) 用例方法比傳統(tǒng)的方法更易于被用戶理解,用例方法是用戶和開發(fā)人員有效地溝通手段。

5 結(jié)束語

用例建模向人們展示用戶如何使用系統(tǒng)以及系統(tǒng)的工作流程。通過用例建模來觀察系統(tǒng),有助于了解系統(tǒng)中最重要的部分,避免不必要的細(xì)節(jié),來滿足用戶的需求和期望。用例建模技術(shù)以面向?qū)ο笏枷霝橹笇?dǎo),注重參與者和用例一級(jí)用力之間的關(guān)系,對(duì)用戶需求有著極強(qiáng)的表述能力??傊?,用例分析技術(shù)很好的解決了傳統(tǒng)面向過程需求分析技術(shù)對(duì)用戶需求描述不清、難以處理需求變化的問題。正確使用用例建模這項(xiàng)技術(shù),會(huì)對(duì)軟件的設(shè)計(jì)、開發(fā)以及后期維護(hù)都帶來巨大的方便。

參考文獻(xiàn):

[1] 張龍祥.UML與系統(tǒng)分析與設(shè)計(jì)[M].北京:人民郵電出版社,2001.

[2] Martin F.UML精粹[M].徐家福,譯.2版.北京:清華大學(xué)出版社,2002.

[3] 吳際,金茂忠.UML面向?qū)ο蠓治鯷M].北京:北京航空航天大學(xué)出版社,2002.endprint

猜你喜歡
需求分析用例建模
UML用例模型中依賴關(guān)系的比較與分析
聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃?chǎng)中做圓周運(yùn)動(dòng)”為例
聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
從出土文獻(xiàn)用例看王氏父子校讀古書的得失
基于PSS/E的風(fēng)電場(chǎng)建模與動(dòng)態(tài)分析
電子制作(2018年17期)2018-09-28 01:56:44
不對(duì)稱半橋變換器的建模與仿真
大學(xué)師生需求發(fā)展分析
基于UML技術(shù)的高校貧困生管理系統(tǒng)建模分析
指揮信息系統(tǒng)模擬訓(xùn)練評(píng)估需求分析
應(yīng)用型本科大學(xué)英語后續(xù)課程建設(shè)之必要性探討
竹北市| 大英县| 广昌县| 东方市| 勃利县| 汉川市| 武平县| 宁波市| 沐川县| 虹口区| 图木舒克市| 景宁| 高阳县| 新邵县| 内丘县| 土默特左旗| 秦安县| 怀宁县| 蕲春县| 新蔡县| 孟州市| 扶沟县| 昌邑市| 衢州市| 株洲市| 六盘水市| 大荔县| 丰顺县| 五常市| 乡宁县| 临洮县| 屏南县| 微博| 西峡县| 互助| 淄博市| 革吉县| 虞城县| 东乡族自治县| 宜黄县| 晋江市|