高質(zhì)量嵌入式系統(tǒng)開發(fā)的集成測(cè)試技術(shù)
將UML模型有效地用于嵌入式應(yīng)用的軟件工程,要求開發(fā)進(jìn)程能確保:模型是嚴(yán)格而完整的;在不影響模型的情況下優(yōu)化所生成的系統(tǒng)實(shí)現(xiàn);系統(tǒng)的整體結(jié)構(gòu)由進(jìn)程通過多個(gè)版本及要求的升級(jí)來維持。
為達(dá)到這些目標(biāo),基于模型的軟件工程采用一種轉(zhuǎn)換方法,重點(diǎn)討論采用這種轉(zhuǎn)換方法在代碼中添加測(cè)試支持,但該技術(shù)也可應(yīng)用于手工實(shí)現(xiàn)的UML模型。這種轉(zhuǎn)換方法的特點(diǎn)將在下文介紹。
b. 分析模型
分析是針對(duì)問題本身為其建立與實(shí)現(xiàn)無(wú)關(guān)的模型方案的過程。有效的分析模型是嚴(yán)密而完整的,而且與實(shí)現(xiàn)方法無(wú)關(guān)。UML是由OMG定義的一種標(biāo)準(zhǔn)符號(hào),主要用于表達(dá)分析建模。分析過程可以產(chǎn)生:
域(domain)模型:這是一種UML類圖,它將系統(tǒng)分解成獨(dú)立的主題區(qū)域,稱為域。這些域由包和從屬箭頭顯示橋表示,其中后者是域之間的需求流(flow of requirement)??梢詫?duì)域進(jìn)行分析,或者用其它方法開發(fā),如人工編寫的代碼、繼承代碼、從其它源生成、從某個(gè)庫(kù)導(dǎo)入等等。域服務(wù)是組成域接口的方法。由于域?yàn)槟硞€(gè)問題區(qū)定義了完整的規(guī)范,所以可以獨(dú)立對(duì)其測(cè)試,然后再與其它域結(jié)合以便進(jìn)一步測(cè)試。
信息模型:對(duì)于每一個(gè)要分析的域來說,UML類圖可用于定義組成該域結(jié)構(gòu)的類(class)。類之間互相關(guān)聯(lián),還可繼承其它類。
情境(scenario)模型:UML序列表或UML協(xié)作圖捕獲某個(gè)特定域的主要情境,用于表現(xiàn)域服務(wù)(操作)、類服務(wù)(方法)、類事件消息及該域引用的域外服務(wù)之間的相互作用。
狀態(tài)模型:對(duì)于接受事件消息的每一個(gè)類來說,UML狀態(tài)圖可用于捕捉類周期,并定義該類與狀態(tài)有關(guān)的特性。
行為模型:對(duì)于每個(gè)域服務(wù)、類服務(wù)和狀態(tài)行為,都會(huì)生成一個(gè)詳細(xì)而明確的行為描述。這由一種行為語(yǔ)言來表達(dá),這種分析級(jí)“編程”語(yǔ)言提供了完整的分析級(jí)執(zhí)行基元,而不會(huì)影響實(shí)現(xiàn)。用行為語(yǔ)言來表示行為細(xì)節(jié),可以在實(shí)現(xiàn)分析基元的轉(zhuǎn)換階段之前保留極大的自由度,這對(duì)于優(yōu)化至關(guān)重要。
c. 設(shè)計(jì)
設(shè)計(jì)是產(chǎn)生可將分析構(gòu)造映射到運(yùn)行時(shí)間環(huán)境中的策略和機(jī)制的過程。其概念與分析不同,大部分初步設(shè)計(jì)工作可以在與分析活動(dòng)無(wú)關(guān)的情況下進(jìn)行。
d. 轉(zhuǎn)換
轉(zhuǎn)換是用設(shè)計(jì)策略將每一個(gè)要分析域的UML模型映射到實(shí)現(xiàn)的過程。設(shè)計(jì)分兩個(gè)階段進(jìn)行:
結(jié)構(gòu)設(shè)計(jì):識(shí)別系統(tǒng)的執(zhí)行單元(線程/任務(wù)/進(jìn)程),將其分配至處理器,并將域分配至單元。
機(jī)械設(shè)計(jì):開發(fā)將分析映射到實(shí)現(xiàn)的詳細(xì)模式(用模板描述),并建立基本機(jī)制以支持這一實(shí)現(xiàn)。
評(píng)論