用例圖和順序圖構(gòu)造操作剖面方法的有效軟件工程論文_第1頁
用例圖和順序圖構(gòu)造操作剖面方法的有效軟件工程論文_第2頁
用例圖和順序圖構(gòu)造操作剖面方法的有效軟件工程論文_第3頁
用例圖和順序圖構(gòu)造操作剖面方法的有效軟件工程論文_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、用例圖和順序圖構(gòu)造操作剖面方法的有效軟件工程論文摘 要:探討了由面向?qū)ο笥美P蜆?gòu)造操作剖面的可行性,結(jié)合一個實例,詳細(xì)介紹基于統(tǒng)一建模語言UML(Unified Modeling Language)的用例圖和順序圖構(gòu)造操作剖面的具體方法,代寫碩士并對基于UML用例圖和順序圖構(gòu)造操作剖面方法的有效性進(jìn)行了分析.結(jié)果表明,將操作剖面構(gòu)造與軟件系統(tǒng)建模相結(jié)合,可大大簡化構(gòu)造過程,降低開發(fā)費用.關(guān)鍵詞: 軟件;軟件工程;可靠性工程;操作剖面;用例模型;統(tǒng)一建模語言;用例圖;順序圖操作剖面是描述用戶如何使用軟件的一種技術(shù).因此通過構(gòu)造軟件系統(tǒng)的操作剖面,可以有效的指導(dǎo)軟件可靠性測試工作,獲得理想的測試

2、結(jié)果,大大提高軟件系統(tǒng)的可靠性.一方面,軟件運行條件和用戶的使用情況可以用剖面概念進(jìn)行描述;另一方面,建立完整的系統(tǒng)表示模型,可以使人們從全局上把握軟件系統(tǒng)的全貌.因此,如何準(zhǔn)確高效的構(gòu)造出切合實際的軟件系統(tǒng)操作剖面已成為軟件可靠性測試工作的一個關(guān)鍵環(huán)節(jié).操作剖面的基于非面向?qū)ο蠹夹g(shù)的構(gòu)造已經(jīng)有了較為系統(tǒng)化的、成熟的理論和方法1,而基于面向?qū)ο蠹夹g(shù),尤其是基于統(tǒng)一建模語言UML(Unified Modeling Language)的系統(tǒng)操作剖面構(gòu)造的系統(tǒng)化和成熟的理論、技術(shù)、方法以及相關(guān)工具目前尚未見到.隨著面向?qū)ο蠹夹g(shù)應(yīng)用的日益廣泛,如何將面向?qū)ο蠹夹g(shù)用于軟件系統(tǒng)操作剖面的構(gòu)造已逐漸成為人們

3、關(guān)注的焦點24.本文探討在成熟的面向?qū)ο蠼y(tǒng)一建模語言UML基礎(chǔ)上進(jìn)行軟件系統(tǒng)操作剖面的構(gòu)造,并對其有效性進(jìn)行了分析.1基本概念及操作剖面?zhèn)鹘y(tǒng)構(gòu)造方法1.1 基本概念統(tǒng)一建模語言UML是面向?qū)ο蠹夹g(shù)發(fā)展的重大里程碑.它不僅支持面向?qū)ο蟮姆治雠c設(shè)計,還支持從需求分析開始的軟件開發(fā)的全過程.UML用例視圖,作為描述系統(tǒng)功能需求的手段和方法,用于輔助需求分析,描述項目的功能性需求.用例模型中,每個用例的執(zhí)行獨立于其他用例,在功能上具有完整性.用例是一個類,它完整地描述系統(tǒng)功能,包括用例執(zhí)行過程中可能產(chǎn)生的諸多變化情況,錯誤情況和異常情況等.用例實例化的結(jié)果通常稱為場景(Scenario),場景描述系統(tǒng)

4、執(zhí)行的一個特定情況.但用例視圖是靜態(tài)的,用例的動態(tài)執(zhí)行過程不能表述,需要用UML的交互模型和活動模型進(jìn)行描述.而順序圖模型可以用來進(jìn)行一個場景說明即一個事務(wù)的歷史過程6,即完成用例動態(tài)執(zhí)行的模擬.因此認(rèn)為,對于任何一個復(fù)雜的軟件系統(tǒng),上述2個視圖對系統(tǒng)功能性需求進(jìn)行建模已經(jīng)足夠.這為基于用例視圖和順序視圖構(gòu)造操作剖面提供了重要依據(jù).1.2 操作剖面?zhèn)鹘y(tǒng)構(gòu)造方法操作剖面的基于非面向?qū)ο蠹夹g(shù)的構(gòu)造理論和方法在文獻(xiàn)1,文獻(xiàn)7已經(jīng)有詳細(xì)的闡述.Musa詳細(xì)描述了操作剖面的特征,代寫碩士論文并給出了獲得操作剖面的方法.操作剖面是通過自頂向下不斷細(xì)化軟件輸入空間并確定概率的方法獲得的,如圖1所示.由于篇幅

5、所限,在此不作詳細(xì)解釋.但需要指出的是,在Musa的操作剖面構(gòu)造方法中,操作剖面是在軟件實現(xiàn)和軟件測試階段建立的,而其它剖面是在需求分析階段之前建立的.隨著面向?qū)ο蠹夹g(shù)等先進(jìn)軟件工程方法的日益成熟,一方面,面向?qū)ο蠛涂焖僭头ǖ刃屡d開發(fā)技術(shù)的應(yīng)用使得操作剖面的構(gòu)造時機有了提前的可能;另一方面,在面向?qū)ο箝_發(fā)模式下,客戶要求根據(jù)用例模型安排人員現(xiàn)場模擬系統(tǒng)運行時,系統(tǒng)操作剖面的構(gòu)造時機的提前便成了必要的需求.2基于UML的操作剖面構(gòu)造本節(jié)中使用PBX(Private Branch eXchange)電話交換系統(tǒng)進(jìn)行操作剖面構(gòu)造方法的介紹.該系統(tǒng)是由AT&T公司開發(fā)的國際Definity項目.AT

6、&T公司在此項工程的開發(fā)過程中使用了操作剖面和其他提高質(zhì)量方法,大大提高了系統(tǒng)的可靠性和軟件質(zhì)量.PBX系統(tǒng)是一個命令驅(qū)動系統(tǒng).圖2是系統(tǒng)示意圖,其中,PBX交換機由UNIX工作站進(jìn)行控制,同時與提供給用戶使用的數(shù)臺電話相連.該系統(tǒng)按運行模式分為單位使用、個人使用、服務(wù)人員使用、系統(tǒng)管理和系統(tǒng)維護(hù)5類.為簡化操作剖面的構(gòu)建過程,本文僅以系統(tǒng)管理模式為例進(jìn)行操作剖面的構(gòu)造。構(gòu)造操作剖面是一種逐步細(xì)化軟件運行條件和使用范圍的過程.本文將基于UML用例圖和順序圖操作剖面構(gòu)造的整個過程分為3個主要階段,即建立用例剖面、確定場景剖面和構(gòu)造操作剖面.21 構(gòu)造用例剖面UML用例圖捕獲系統(tǒng)用戶需求及其描述的

7、完整性給系統(tǒng)功能的細(xì)化提供了便利.下面首先給出用例剖面的定義,然后列出進(jìn)行用例剖面構(gòu)造的步驟.從軟件需求規(guī)格說明到用例剖面的構(gòu)造需要完成的步驟:細(xì)化系統(tǒng)功能,生成用例模型,即根據(jù)軟件需求規(guī)格說明建立UML用例視圖;識別對用例產(chǎn)生影響的主要環(huán)境變量,并估測其出現(xiàn)概率;分析用例和環(huán)境變量關(guān)系,并估計在環(huán)境變量影響下用例出現(xiàn)的概率.例如,在PBX交換系統(tǒng)中,系統(tǒng)管理工作方式主要包括移動電話或修改所提供服務(wù)、增加電話、代寫碩士論文摘除電話和更新電話簿4個功能,對這些功能產(chǎn)生主要影響的是電話類型,在此只考慮模擬電話和數(shù)字電話.根據(jù)上述步驟,在UML用例視圖的基礎(chǔ)上進(jìn)行擴充得到如圖4所示的PBX系統(tǒng)中系統(tǒng)

8、管理用例剖面視圖.在表示參與者與其參與執(zhí)行的用例之間的通信路徑的關(guān)聯(lián)上標(biāo)注用例發(fā)生概率,如在管理用戶和增加用例之間的關(guān)聯(lián)上標(biāo)注8%,表示此用例發(fā)生概率為8%;用注釋標(biāo)注對每個用例產(chǎn)生主要影響的環(huán)境變量及其發(fā)生概率,如對移動電話或修改所提供服務(wù)、增加電話、摘除電話用例都產(chǎn)生影響的環(huán)境變量用注釋標(biāo)注A(80%),B(20%),表示對上述3個用例有影響的主要環(huán)境為A,B,它們在各個用例下發(fā)生的概率均為80%與20%.22 構(gòu)造場景剖面場景,作為系統(tǒng)執(zhí)行特定情況的描述,是用例實例化的結(jié)果.根據(jù)UML用例圖定義可知,用例的定義包含用例所必需的所有行為,包括所有正常行為、異常情況及其預(yù)期反應(yīng)6.因此,場景

9、有必要對用例的所有情況進(jìn)行描述.下面給出了場景剖面的定義及其構(gòu)造方法.定義場景剖面:場景剖面是指軟件系統(tǒng)由用例定義的場景及其發(fā)生的概率組成的集合.同樣可以給出集合的定義方式,在此省略.需要指出的是,此處場景發(fā)生的概率是在用例事件發(fā)生前提下的概率,是條件概率.場景剖面的構(gòu)造在操作剖面的構(gòu)造過程中起到了承上啟下的作用,它完成了操作剖面構(gòu)造方法中的用順序圖對用例場景進(jìn)行描述;估計場景出現(xiàn)概率2個步驟.PBX系統(tǒng)中添加用戶用例根據(jù)添加用戶類型不同可以劃分為3個場景:添加一般人員用戶、添加秘書用戶和添加經(jīng)理用戶,按照PBX命令形式分別表示為: /master_degree.html add-s staf

10、f,add-s secre-tary和add-s manager.根據(jù)上述步驟,可以得到如圖5所示的PBX系統(tǒng)中增加電話用例的場景剖面視圖.在視圖中,用注釋描述用例的每一場景發(fā)生的概率,如在增加電話用例中添加一般人員用戶場景發(fā)生的概率為70%,它表明在增加電話用例事件發(fā)生的前提下添加一般用戶電話的場景發(fā)生的概率是70%.2.3 構(gòu)造操作剖面場景是用例實例化的描述,因此,場景剖面所描述的仍然是面向用戶的細(xì)化功能,而不是實際實現(xiàn)的操作,需要進(jìn)一步細(xì)化.同時,操作剖面的構(gòu)造有時還需要考慮系統(tǒng)的負(fù)載率5(本文不作介紹).下面給出由場景剖面構(gòu)造操作剖面的一般步驟:識別場景剖面中的所有操作可能,建立操作和

11、場景之間的聯(lián)系;識別操作輸入變量和輸入狀態(tài)的作用;根據(jù)用例剖面、場景剖面、環(huán)境變量情況等因素估算操作出現(xiàn)概率.上例中,每一場景用PBX系統(tǒng)的一條命令表示,不能再分,認(rèn)為每一場景均包含一個操作.在考慮操作輸入變量時,認(rèn)為地址(location)對操作性質(zhì)沒有影響,因此,在本文中不予考慮,當(dāng)然如果認(rèn)為某一地區(qū)發(fā)生此類操作較多的話,則另當(dāng)別論.最后,可以根據(jù)條件概率公式,估算得到任一操作發(fā)生的概率,如管理人員執(zhí)行add-s staff命令(針對模擬電話用戶)的操作概率為2%8%80%70%=0.000896。建立了操作剖面,就可以此為依據(jù)安排軟件可靠性測試工作的進(jìn)行,大大提高軟件可靠性.由于篇幅所限

12、,此例中提及的PBX系統(tǒng)操作剖面的Musa構(gòu)造過程在此不作詳細(xì)介紹.讀者如有興趣,可參見文獻(xiàn)5和文獻(xiàn)7.可以看出,基于UML用例圖和順序圖的操作剖面構(gòu)造方法將操作剖面的構(gòu)造過程融入了軟件系統(tǒng)建模過程中,大大減少了構(gòu)造步驟,避免了傳統(tǒng)構(gòu)造方法繁瑣的過程,降低了軟件開發(fā)的費用.3有效性分析首先,分析用例剖面的構(gòu)造.通過用例剖面的定義可以看出,一方面,用例剖面通過UML用例視圖定義的用例描述了系統(tǒng)的功能性需求,傳統(tǒng)構(gòu)造方法所強調(diào)的客戶、用戶和系統(tǒng)模型等信息已經(jīng)在建立用例模型時用UML用例視圖進(jìn)行了描述;另一方面,它又通過定義這些用例發(fā)生的概率確定了系統(tǒng)的定量使用情況,滿足剖面的完備性.從此意義上講,

13、用例剖面與傳統(tǒng)意義上的功能剖面是等價的.其次,從用例剖面到場景剖面的構(gòu)造,以及從場景剖面到操作剖面的構(gòu)造過程完成了操作剖面構(gòu)造傳統(tǒng)方法中的細(xì)化功能;識別出所有可能的運行;建立運行與功能之間的聯(lián)系;識別運行的輸入變量和輸入狀態(tài);)計算每個運行子類的出現(xiàn)概率等步驟,最終生成系統(tǒng)完整的操作剖面.可以看出,傳統(tǒng)構(gòu)造方法中所考慮到的問題在基于UML用例圖和順序圖的操作剖面構(gòu)造方法中均有所考慮,因此,認(rèn)為本文提出的操作剖面構(gòu)造方法是有效的.表2列出了2種方法中相關(guān)關(guān)鍵術(shù)語的對比.4結(jié)束語基于用例圖和順序圖的操作剖面的構(gòu)造,可大大簡化操作剖面的傳統(tǒng)構(gòu)造過程,避免由軟件系統(tǒng)需求規(guī)格說明到功能剖面的繁瑣構(gòu)造過程

14、.同時,由于用例圖和順序圖對系統(tǒng)功能性需求描述能力的完備性,也決定了這種操作剖面構(gòu)造的方法與傳統(tǒng)方法的等價性.參考文獻(xiàn):1 Musa J D. Operational profiles in software-reliability engineering J. IEEE Software, 1993,10(2):14322 Lakey P, Neufelder A. System and software reliability assurance notebookM. NewYork: Rome Laboratory,1997. 9-169-203 Regnell B, Runeson P

15、, Wohlin C. Towards integration of use case modelling and usage-based testingJ. Journal of Systems and Software, 2000, 50(2):1171304 Butler G, Cretu A, Khendek F. Reconciling use cases and operational profilesDB/OL. /master_degree.html /148512.html, 2000-045 Lyu M R. Handbook of software reliability engineering M. McGraw-Hill publishing, 19956蘭博.UML參考手冊M.姚淑珍,唐發(fā)根譯.北京:機械工業(yè)出版社,2001Rumbaugh J. The unified modeling language reference manualM. Translated by Yao Shuzhen, Tang Fagen

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論