




已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
(計(jì)算機(jī)軟件與理論專業(yè)論文)基于uml20圖的cbd軟件集成測(cè)試方法研究.pdf.pdf 免費(fèi)下載
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
中文摘要 面向構(gòu)件的軟件開發(fā)方法己成為軟件工程領(lǐng)域的熱點(diǎn)。目前7 0 的軟件都是基 于構(gòu)件開發(fā)的,它秉誠(chéng)“購(gòu)買而不創(chuàng)建,組裝即成”的開發(fā)哲學(xué),從根本上改變了軟 件開發(fā)方式,提高了軟件復(fù)用性和開發(fā)效率。c b d 軟件開發(fā)的核心是構(gòu)件組裝。軟 件集成測(cè)試是組裝工作是否有效的檢驗(yàn)者,它關(guān)系至i j c b d 軟件開發(fā)工作的成敗。由 于c b d 軟件具有源代碼未知,應(yīng)用環(huán)境復(fù)雜等特點(diǎn),傳統(tǒng)的軟件集成測(cè)試技術(shù),對(duì) 于解決這些問題,將會(huì)面臨嚴(yán)峻的挑戰(zhàn)。相比之下,基于u m l 模型的c b d 軟件集成 測(cè)試技術(shù)取得了不錯(cuò)的成果,國(guó)內(nèi)外已有不少關(guān)于這方面的成果,但基本上都是基 于u m l l x n 交互圖生成測(cè)試用例而進(jìn)行測(cè)試,都沒有充分整合u l 2 0 各種模型的 新特性而進(jìn)行更有效的測(cè)試。因此,研究基于u m l 2 0 模型的c b d 軟件集成測(cè)試方法 具有重要意義。 本文首先在對(duì)u m l 2 0 模型中的狀態(tài)機(jī)進(jìn)行分析的基礎(chǔ)上,結(jié)合構(gòu)件圖將狀態(tài)機(jī) 擴(kuò)展為具有事件語義的模型( e c s m ) 。并將“順序”定義為強(qiáng)順序和弱順序以解決 u m l 2 0 順序圖( s d ) q u 的“順序”所描述語義的不準(zhǔn)確性問題。然后將e c s m 和s d 進(jìn)行 有機(jī)集成,給出了一種可描述構(gòu)件交互的模型( 可擴(kuò)展的構(gòu)件交互模型e c s d ) 。由 于e c s d 包含的信息量多而不便于分析,文中構(gòu)造了可以簡(jiǎn)化e c s d 模型的消息交互 流程圖模型( m i s g ) ,給出了基于m i s g 模型生成測(cè)試場(chǎng)景和測(cè)試覆蓋準(zhǔn)則的算法。 同時(shí),分析了c b d 軟件的測(cè)試數(shù)據(jù)準(zhǔn)備生成策略,設(shè)計(jì)了一種的基于m i s g 模型的測(cè) 試用例生成方法,并以a t m 系統(tǒng)為例,使用r a t i o n a lr o s e 對(duì)a t m 系統(tǒng)進(jìn)行建模和分 析,得到m i s g 模型,在此基礎(chǔ)上生成了測(cè)試用例,達(dá)到了預(yù)期的效果。最后,本文 提出了一種基于u m l 2 0 模型的c b d 軟件集成測(cè)試框架( c s i t f ) ,并進(jìn)行了框架總 體設(shè)計(jì),關(guān)鍵模塊設(shè)計(jì)及核心算法設(shè)計(jì)。該模型對(duì)設(shè)計(jì)c b d 軟件集成測(cè)試工具提供 了一種思路。 關(guān)鍵詞:構(gòu)件測(cè)試;u m l 2 0 ;集成測(cè)試框架;m i s g ; a b s t r a c t c o m p o n e n t 。o r i e n t e d s o f t w a r e d e v e l o p m e n t m e t h o dh a sb e c o m ea r e s e a r c hh o ti nt h ef i e l do f s o f t w a r ee n g i n e e r i n g n o w7 0 o ft h es o f t w a r ei s c o m p o n e n t - b a s e dd e v e l o p m e n t i ti si ng o o df a i t h r a t h e rt h a nc r e a t i o nb u t p u r c h a s ea n do n l ya s s e m b l y ,w h i c hf u n d a m e n t a l l yc h a n g e dt h ew a yo f s o f t w a r ed e v e l o p m e n t ,a n d i m p r o v e de f f i c i e n c yo f s o f t w a r er e u s a b i l i t y c o m p o n e n ta s s e m b l yi st h ec o r eo ft h ec b ds o f t w a r ed e v e l o p m e n t w h e t h e r t h e c o m p o n e n t sa s s e m b l yw o r ke f f e c t i v e l y o rn o t ,s o f t w a r ei n t e g r a t i n g t e s t i n gi sr e l a t e dt ot h es u c c e s so rf a i l u r eo fc b d s o f t w a r ed e v e l o p m e n ta sa c h e c k e r d u et ot h ec h a r a c t e r i s t i c st h a tc b ds o f t w a r es o u r c ec o d ea r e u n k n o w n ,a n dc o m p l e xa p p l i c a t i o ne n v i r o n m e n t s ,t h et r a d i t i o n a ls o f t w a r e t e s t i n gt e c h n i q u e sw i l lf a c es e v e r ec h a l l e n g e s i nc o n t r a s t ,u m l - b a s e d i n t e g r a t i o nt e s t i n gf o rc o m p o n e n t - b a s e ds o f t w a r eh a sa c h i e v e dg o o dr e s u l t s , t h e r ea r ea c h i e v e m e n t si nt h i sa s p e c t ,b u tb a s i c a l l ya l la r eb a s e do nt h e i n t e r a c t i v ed i a g r a p hu m l1 xt og e n e r a t et e s tc a s e sa n dt h e nt e s t ,n om o r e e f f e c t i v et e s t i n gc a nb ep r o c e s s e dw i t h o u tu t i l i z i n gn e wf e a t u r e so ff u l l y i n t e g r a t e dm o d e lu m l 2 0 t h u s ,r e s e a r c ho fu m l 2 0 - b a s e dc b ds o f t w a r e i n t e g r a t i o nt e s t i n gh a st h ev i t a ls i g n i f i c a n c e i nt h i sp a p e r ,b a s e do nt h ea n a l y s i so ft h es t a t em a c h i n eo fu m l 2 0 ,t h e s t a t em a c h i n ef o re v e n ts e m a n t i c sm o d e l ( e c s m ) w i t ht h ec o m b i n a t i o no f c o m p o n e n t d i a g r a p hi se x p a n d e d f o rs o l v i n gt h en o n - s e m a n t i ca c c u r a c yo f “s e q u e n c e d e s c r i b e di ns d ,s e q u e n c e sa r ed i v i d e di n t os t r o n ga n dw e a k , a n dam o d e ld e s c r i b i n gt h ei n t e r a c t i v ec o m p o n e n t s ( e x t e n s i b l ec o m p o n e n t i n t e r a c t i o nm o d e le c s d ) i sc o n s t r u c t e db yi n t e g r a t i n ge c s ma n ds d s i n c e t h ee c s dc o n t a i n sg r e a ta m o u n to fi n f o r m a t i o na n dn o te a s yf o ra n a l y s i s ,a n e wf l o wc h a r to fi n t e r a c t i o n ( m i s g ) m o d e li sp r o p o s e dw h i c hc a r ls i m p l i f y e c s d ,a n daa l g o r i t h mf o rt h et e s t s c e n a r i oa n dt e s t c o v e r a g e c r i t e r i a g e n e r a t e db a s e do nm i s gm o d e li sp r o p o s e d a tt h es a m et i m e ,t h et e s td a t a i l l i sa n a l y z e df o rp r e p a r a t i o nt og e n e r a t es t r a t e g i e so fc b ds o f t w a r e a n da t m s y s t e mi st a k e na sa ne x a m p l e ,a n dr a t i o n a lr o s ei su s e df o rt h em o d e l i n g a n da n a l y s i s ,t h ed e s i r e dr e s u l t sh a sb e e na c h i e v e do nt h eb a s i so ft e s tc a s e s w h i c hh a v eb e e ng e n e r a t e d f i n a l l y ,t h i sp a p e rp r o p o s e su m l 2 0 一b a s e dc b d s o f t w a r ei n t e g r a t i o nt e s t i n gf r a m e w o r k ( c s i t f ) ,a n dd e s i g n st h ea r c h i t e c t u r e o ff r a m e w o r k , t h ec o r em o d u l e sa n dt h ec o r ea l g o r i t h m s t h ef r a m e w o r k p r o v i d e san e ww a yf o rt h ed e s i g no fc b ds o f t w a r ei n t e g r a t i o nt e s t i n gt o o l s k e y w o r d s :c o m p o n e n tt e s t i n g ; u m l 2 o : i n t e g r a t i o nt e s t i n gf r a m e w o r k ; s g : i v 聲明戶明 本人鄭重聲明:所呈交的學(xué)位論文,是本人在指導(dǎo)教師的指導(dǎo)下, 獨(dú)立進(jìn)行研究所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文 不包含其他個(gè)人或集體已經(jīng)發(fā)表或撰寫過的科研成果。對(duì)本文的研究 做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本聲明的 法律責(zé)任由本人承擔(dān)。 作者簽名: 日期:弓幽l 關(guān)于學(xué)位論文使用權(quán)的說明 本人完全了解太原科技大學(xué)有關(guān)保管、使用學(xué)位論文的規(guī)定,其 中包括:學(xué)校有權(quán)保管、并向有關(guān)部門送交學(xué)位論文的原件、復(fù)印 件與電子版;學(xué)??梢圆捎糜坝?、縮印或其它復(fù)制手段復(fù)制并保存 學(xué)位論文;學(xué)??稍试S學(xué)位論文被查閱或借閱;學(xué)??梢詫W(xué)術(shù)交 流為目的,復(fù)制贈(zèng)送和交換學(xué)位論文;學(xué)??梢怨紝W(xué)位論文的全 部或部分內(nèi)容( 保密學(xué)位論文在解密后遵守此規(guī)定) 。 作者簽名: 導(dǎo)師簽名: 期 期 日 日 第章緒論 第一章緒論 1 1 課題研究背景和意義 軟件測(cè)試是對(duì)軟件規(guī)格說明、軟件設(shè)計(jì)和編碼的最后審核,其目的是在產(chǎn)品交 付前盡可能發(fā)現(xiàn)軟件中潛伏的錯(cuò)誤【1 1 。大量統(tǒng)計(jì)表明,軟件測(cè)試工作量往往占軟件開 發(fā)總工作量的4 0 以上【2 】,對(duì)于一些要求高可靠性、高安全性的軟件,其測(cè)試費(fèi)用可 能相當(dāng)于整個(gè)軟件開發(fā)總費(fèi)用的3 至5 倍1 3 1 。因此,研究可靠的軟件測(cè)試方法和實(shí)用 有效的軟件測(cè)試工具是提高軟件開發(fā)效率,降低軟件成本的重要的環(huán)節(jié)。 隨著軟件設(shè)計(jì)方法學(xué)的發(fā)展,面向構(gòu)件的軟件開發(fā)方法正在逐步取代傳統(tǒng)的面 向?qū)ο蟮能浖_發(fā)方法,并將成為新的趨勢(shì)【5 1 。截至目前為止,大約有8 0 的軟件系 統(tǒng)都是基于構(gòu)件技術(shù)的【6 】。由于構(gòu)件具有獨(dú)立功能,獨(dú)立發(fā)布,遵循特定構(gòu)件規(guī)范, 支持可復(fù)用和可集成的二進(jìn)制的功能塊【4 】等特點(diǎn),使得基于構(gòu)件的軟件工程更具優(yōu) 勢(shì)。但同時(shí)構(gòu)件的跨平臺(tái),跨語言和源代碼不可知的特點(diǎn),導(dǎo)致了構(gòu)件化軟件系統(tǒng) 的測(cè)試難度非常大。 其實(shí),對(duì)于構(gòu)件化軟件而言,軟件測(cè)試的問題實(shí)質(zhì)上集中在構(gòu)件集成測(cè)試的問 題上。通過學(xué)者觀察和研究,7 0 以上的測(cè)試問題都來源于構(gòu)件的交互。所以構(gòu)件交 互測(cè)試是c b d 軟件的集成測(cè)試的重點(diǎn)。而o m g 組織的u m l 2 0 模型能對(duì)c b d 軟 件進(jìn)行建模,建模過程中能得到各種u m l 2 0 圖形,這些圖形很好的表達(dá)了構(gòu)件化 軟件的動(dòng)態(tài)交互過程【引。因此,研究基于u m l 2 0 模型的可測(cè)試模型,并研究構(gòu)件集 成測(cè)試方法具有重要意義。 1 2 國(guó)內(nèi)外研究現(xiàn)狀 近幾年來,構(gòu)件化軟件開發(fā)方法在國(guó)內(nèi)外得到了充分的發(fā)展,北京大學(xué),中科 院軟件研究所等發(fā)表了不少論文,普元公司,北大青鳥公司,上海構(gòu)件庫(kù)等在工程 方面取得較好的成果。而關(guān)于c b d 軟件的集成測(cè)試的研究主要在國(guó)外展開。目前主 要成果有以下幾個(gè): ( 1 ) 基于u m l l x 的構(gòu)件化軟件的集成測(cè)試技術(shù)。目前有兩種基于這種測(cè)試技術(shù) 的方法:基于狀態(tài)的測(cè)試技術(shù)1 2 】【1 3 】【1 4 】f 1 7 】【1 9 】【4 1 1 和基于事件流的測(cè)試技術(shù)【1 5 】【1 6 1 。前一 種主要是根據(jù)u m l l x 的狀態(tài)圖得到構(gòu)件在交互過程中的狀態(tài)改變情況,而進(jìn)行分 析,構(gòu)造基于狀態(tài)的測(cè)試模型。這種方法的缺點(diǎn)是:狀態(tài)信息并不能充分表達(dá)系統(tǒng) 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 真實(shí)運(yùn)行時(shí)的情況,例如:構(gòu)件間可能發(fā)生了交互,但交互沒有導(dǎo)致構(gòu)件狀態(tài)的變 化,這種情況就無法在狀態(tài)圖中反映出來。后一種測(cè)試方法主要是根據(jù)u m l l x 模 型中的順序圖協(xié)作圖來分析交互過程,得到事件流,從而得到相關(guān)的可用計(jì)算機(jī)處 理的模型。在這方面比較有代表性的有:j e a l l 等9 1 ,h o i j i n ( 盯,f r a i k i i l 【2 0 】和y e 【2 1 】它 們都是都是通過分析序列圖來構(gòu)造測(cè)試模型的。這種方法的缺點(diǎn)是:它完全基于事 件序列圖來構(gòu)造測(cè)試模型,而沒有充分的反映構(gòu)件每次事件作用后的狀態(tài)信息。因 此,考慮怎樣把兩種方法有機(jī)的結(jié)合起來,是基于這種方法研究的核心。本文的研 究就是基于這個(gè)想法來展開的。 ( 2 ) 基于序列的技術(shù)【3 3 】這種技術(shù)主要是基于數(shù)據(jù)流圖的思想,從兩個(gè)方面來 對(duì)構(gòu)件軟件進(jìn)行測(cè)試的:對(duì)于單個(gè)構(gòu)件的測(cè)試和對(duì)于整個(gè)構(gòu)件組合的測(cè)試。第一個(gè) 方面主要是根據(jù)構(gòu)件相關(guān)的規(guī)格說明文檔及第三方提供的說明書,進(jìn)行信息提取, 從而畫出數(shù)據(jù)流圖,生成測(cè)試序列。后一個(gè)方面主要是分析構(gòu)件間的事情交互情況, 得到事件的傳播過程,從而推導(dǎo)出事件的交互序列。然后綜合這兩個(gè)方面來進(jìn)行測(cè) 試。這種方法的缺點(diǎn)是:如果構(gòu)件化系統(tǒng)中的構(gòu)件數(shù)據(jù)非常大的時(shí)候,獲取方法序 列的難度非常巨大。 ( 3 ) 基于構(gòu)件交互圖( c i g ) 的構(gòu)件系統(tǒng)測(cè)試技術(shù)【2 7 】這種方法的思想是:通過分析 得知構(gòu)件系統(tǒng)中最容易出現(xiàn)問題的地方就是構(gòu)件間的交互問題,所以它就從這個(gè)方 面來分析構(gòu)件間的交互所引起的問題。主要是采用靜態(tài)分析交互情況和動(dòng)態(tài)跟蹤構(gòu) 件實(shí)際運(yùn)行過程的方法,從而得到各種相關(guān)的流圖,然后對(duì)這些流進(jìn)行建模和分析, 得到測(cè)試用例。這種方法的優(yōu)點(diǎn)是不需要知道構(gòu)件的源代碼就可以進(jìn)行。缺點(diǎn)是: 如果被測(cè)試的構(gòu)件化軟件規(guī)模非常大,分析交互就非常復(fù)雜。 ( 4 ) 基于構(gòu)件軟件流圖( c b s f g ) 的測(cè)試技術(shù)1 2 引,這種測(cè)試技術(shù)的主要思想是借 助于數(shù)據(jù)流圖和控制流程圖的思想,將c b d 軟件圖形化。這個(gè)過程主要是通過規(guī)格 說明文檔來推導(dǎo)的一些可視化信息,并能通過圖形來表示的。這種方法的優(yōu)點(diǎn):它 不是用單獨(dú)的白盒測(cè)試或者黑盒測(cè)試,而是綜合兩者來提取一切可視化的信息來構(gòu) 造c b s f g 圖,缺點(diǎn)是這種圖形化表示的信息不是非常準(zhǔn)確,有時(shí)也不好把握,隨著 構(gòu)件化軟件規(guī)模的擴(kuò)大,難度也隨著增加。 ( 5 ) 基于內(nèi)建式的測(cè)試技術(shù)( b u i l d i nt e s t ( b i t ) ) 【2 2 】【2 3 】【2 4 】這種測(cè)試方法的思 想是:構(gòu)件可測(cè)試性的構(gòu)件,它將一些可用來幫助測(cè)試的方法編寫好后,植入到構(gòu) 件的內(nèi)容,當(dāng)程序啟動(dòng)時(shí),就可以根據(jù)這些方法來跟蹤和檢驗(yàn)測(cè)試過程,并將信息 2 第一章緒論 記錄下來,從而進(jìn)行分析。這種方法的優(yōu)點(diǎn)是:可以非常具有可行性和可操作性。 缺點(diǎn)是:植入那些方法,這些方法是否參測(cè)試造成影響等都無法預(yù)測(cè)。 ( 6 ) 基于t d s ( t e c h n i q u ed e v e l o p m e n tf r a m ew o r d s ,a n dq u a l i t ya s s u r a n c e s c h e m e s ) 【2 9 】的測(cè)試技術(shù)。這種技術(shù)的思想是:根據(jù)構(gòu)件的接口以及接口中的事件, 根據(jù)這些信息利用相應(yīng)的算法進(jìn)行歸納整理,從而產(chǎn)生測(cè)試用例。這種方法的優(yōu)點(diǎn) 是:提出了構(gòu)件測(cè)試充分性的判定條件。缺點(diǎn)是通過這種方法得到的測(cè)試信息并足 夠,真正實(shí)現(xiàn)充分性的測(cè)試的難度比較大。 1 3 研究?jī)?nèi)容及論文結(jié)構(gòu) 本文在對(duì)c b d 軟件的集成測(cè)試和基于u m l 2 0 測(cè)試的相關(guān)理論的認(rèn)真研究的基 礎(chǔ)上,首先使用u m l 2 0 對(duì)c b d 軟件建模,得到c b d 軟件的構(gòu)件圖,狀態(tài)機(jī)和交 互圖,將構(gòu)件圖和狀態(tài)圖所描述的信息進(jìn)行整合,構(gòu)造一種具有事件語義的可描述 構(gòu)件交互的模型( e c s m ) ,然后著重探討了順序圖中所描述的構(gòu)件交互語義具有比 較大的局限性的問題,并采用將描述的交互場(chǎng)景細(xì)化為強(qiáng)弱順序關(guān)系來解決這個(gè)問 題。由于e c s m 和c d 間具有事件語義上的聯(lián)系,將兩者有機(jī)的集成起來,構(gòu)造成 一個(gè)可充分描述構(gòu)件間的交互能力的模型( 擴(kuò)展的構(gòu)件順序圖模型e c s d ) ,但是這 種模型是完全圖形化的,并且信息量大不便于處理。因此,在此基礎(chǔ)上又提出了一 種可用于處理的消息交互數(shù)據(jù)流模型( m i s g ) ,并分析出了基于m i s g 模型的測(cè)試覆 蓋準(zhǔn)則以及基于m i s g 模型生成測(cè)試場(chǎng)景的方法。根據(jù)文中的模型以及構(gòu)件的規(guī)格 說明,產(chǎn)生了測(cè)試準(zhǔn)備數(shù)據(jù),然后提出了一種基于m i s g 模型生成測(cè)試用例的方法, 并通過a t m 系統(tǒng)來驗(yàn)證了該方法具有可行性。最后本文提出了一種基于u m l 2 0 模 型的c b d 軟件的集成測(cè)試框架,并進(jìn)行了框架總體設(shè)計(jì),關(guān)鍵模塊設(shè)計(jì),核心算法 設(shè)計(jì)及核心數(shù)據(jù)結(jié)構(gòu)。該測(cè)試框架為解決c b d 軟件集成測(cè)試的核心問題提供了一種 思路,同時(shí)也為開發(fā)c b d 軟件測(cè)試工具提供了參考。 本文共分六章,具體章節(jié)的內(nèi)容按如下的順序編排: 第二章c b d 軟件集成測(cè)試的有關(guān)問題。首先分析了構(gòu)件的相關(guān)理論,包括構(gòu) 件的定義,構(gòu)件標(biāo)準(zhǔn)。然后分析了c b d 軟件的特點(diǎn),以及c b d 軟件集成測(cè)試的相 關(guān)問題。 第三章u m l 2 0 及其測(cè)試。首先分析了u m l 2 0 相關(guān)的新特性,并將u m l 2 0 與u m l l x 進(jìn)行了比較。然后重點(diǎn)分析了u m l 2 0 對(duì)構(gòu)件的支持。最后分析了基于 u m l 2 0 的構(gòu)件化軟件的建模方法。 3 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 第四章一種基于u m l 2 0 圖的生成測(cè)試用例的場(chǎng)景模型。首先分析了構(gòu)件圖對(duì) 于測(cè)試的優(yōu)點(diǎn)。接著介紹了構(gòu)件狀態(tài)機(jī)的特點(diǎn)以及用于集成測(cè)試中的不足,并結(jié)合 構(gòu)件對(duì)狀態(tài)機(jī)進(jìn)行了擴(kuò)展。然后介紹了構(gòu)件順序圖,并重點(diǎn)分析了“順序”所描述的 語義具有的局限性。最后,通過分析兩者的聯(lián)系,并將兩者集成起來,并生成可處 理的消息流程圖模型,以及生成測(cè)試用例的方法。 第五章基于u m l 2 0 的c b d 軟件集成測(cè)試的框架。介紹了c s i t f 的功能描述, 原型設(shè)計(jì),核心功能的實(shí)現(xiàn),以及相關(guān)的數(shù)據(jù)結(jié)構(gòu)。 第六章總結(jié)與展望。總結(jié)語,對(duì)系統(tǒng)開發(fā)過程中取得的成果和存在的問題進(jìn)行 系統(tǒng)的總結(jié)和分析,并對(duì)下一步的研究方向和策略進(jìn)行展望。 4 第一章c b d 軟件的集成測(cè)試中若干問題 第二章c b d 軟件的集成測(cè)試中若干問題 構(gòu)件是按照一定規(guī)范編寫的具有特定功能的可復(fù)用的程序模塊。構(gòu)件的廣泛應(yīng) 用,使得c b d 軟件的測(cè)試和維護(hù)問題越來越受到人們的重視。c b d 軟件主要是復(fù)用 已有構(gòu)件或者c t o s 構(gòu)件構(gòu)造新的軟件系統(tǒng),從而提高開發(fā)效率和質(zhì)量,因此構(gòu)件 化構(gòu)件系統(tǒng)的集成測(cè)試就顯得非常重要了,只有做好集成測(cè)試,才能保證新系統(tǒng)的 正確性和可靠性。本章將主要討論當(dāng)前的主流構(gòu)件標(biāo)準(zhǔn),以及構(gòu)件化軟件集成測(cè)試 中存在的各種問題。 2 1 構(gòu)件的定義 構(gòu)件正處于發(fā)展階段,所以目前還沒有一個(gè)明確的定義。s z y p e r s k i 2 5 】把構(gòu)件定 義為“軟件構(gòu)件是一個(gè)僅帶特定契約接口和顯式語境依賴的結(jié)構(gòu)單元”,同時(shí)他還寫 道:t - 軟件構(gòu)件可以獨(dú)立部署,易于第三方整合。著名的b r o w n 2 7 1 和w a l l n a u 2 8 1 描述 構(gòu)件為“一個(gè)非平凡的、幾乎獨(dú)立的、可替換的系統(tǒng)組成部分,它在定義完善的體系 結(jié)構(gòu)環(huán)境中實(shí)現(xiàn)某一清晰的功能”。c l e m e n s 2 9 1 認(rèn)為:構(gòu)件是一個(gè)獨(dú)立部署的的單元, 是一個(gè)第三方合成的單元,構(gòu)件沒有一致性的狀態(tài)。g a r t n e rg r o u p 3 川認(rèn)為軟件是運(yùn) 行時(shí)軟件,它是一個(gè)可動(dòng)態(tài)綁定的、含一個(gè)或多個(gè)程序的軟件包,它作為一個(gè)獨(dú)立 單位,通過運(yùn)行時(shí)可辨別的文檔化接口加以管理和存取。下面本文將給出構(gòu)件的定 義: 構(gòu)件定義構(gòu)件是一個(gè)具有獨(dú)立功能的可復(fù)用的功能模塊,它通過接口向外提供服 務(wù)。構(gòu)件可以定義為一個(gè)六元組: s p e ,i m p ,d e p ,s t a ,p a e ,t e s t ) ,其中s p e 為構(gòu)件 說明,i m p 為構(gòu)件實(shí)現(xiàn)體,d e p 表示可被組裝,s t a 為構(gòu)件模型,p a c 表示可包裝,t e s t 表示可被測(cè)試。 ( 1 ) 構(gòu)件說明。它是構(gòu)件定義中最重要的部分。構(gòu)件說明主要包括:構(gòu)件的 適用環(huán)境及使用方法說明,接口定義,構(gòu)件所具有的功能說明,構(gòu)件的組裝規(guī)格說 明。 ( 2 ) 構(gòu)件實(shí)現(xiàn)體。構(gòu)件一般是由一方定義,一方開發(fā),另一方使用的流程。由 于功能需求不同,所以需要產(chǎn)生多個(gè)構(gòu)件實(shí)現(xiàn)體。使其具有更強(qiáng)的復(fù)用性。 ( 3 ) 可被組裝。構(gòu)件的設(shè)計(jì)目的就是為了能用構(gòu)件快速組裝成新的系統(tǒng)。可組 裝主要包括:構(gòu)件組裝的基礎(chǔ)設(shè)施說明,組裝時(shí)順序要求,組裝時(shí)的異常處理說明, 組裝有效的驗(yàn)證工作。 5 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 ( 4 ) 構(gòu)件模型由于構(gòu)件最終的目的是為了大量復(fù)用,因此在開發(fā)時(shí)需要選擇 盡量通用的構(gòu)件模型來做開發(fā),構(gòu)件模型定義了關(guān)于發(fā)重用軟件構(gòu)件和構(gòu)件之間相 互通信的一組標(biāo)準(zhǔn)的描述。應(yīng)具有自描述性,可集成性和可定制性。 ( 5 ) 可包裝。這點(diǎn)主要是從功能組合來考慮的。通過對(duì)不同的構(gòu)件進(jìn)行包裝或 者改造,能具有新的功能。 ( 6 ) 可測(cè)試性。由于一般是商業(yè)構(gòu)件,因此能夠?qū)?gòu)件設(shè)計(jì)成可測(cè)試的,對(duì)將 來復(fù)有時(shí)有著很多的支持。 2 2 構(gòu)件標(biāo)準(zhǔn) 目前軟件行業(yè)內(nèi)的構(gòu)件標(biāo)準(zhǔn)有四個(gè):o m g 提出的c o r b a ( c o m m o no b j e c t r e q u e s tb r e a k e ra r c h i t e c t u r e ) ,微軟提出的c o m ( c o m p o n e mo b j e c tm o d e l ) ,還有s a i l 公司提出的e j b ( e n t e r p r i s ej a v ab e a n ) 和w e b 服務(wù)。 c o r b a 的優(yōu)點(diǎn)在于其與開發(fā)語言無關(guān)的語言獨(dú)立性,與開發(fā)者無關(guān)的廠商獨(dú)立 性以及與操作系統(tǒng)無關(guān)的平臺(tái)獨(dú)立性,即提供跨平臺(tái)的能力,其缺點(diǎn)在于其技術(shù)規(guī) 范十分復(fù)雜,而且沒有規(guī)定實(shí)現(xiàn)細(xì)節(jié)。因此不同版本的c o r b a 產(chǎn)品互不相同,會(huì) 帶來互操作性與移植的大量問題。另外,c o r b a 開發(fā)工具相對(duì)而言比較缺乏,開發(fā) 難度較大。其體系結(jié)構(gòu)圖如圖2 1 所示 圖2 - lc o r b a 體系結(jié)構(gòu) f i 9 2 - 1a r c h i t e c t u r eo fc o r b a c o m 體系結(jié)構(gòu)如圖2 2 所示,其優(yōu)點(diǎn)在于開發(fā)容易、商品化構(gòu)件多和易于使用, 其缺點(diǎn)在于其技術(shù)為微軟專有。技術(shù)上的壟斷帶來的結(jié)果就是c o m 技術(shù)只能在 w i n d o w s 平臺(tái)上實(shí)現(xiàn),代碼的可重用性和跨平臺(tái)性能相對(duì)較差。c o m + 把c o m , d c o m 和m t s ( m i c r o s o f tt r a n s a c t i o ns e r v e r ) 組合在了一起,使c o m + 成為一個(gè)完整 6 第二章c b d 軟件的集成測(cè)試中若干問題 的構(gòu)件體系結(jié)構(gòu)。三者有機(jī)地統(tǒng)一起來,同時(shí)新增了一些服務(wù)如負(fù)載平衡、內(nèi)存數(shù) 據(jù)庫(kù)、事件模型、隊(duì)列服務(wù)等,形成一個(gè)概念新、功能強(qiáng)的構(gòu)件體系結(jié)構(gòu)。 耵s c o 叼、t a c t l v e 夏d m r e c x ! cc n p o u n d d o c u m e n t1 0 l e ) :翌! 一 ! 塑 c 儺工r 正r a s t r u c 吒1 1 r e 圖2 - 2c o m c o m + d c o m 體系結(jié)構(gòu) f i 薩2a r c h i t e c t u r eo fc o m c o m + d c o m e j b 體系結(jié)構(gòu)如圖2 3 所示。它是由這兩種核心分布式技術(shù)演化來的,提供一個(gè) 標(biāo)準(zhǔn)的分布的、基于o o 的組件架構(gòu),屏蔽復(fù)雜的系統(tǒng)級(jí)功能需求,w r i t eo n c e ,r t l na n y w h e r e ,與非j a v a 應(yīng)用程序之間的互操作n p , j 3 。 i r o k e 耵b c o n ta i n e r e j bs e r v e r 耵bc l i e m ;:= k = e t = h o = d s = = :, , 一、 :。 l t v v k ee 丁b t h o d s = = = = = = = , 圖2 - 3r m i e 3 b 體系結(jié)構(gòu) f i g2 - 3a r c h i t e c t u r eo f r m i e j b w e b 服務(wù)是一套構(gòu)件開發(fā)標(biāo)準(zhǔn),如果2 - 4 所示,它主要包括s o a p ,w s d l ( w e b 服 務(wù)描述語言) ,u d d z ( 通用描述發(fā)現(xiàn),集成) 和w s i l ( w e b 服務(wù)檢查語言) 有三個(gè) 獨(dú)立的角色:服務(wù)提供者,服務(wù)請(qǐng)求者和服務(wù)代理者。三個(gè)角色通過服務(wù)的發(fā)布, 查找,綁定進(jìn)行交互。服務(wù)提供者通過用代理者的發(fā)布接口讓客戶能訪問服務(wù)來通 知代理者服務(wù)存在。發(fā)布信息描述了服務(wù)并說明服務(wù)定位在o j i j j l 。服務(wù)請(qǐng)求者詢問 代理者服務(wù)的定位。根據(jù)從代理者獲得的服務(wù)信息,請(qǐng)求者可以綁定或者調(diào)用這個(gè) 服務(wù)。 b i n d k 呈! 二竺夕心竺竺:! 蘭竺夕 l 。八 f i n d 圖2 - 4 w e b 服務(wù)體系結(jié)構(gòu) 7 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 f i g2 - 4a r c h i t e c t u r eo f w e bs e r v i c e 2 3c b d 軟件的集成測(cè)試的特點(diǎn) 由于c b d 軟件具有與傳統(tǒng)軟件不同的新特性 2 1 1 3 :( 1 ) 由源代碼不可見的構(gòu)件組 裝的高松耦合的系統(tǒng)。( 2 ) 構(gòu)件更換容易,系統(tǒng)演化速度快。( 3 ) 系統(tǒng)的可靠性高度依 賴于構(gòu)件及其構(gòu)件間的交互。( 4 ) 系統(tǒng)具有很好的擴(kuò)展性和復(fù)用性1 4 j 。從而導(dǎo)致了構(gòu) 件系統(tǒng)測(cè)試難度大。而構(gòu)件通常是通過接口向外提供服務(wù)的,客戶端只能通過接口 來調(diào)用相關(guān)方法得到服務(wù)。一般用來構(gòu)造系統(tǒng)的構(gòu)件都是經(jīng)過完整的單元測(cè)試,但 是當(dāng)它們構(gòu)造系統(tǒng)時(shí)可能會(huì)產(chǎn)生各種交互錯(cuò)誤,還有可能是接口提供的功能大于當(dāng) 前新系統(tǒng)的功能,而且這些錯(cuò)誤不易被觀察到。本文主要是從構(gòu)件使用的角度來分 析c b d 軟件的集成測(cè)試。我們從以下幾個(gè)方面來探討基于構(gòu)件的開發(fā)對(duì)軟件測(cè)試的 影響,以及基于構(gòu)件的軟件測(cè)試的特點(diǎn)。 ( 1 ) 構(gòu)件是c b d 軟件的最小組成單位c b d 軟件是復(fù)用已有的或自行開發(fā)的構(gòu) 件而組成的。構(gòu)件是封裝了數(shù)據(jù)和方法的功能休。我們可以認(rèn)為構(gòu)件是構(gòu)成c b d 軟 件的基本單位,構(gòu)件質(zhì)量的好壞直接影響到c b d 軟件的質(zhì)量。 ( 2 ) 需要兩種不同目的的測(cè)試工作c b d 軟件的開發(fā)過程就是將現(xiàn)有的構(gòu)件進(jìn) 行集成的過程。其中,構(gòu)件可能是自行開發(fā)或者是第三方提供的。如果是自行開發(fā), 為了保證構(gòu)件的質(zhì)量,需要測(cè)試人員對(duì)構(gòu)件進(jìn)行單元測(cè)試。如果是第三方提供的也 需要進(jìn)行功能驗(yàn)證【3 3 】【4 0 1 。當(dāng)把構(gòu)件進(jìn)行組裝時(shí)則需要進(jìn)行集成測(cè)試,集成測(cè)試是保 證新軟件系統(tǒng)質(zhì)量的關(guān)鍵。兩種測(cè)試工作雖然出發(fā)點(diǎn)不一樣,但都得做好,這樣才 能確保最終的系統(tǒng)質(zhì)量。 ( 3 ) 測(cè)試方法的選擇 由于出于公司效率等的考慮,在開發(fā)c b d 軟件時(shí),一般 會(huì)考慮從構(gòu)件庫(kù)中檢索合適的商業(yè)構(gòu)件或者開源構(gòu)件,這樣的構(gòu)件可能源代碼不可 得到或者文檔不全等,如果要在組裝前對(duì)構(gòu)件進(jìn)行白盒測(cè)試,難度會(huì)非常大。但可 以考慮進(jìn)行功能驗(yàn)證測(cè)試。即黑盒測(cè)試比較可行,也可以進(jìn)行基于模型的測(cè)試【2 3 1 。 2 4 構(gòu)件化軟件系統(tǒng)的集成測(cè)試中的問題 c b d 方法相對(duì)于傳統(tǒng)的開發(fā)方法體現(xiàn)出了許多新優(yōu)勢(shì),但它的新特點(diǎn)也給軟件 測(cè)試帶來了新的挑戰(zhàn)。我們從兩個(gè)方面分析構(gòu)件及構(gòu)件軟件的測(cè)試問題。 ( 1 ) 從構(gòu)件生產(chǎn)者來看,主要是包括以下的問題: a 測(cè)試是否充分性的判定。由于構(gòu)件規(guī)模和構(gòu)件類型等不同,很難有個(gè)確定的 判定依據(jù)說明測(cè)試的程度。 8 第二二章c b d 軟件的集成測(cè)試中若干問題 b 測(cè)試準(zhǔn)備數(shù)據(jù)的產(chǎn)生是否充分。由于對(duì)于單個(gè)構(gòu)件的測(cè)試類似于白盒測(cè)試, 所以很難設(shè)計(jì)出充分的測(cè)試數(shù)據(jù)。 c 搭建構(gòu)件的測(cè)試環(huán)境。對(duì)單個(gè)構(gòu)件進(jìn)行測(cè)試,需要模擬出構(gòu)件運(yùn)行的環(huán)境。 構(gòu)造測(cè)試驅(qū)動(dòng)器和打樁對(duì)于構(gòu)件的多線程,死鎖,跨平臺(tái),跨語言等特殊情 況很難模擬。 d 構(gòu)件的可復(fù)用性測(cè)試。由于構(gòu)件設(shè)計(jì)的目的就是要重復(fù)使用可能需要在多種 環(huán)境中應(yīng)用。所以也要測(cè)試。 ( 2 ) 從構(gòu)件使用者角度來看,對(duì)構(gòu)件化軟件測(cè)試面臨如下的問題: a 測(cè)試是否充分的問題依然存在。 b 構(gòu)件的測(cè)試順序問題。如果采用自底向上的集成測(cè)試方法,則每次的測(cè)試都 是建立在相對(duì)正確的基礎(chǔ)上的,但如果采用其他的集成測(cè)試方式則需要驅(qū)動(dòng) 模塊和打樁。 c 冗余測(cè)試問題。由于在組裝過程中,每新增加一個(gè)構(gòu)件,理論上應(yīng)該重測(cè)以 前的工作,但是工作量大,而且很多是重復(fù)工作,所以怎樣取舍而進(jìn)行回歸 測(cè)試也很復(fù)雜。 d 源代碼是否可用。因?yàn)楹芏鄻?gòu)件都是第三方提供的,只可能提供一些文檔, 因此測(cè)試難度也比較大。 e 編程語言、操作系統(tǒng)平臺(tái)、硬件結(jié)構(gòu)的混雜性。由于構(gòu)件設(shè)計(jì)時(shí)就是盡可能 被復(fù)用,而復(fù)用的環(huán)境可能會(huì)是不同的操作系統(tǒng),不同的語言環(huán)境和不同的 硬件平臺(tái),因此對(duì)于這些環(huán)境中的測(cè)試難度比較大。 f 測(cè)試分布式軟件時(shí)的監(jiān)控問題。由于分布式軟件一般部署在不同的硬件平臺(tái) 上,所以在測(cè)試過程中,跟蹤就比較復(fù)雜。 g 事件重構(gòu)。系統(tǒng)中可能存在異步消息和同步消息,僅僅對(duì)系統(tǒng)做常規(guī)的測(cè)試 是不充分的,需要對(duì)系統(tǒng)做一些重構(gòu)而進(jìn)行測(cè)試。 h 構(gòu)件的競(jìng)爭(zhēng)和死鎖。這類問題非常難處理。 i 多線程問題??赡艽嬖谟行┕δ茉诙嗑€程下可以運(yùn)行但在單線程下無法運(yùn)行。 而且這種問題不好判斷。 j 容錯(cuò)測(cè)試問題。許多系統(tǒng)要求有高度的容錯(cuò)能力,如核電站、宇宙飛船等, 因?yàn)樵跍y(cè)試時(shí)有些錯(cuò)誤很難出現(xiàn),因此可以使用故障注入技術(shù)引入缺陷,觀 察系統(tǒng)的錯(cuò)誤處理代碼能否正常工作。但引入的錯(cuò)誤不一定會(huì)激發(fā),有時(shí)要 9 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 控制或改變系統(tǒng)的流程來激發(fā)這些錯(cuò)誤。而且故障發(fā)生后不一定立刻表現(xiàn)為 失效,當(dāng)運(yùn)行到后續(xù)模塊,甚至是幾天之后才表現(xiàn)為軟件失效,為查找出錯(cuò) 誤的根源帶來困難。 1 0 第三章u m l 2 0 理論及j 測(cè)試 第三章u 池2 0 理論及其測(cè)試 u m l 2 0 ( u n i f i e dm o d e l i n gl a n g u a g ev e r s i o n2 0 ) 是一種定義良好、易于表達(dá)、功能 強(qiáng)大且普遍適用的建模語言【3 5 1 。它溶入了軟件工程領(lǐng)域的新思想、新方法和新技 術(shù)。它為高質(zhì)量的軟件開發(fā)與測(cè)試提供了有力的保障。本章將介侶u m l 2 0 的新特 性,設(shè)計(jì)目標(biāo),主要組織特征,基于u m l 的傳統(tǒng)軟件測(cè)試方法,以及基于u m l 2 0 面向構(gòu)件( ( o b j e c t o r i e n t e dc o m p o n e n to o c ) 開發(fā)與測(cè)試方法。 3 1u m l 介紹 u m l 是由著名的面向?qū)ο蠹夹g(shù)專家o r a d yb o o c h 、i v a rj a c o b s o n 和j a m e s r u m b a u g h 發(fā)起,在b o o c h 表示法、o o s e ( o b j e c t - o r i e n t e ds o f t w a r ee n g i n e e r i n g ) 方法 和o m t ( o b j e c tm o d e l i n gt e c h n o l o g y ) 方法的基礎(chǔ)上,廣泛征求意見,集眾家之長(zhǎng), 反復(fù)修改而完成的。在美國(guó),u m l 已經(jīng)獲得工業(yè)界和學(xué)術(shù)界的廣泛支持。使用u m l 模型,是當(dāng)前軟件界成功地進(jìn)行軟件開發(fā)所不可缺少的關(guān)鍵環(huán)節(jié)。據(jù)專家預(yù)測(cè),在 未來1 5 2 0 年內(nèi),u m l 將是軟件開發(fā)的支柱技術(shù)。 u m l 提供了一種對(duì)伙伴系統(tǒng)進(jìn)行可視化,詳述構(gòu)造和文檔化的工業(yè)標(biāo)準(zhǔn)機(jī)制。 但這種靜態(tài)定義卻無法描述u m l 驚人的發(fā)展速度。u m l 利用一套動(dòng)態(tài)的,支持不 斷發(fā)展的特征組織其思想。這種不斷發(fā)展的思想已經(jīng)使u m l 經(jīng)歷了v e r s i o n1 0 ,1 1 , 1 2 ,1 3 ,1 4 ,發(fā)展到了今天的v e r s i o n2 0 ,并且提供的功能發(fā)生了很大的變化。 u m l 2 0 還使u m l 的發(fā)展延伸到一些新領(lǐng)域。 3 1 1u l 2 0 設(shè)計(jì)目標(biāo) u m l 2 0 繼承了u m l l x 的思想,就是要讓設(shè)計(jì)者設(shè)計(jì)出高復(fù)用性,高準(zhǔn)確性和 高擴(kuò)展性的軟件系統(tǒng)。所以u(píng) m l 2 0 在開始設(shè)計(jì)前就提出了設(shè)計(jì)目標(biāo)。 a 使得該語言對(duì)軟件實(shí)體進(jìn)行建模變得更加可行。 b 對(duì)流程和動(dòng)作建模提供更健壯的機(jī)制, c 為不同工具之間的通信創(chuàng)建一個(gè)標(biāo)準(zhǔn)。 d 在一個(gè)標(biāo)準(zhǔn)的建??蚣軆?nèi)協(xié)調(diào)u m l 。 e 支持基于組件的開發(fā),包括插件可替代性的完整定義。 f 允許軟件進(jìn)行上下文的較完整的建模,尤其是隨著中間件和w e b 應(yīng)用技術(shù)的不 斷增長(zhǎng),非常需要進(jìn)行此項(xiàng)功能。 g 提供用于重要語言的標(biāo)準(zhǔn)用戶配置文件或擴(kuò)展。 基于u m l 2 0 圖的c b d 軟件集成測(cè)試方法研究 h 支持通過交互模式的自動(dòng)實(shí)現(xiàn)。 i 增強(qiáng)u m l 對(duì)運(yùn)行時(shí)體系結(jié)構(gòu)的支持,包括對(duì)內(nèi)部結(jié)構(gòu)的建模支持,由包括對(duì)內(nèi) 部結(jié)構(gòu)的動(dòng)態(tài)行為的描述。 j 利用更清晰的規(guī)范來描述行為鏈接和特化規(guī)則,從而進(jìn)一步改進(jìn)狀態(tài)機(jī)。 k 利用更好的控制流和數(shù)據(jù)特征改進(jìn)活動(dòng)圖。 l 支持交互機(jī)制的組合,定義交互,可選交互和并行執(zhí)行的順序。 3 1 2u m l 2 0 與u m l l x 的區(qū)別 u m l 2 0 作為o m g 組織的傾力之作,它更正和擴(kuò)展了以前的版本。尤其是描述 構(gòu)件的能力大大增強(qiáng)。通過筆者比較和分析u m l l x 和u m l 2 。0 ,歸納了了兩者的 主要區(qū)別,主要表現(xiàn)在以下幾個(gè)方面: a 順序圖現(xiàn)在還有多個(gè)片斷,允許在一個(gè)順序圖上顯示更復(fù)雜的選擇。順序圖片斷 支持順序圖元素的重用。 b 新增兩種交互圖;時(shí)序圖和交互概觀圖,為用戶查看系統(tǒng)的動(dòng)態(tài)行為提供新工具。 c 圖現(xiàn)在表達(dá)一流的思想,不再與狀態(tài)機(jī)合在一起了新的活動(dòng)圖包括對(duì)大量附加 流特征的支持,并且不再把重點(diǎn)放在各種狀態(tài)轉(zhuǎn)換上,而是放在沿著各個(gè)活動(dòng)沿 流動(dòng)的令牌流上。 d 擴(kuò)展方面,u m l 2 0 著重強(qiáng)調(diào)用戶配置文件的使用,以及各個(gè)模型級(jí)別,以便各 個(gè)模型把重心放在各自的主要目的上,并使人們利用通用方法來解決各種問題, 這些擴(kuò)展更易于人們利用某些級(jí)別的模型生成代碼。 e 方面的擴(kuò)展:復(fù)合結(jié)構(gòu)的引入使得用戶可以顯示高層類別之間的連接,以及該類 別所需要的運(yùn)行時(shí)元素。 f 對(duì)組件的環(huán)境需求提供明確規(guī)則,協(xié)議狀態(tài)機(jī)和端口提供了在量支持組件開發(fā)的 特征。 g 用于定義某個(gè)類別的內(nèi)部結(jié)構(gòu)的規(guī)則更加明確,使得人們更容易于分解一個(gè)類 別。 h u m l l x 的協(xié)作圖現(xiàn)在已經(jīng)不使用了,變成了通信圖。 3 1 3u m l 的定義 u m l 是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)嵗治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表 示。它不是一種可視化的程序設(shè)計(jì)語言,而是一種可視化的建模語言;不是工具或 知識(shí)庫(kù)的規(guī)格說明,而是一種建模語言規(guī)格說明,是一種表示的標(biāo)準(zhǔn)。u m l 的定義 1 2 第三章u m l 2 0 理論及j # 測(cè)試 包括u m l 語義和u m l 表示法兩個(gè)部分:u m l 語義描述基于u m l 的精確元模型定 義。元模型為u m l 的所有元素在語法和語義上提供了簡(jiǎn)單、一致、通用的定義性說 明,使開發(fā)者能在語義上取得一致,消除了因人而異的表達(dá)方法所造成的影響。對(duì) 于u m l 可以從以下幾個(gè)方面來理解。 a 不是過程,也不是方法,但允許任何一種過程和方法使用它; b 使用、表達(dá)能力強(qiáng),進(jìn)行可視化建模; c 與具體的實(shí)現(xiàn)無關(guān),可應(yīng)用于任何語言平臺(tái)和工具平臺(tái); d 與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)的過程; e 簡(jiǎn)單并且可擴(kuò)展,具有擴(kuò)展和專有化機(jī)制,便于擴(kuò)展,無需對(duì)核心概念進(jìn)行修改; f 面向?qū)嵗脑O(shè)計(jì)與開發(fā)中涌現(xiàn)出的高級(jí)概念( 例如協(xié)作、框架、模式和組件) 提供 支持,強(qiáng)調(diào)在軟件開發(fā)過程中,對(duì)架構(gòu)、框架、模式和組件的重用; g 可升級(jí),具有廣闊的適用性和可用性; h 。有利于面向?qū)嵗ぞ叩氖袌?chǎng)成長(zhǎng); 3 1 4u l 2 0 主要組織特征 視圖( v i e w ) :它顯示了被建系統(tǒng)的各個(gè)方面,它是由多個(gè)圖組成的一個(gè)抽象模型。 在建立系統(tǒng)時(shí)需要建立多個(gè)視圖,來顯示多個(gè)方面的特征,從而描繪一個(gè)完整的系 統(tǒng)。主要包括:用例視圖,邏輯視圖,實(shí)現(xiàn)視圖,進(jìn)程視圖和部署視圖。 圖( d i a g r a m ) :它包括描述u m l 視圖內(nèi)的各種圖形元素。通過圖的相互組合提 供被建模系統(tǒng)的所有視圖。主要包括:用例圖,類圖,對(duì)象圖,狀態(tài)機(jī)( 行為狀態(tài)機(jī), 協(xié)議狀態(tài)機(jī)1 ,活動(dòng)圖,順序圖,通信圖,組件圖,部署圖和復(fù)合結(jié)構(gòu)圖。 模型元素( m o d e le l e m e n t ) :它代表普通面向?qū)ο蟮母拍钜约八鼈冮g的關(guān)系:關(guān) 聯(lián)、依賴和泛化關(guān)系。同一個(gè)模型可以在不同的u m l 圖中使用,都保持其原有的特 性。 通用機(jī)鋁l j ( g e n e r a lm e c h a n i s m ) :它可為元素提供一些額外的注釋,信息或語 義,還可提供擴(kuò)展機(jī)制對(duì)u m l 擴(kuò)展。主要包括:修飾,注釋,規(guī)格說明。擴(kuò)展包括 構(gòu)造型,標(biāo)記和約束。 模型驅(qū)動(dòng)架構(gòu)( m o d e ld r i v e ra r c h i t e c h u r e ,m d a ) :將u m l 封裝在一個(gè)m d a 中, 它力求u m l 模型變得更加可行,并且能與開發(fā)支持工具更好發(fā)集成。 3 2 基于u m l 的軟件測(cè)試 基于u m l 的軟件測(cè)試屬于基于規(guī)格說明的軟件測(cè)試。u m l 模型在指導(dǎo)測(cè)試方面 1 3 基于u s l 2 0 圖的c b d 軟件集成測(cè)試方法研究 有如下優(yōu)點(diǎn)【”】: ( 1 ) 通用性:u m l 作為軟件工程領(lǐng)域內(nèi)的標(biāo)準(zhǔn)建模語言,目前己被廣大軟件設(shè) 計(jì)者廣泛使用,并取得了好評(píng),同時(shí)也有很多商業(yè)軟件工具來支持它。比如r a t i o n a l r o s e ,o p e n u m l 等。 ( 2 ) 可迭代性:可以盡早開始測(cè)試活動(dòng)( 包括測(cè)試計(jì)劃的制定、測(cè)試大綱與測(cè)試 用例的設(shè)計(jì)等) ,并隨著設(shè)計(jì)活動(dòng)的細(xì)化,并不斷細(xì)化生成的測(cè)試制品。這樣,軟件 開發(fā)與測(cè)試開發(fā)可以并行進(jìn)行,并在整個(gè)測(cè)試過程中進(jìn)行持續(xù)測(cè)試活動(dòng)。眾所周知, 越早開始測(cè)試越好。綜合上述原因,我們認(rèn)為u
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基因編輯技術(shù)數(shù)據(jù)獨(dú)占授權(quán)合同
- 工程項(xiàng)目管理人際關(guān)系試題及答案
- 掌握2025年公文寫作技巧的試題及答案
- 工程項(xiàng)目背景與需求分析的流程試題及答案
- 工程經(jīng)濟(jì)案例分享試題及答案
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)云計(jì)算資源動(dòng)態(tài)分配在智能教育資源共享中的應(yīng)用報(bào)告
- 地方高校轉(zhuǎn)型實(shí)踐的策略與路徑探索
- 行政管理??票乜荚囶}及答案
- 行政管理學(xué)的社會(huì)職能探討試題及答案
- 市政工程考試真題解析及試題及答案
- 2025年中級(jí)會(huì)計(jì)師考試試卷及答案
- 2025年入團(tuán)考試知識(shí)點(diǎn)概述與試題及答案
- 2025屆高三下學(xué)期5月青桐鳴大聯(lián)考 英語試卷+答案
- 2025年鑄造工(技師)職業(yè)技能鑒定理論考試題庫(kù)(含答案)
- 演出服裝定制合同協(xié)議
- 計(jì)劃生育選擇試題及答案
- 法律文化-形考作業(yè)3-國(guó)開(ZJ)-參考資料
- 分子生物學(xué)基本概念的考核試題及答案
- 2025-2030中國(guó)鈦酸鋰行業(yè)競(jìng)爭(zhēng)分析及發(fā)展前景研究報(bào)告
- 形勢(shì)與政策(貴州財(cái)經(jīng)大學(xué))知到智慧樹章節(jié)答案
- 從創(chuàng)意到創(chuàng)業(yè)智慧樹知到期末考試答案章節(jié)答案2024年湖南師范大學(xué)
評(píng)論
0/150
提交評(píng)論