2009-12-28 08:29:44 來源:CIO時(shí)代
隨著計(jì)算機(jī)技術(shù)的發(fā)展和大型、復(fù)雜系統(tǒng)軟件項(xiàng)目的開發(fā)需求,必須采取相應(yīng)的技術(shù)手段支持不同階段、背景人員的交流?;隗w系結(jié)構(gòu)框架的可視化建模是目前被廣泛認(rèn)可的解決大型復(fù)雜系統(tǒng)設(shè)計(jì)中存在的諸多問題的一種有效手段。統(tǒng)一建模語言(UnifiedModelLan—guage,UML)是被對象管理組織OMG(0bjectManage—mentGroup)正式采納的可視化建模語言的工業(yè)標(biāo)準(zhǔn)。至今,UML在學(xué)術(shù)界和工業(yè)界已得到普遍認(rèn)可,被廣泛用來進(jìn)行復(fù)雜系統(tǒng)各種成份的可視化描述、說明,以及構(gòu)造系統(tǒng)模型和建立各種所需的文檔等,然而UML只是一種可視化的建模語言,UML只是一種表示的標(biāo)準(zhǔn),UML不是過程和方法,但UML允許任何一種過程和方法使用他。美國國防部體系結(jié)構(gòu)框架(Dept.ofDefenseAr—chitecturework,DoDAF)給出了系統(tǒng)設(shè)計(jì)過程中體系結(jié)構(gòu)模型的描述規(guī)則和指南,但他沒有給出具體的系統(tǒng)設(shè)計(jì)方法和建模過程。為此,本文在分析UML對DoDAF模型支持的基礎(chǔ)上,結(jié)合面向過程中功能分解和面向?qū)ο笾幸詥栴}域中的事物為研究對象的思想,提出一種基于DoDAF的系統(tǒng)建模方法,并結(jié)合實(shí)例展示了建模過程。
1UML對DoDAF模型的支持
1.1DoDAF簡述
美國國防部(DoD)于2004年2月頒布了《DoD體系結(jié)構(gòu)框架》的1.0版本,用于指導(dǎo)國防指揮控制系統(tǒng)和商業(yè)運(yùn)作過程的體系結(jié)構(gòu)描述。DoDAFE提出了體系結(jié)構(gòu)描述的3個(gè)視圖:運(yùn)作視圖(OperationalView)、系統(tǒng)視圖(SystemsView)和技術(shù)視圖(TechnicalStandardsView),并給出相應(yīng)的26個(gè)描述性產(chǎn)品,分別從不同角度共同描述系統(tǒng)體系結(jié)構(gòu)的構(gòu)建和發(fā)展。對于特定的任務(wù)需求,DoDAF模型從不同角度闡述了系統(tǒng)設(shè)計(jì)中必須遵循的描述規(guī)范,包括:產(chǎn)品名稱、內(nèi)容以及產(chǎn)品的開發(fā)、分析、比較與集成,力圖以統(tǒng)一的系統(tǒng)設(shè)計(jì)語言,產(chǎn)品名稱,數(shù)據(jù)單元和數(shù)據(jù)模型,防止系統(tǒng)設(shè)計(jì)中因不同描述所造成的錯(cuò)誤理解和“煙囪式”重復(fù)建設(shè),以有利于實(shí)現(xiàn)系統(tǒng)間共享信息的一致性,實(shí)現(xiàn)基于系統(tǒng)互操作性的復(fù)雜系統(tǒng)集成優(yōu)勢。
1.2UML對DoDAF模型的支持
UML2.0加強(qiáng)了對結(jié)構(gòu)化建模能力的支持,比如結(jié)構(gòu)化類表現(xiàn)系統(tǒng)的結(jié)構(gòu)更加清晰直觀,功能模塊化更好,端口語義的引入,提高了組件化的表現(xiàn)能力。結(jié)構(gòu)化類更好地表現(xiàn)模塊的相關(guān)特征,復(fù)合結(jié)構(gòu)圖更好地表現(xiàn)模塊的結(jié)構(gòu)特征。結(jié)構(gòu)化建模能力的加強(qiáng)更有利于表示系統(tǒng)結(jié)構(gòu)單元分解,包括運(yùn)作節(jié)點(diǎn)分解到運(yùn)作單元,系統(tǒng)節(jié)點(diǎn)分解到系統(tǒng)單元及系統(tǒng)組件,是DoDAF模型OV-2,SV-1和SV-2的有效圖形描述。
在模型的動態(tài)方面,UML2.0中的活動圖提供了更強(qiáng)的數(shù)據(jù)流的語義,可以用活動圖描述業(yè)務(wù)流程。帶數(shù)據(jù)流的活動圖,以及活動圖的分層和多維泳道的采用滿足DoDAF模型中OV-5和SV-4對功能分析描述的需要。在時(shí)序圖方面,應(yīng)用參考可以使時(shí)序圖模塊化,利用這個(gè)機(jī)制可以描述頂層的交互概覽圖,以及建立更加復(fù)雜的時(shí)序圖,支持OV-6c和SV-10c。狀態(tài)機(jī)圖中引入入點(diǎn)和出點(diǎn)作為與外部的交互點(diǎn),狀態(tài)機(jī)提高了狀態(tài)機(jī)的封裝能力,為OV-6b和SV-10b提供強(qiáng)有力的模擬驗(yàn)證支持。表1描述UML對DoDAF中部分模型的圖形化支持。
2 基于DoDAF的建模過程
2.1基本思想
基于DoDAF的建模過程的基本思想是:將整個(gè)系統(tǒng)模型的構(gòu)建劃分為若干階段進(jìn)行,每一階段分別側(cè)重解決不同的建模問題,分別在不同的抽象層次、以不同的粒度對系統(tǒng)模型進(jìn)行描述,由此保證系統(tǒng)模型可以由粗略到詳細(xì)逐步推進(jìn),從而減小系統(tǒng)模型設(shè)計(jì)的難度、復(fù)雜度以及風(fēng)險(xiǎn);明確定義每一階段的實(shí)施步驟,使整個(gè)系統(tǒng)建模過程更為透明,更容易被理解和實(shí)施;為每個(gè)階段設(shè)置明確的結(jié)束準(zhǔn)則,組織對系統(tǒng)模型的階段性評審,以有利于問題的及早發(fā)現(xiàn)和解決,而不僅是在整個(gè)設(shè)計(jì)完成后才一次性進(jìn)行分析和驗(yàn)證。
2.2建模過程
根據(jù)系統(tǒng)架構(gòu)過程,建模過程從主題系統(tǒng)的范圍、目的、預(yù)計(jì)用戶和運(yùn)作環(huán)境人手,采用大粒度的系統(tǒng)分解,通過分析不同層次的場景,抽象出實(shí)現(xiàn)系統(tǒng)功能的類及對象,建立系統(tǒng)模型。系統(tǒng)模型的創(chuàng)建順序如下圖1所示。整個(gè)建模過程大致分為4個(gè)階段:
(1)創(chuàng)建運(yùn)作分析模型。通過主題系統(tǒng)使命和相關(guān)知識領(lǐng)域信息收集,生成全視圖的描述(AV-1)。對主題系統(tǒng)和重要用例的分析,創(chuàng)建高層運(yùn)作概念模型(OV-1),確定該系統(tǒng)交互的外部系統(tǒng)和組織實(shí)體(即參與者或角色),完成場景需求,建立帶有簡單的對象流(消息)活動模型(OV-5),以及影響活動的運(yùn)作規(guī)則(OV-6a);在不同的活動場景中,識別出運(yùn)作節(jié)點(diǎn),通過類圖獲取,建立運(yùn)作節(jié)點(diǎn)連接描述(OV-2);分析OV-1中用例場景的涉眾(節(jié)點(diǎn)),定義交互消息(OV-3),著重于運(yùn)作節(jié)點(diǎn)通過消息與主題系統(tǒng)交互的時(shí)序圖(OV-6c)表現(xiàn)用例的外部可見行為,而當(dāng)這些行為是事件驅(qū)動時(shí),用狀態(tài)圖建模(OV-6b)可以對理解該行為特別有用,而事件追蹤的模擬仿真需要邏輯數(shù)據(jù)的支持,從而創(chuàng)建邏輯數(shù)據(jù)(OV-7);根據(jù)運(yùn)作節(jié)點(diǎn)(OV-2)的關(guān)系建立組織關(guān)系模型(OV-4)。本階段以O(shè)V-1驅(qū)動,OV-5為過程,OV-2為核心,OV-6a/b/c提供驗(yàn)證體制,循環(huán)往復(fù)逐步增加完善運(yùn)作模型。
在本階段的第一次迭代中,首先是利用知識域和關(guān)鍵場景,采用面向過程的方法,進(jìn)行系統(tǒng)分解,創(chuàng)建頂層概要模型。實(shí)踐證明,對較為復(fù)雜的系統(tǒng)進(jìn)行功能分解,將系統(tǒng)分解為強(qiáng)內(nèi)聚、松耦合的功能模塊,是降低系統(tǒng)建模復(fù)雜度的一個(gè)有效方法。需要再分解為自治的子系統(tǒng),最后分解為層(也可以稱為子系統(tǒng))。注意功能分解必須與面向?qū)ο蠹夹g(shù)緊密結(jié)合,以免陷入功能的過分分解和結(jié)構(gòu)化設(shè)計(jì)的歧途。在后續(xù)的迭代建模中,逐步添加細(xì)節(jié),遵循自頂向下、逐層細(xì)化的設(shè)計(jì)過程。
(2)創(chuàng)建需求分析模型。主要創(chuàng)建的模型是系統(tǒng)功能性描述模型(SV-4)和系統(tǒng)功能可追溯性矩陣的運(yùn)作活動[newpage] (3)創(chuàng)建功能分析模型。主要創(chuàng)建的模型有系統(tǒng)接口描述(SV-1)、系統(tǒng)規(guī)則模型(SV-10a),系統(tǒng)狀態(tài)轉(zhuǎn)換描述(SV-10b),系統(tǒng)時(shí)間跟蹤描述(SV-10c),系統(tǒng)信息交換矩陣(SV-6),系統(tǒng)性能參數(shù)矩陣(SV-7)和物理數(shù)據(jù)模型(SV-11)。通過對SV-4分析以及OV-2模型,用含有類、位置和接口的類圖描述系統(tǒng)、系統(tǒng)節(jié)點(diǎn)和存在于他們內(nèi)部及其間的接口,產(chǎn)生SV-1,對系統(tǒng)進(jìn)行邏輯分解并將邏輯功能分配的物理組件上,同時(shí)可以對功能進(jìn)行動態(tài)描述,以及由OV-6a/b/c到SV-10a/b/c的映射。本階段以SV-1的創(chuàng)建為核心,SV-6和SV-11為其提供數(shù)據(jù)支持,SV-10a/b/c為其提供驗(yàn)證機(jī)制。
第四階段:創(chuàng)建系統(tǒng)實(shí)現(xiàn)模型。進(jìn)一步完善SV-1,SV-6和SV-11,重點(diǎn)創(chuàng)建系統(tǒng)通信模型(SV-2)和系統(tǒng)矩陣(SV-3)。在實(shí)現(xiàn)公共接口邏輯和物理透視圖一致建模的基礎(chǔ)上,用復(fù)合結(jié)構(gòu)圖和部署圖為物理節(jié)點(diǎn)及其相關(guān)的通信基礎(chǔ)構(gòu)架建模,產(chǎn)生SV-2;為整個(gè)架構(gòu)模型中的系統(tǒng)和子系統(tǒng)之間的關(guān)系建模產(chǎn)生SV-3。在系統(tǒng)實(shí)現(xiàn)模型的基礎(chǔ)上的,可用進(jìn)行系統(tǒng)演進(jìn)描述(SV-8)和系統(tǒng)技術(shù)預(yù)測(SV-9),以及進(jìn)一步的技術(shù)架構(gòu)概要(TV-1)和技術(shù)標(biāo)準(zhǔn)預(yù)測(TV-2)。
需要說明的是,這4個(gè)階段在實(shí)際應(yīng)用中具有典型的代表性,但卻不是每個(gè)階段的模型都要全部創(chuàng)建,應(yīng)根據(jù)系統(tǒng)的規(guī)模和表現(xiàn)方面的具體情況而定。在實(shí)踐中,整個(gè)建模過程將呈現(xiàn)多次迭代性,在每次模型構(gòu)建迭代結(jié)束之前,應(yīng)組織對這一迭代的系統(tǒng)模型進(jìn)行評審,評審的目的是對系統(tǒng)滿足功能和質(zhì)量需求的潛在可能性做出評價(jià)。
3 基于DoDAF的超市購物系統(tǒng)建模分析
超市購物系統(tǒng)主要功能是通過有關(guān)設(shè)備完成顧客與超市的商品交易活動。根據(jù)面向過程思想所需要系統(tǒng)實(shí)現(xiàn)的業(yè)務(wù)為確認(rèn)商品信息和收款交易,到頂層用例模型(OV-1),識別出主題主體系統(tǒng)以及參與的角色和主要的業(yè)務(wù)場景,如圖2所示。通過活動圖描述(OV-5),進(jìn)行運(yùn)作節(jié)點(diǎn)(OV-2)設(shè)計(jì),運(yùn)用動態(tài)模型(OV-6)和數(shù)據(jù)(OV-3)交互,逐步完善運(yùn)作模型,同時(shí)生成(OV-7)。著重討論OV-5和OV-2的創(chuàng)建。
首先將用例作為實(shí)體,分析其場景及完成的活動。確認(rèn)商品信息具體活動還包括讀取商品信息、計(jì)算商品總價(jià)和顯示商品信息與總價(jià),而活動是有具體的運(yùn)作節(jié)點(diǎn)參與,讀取商品信息由電子標(biāo)簽閱讀器完成,計(jì)算總價(jià)由終端處理設(shè)備完成,顯示商品信息和總價(jià)由顯示器來完成。付款交易活動應(yīng)包括確認(rèn)帳號、購物交易和交易完成,然后根據(jù)這些活動可進(jìn)一步分解,如確認(rèn)帳號要求顧客提供帳號并檢查其有效性,購物交易包括處理交易的商品信息和刷新帳底等,交易完成時(shí)應(yīng)打印發(fā)票,同時(shí)提示顧客交易完成。整個(gè)運(yùn)作活動可以分層細(xì)化,逐步細(xì)分,可以用帶有分層的活動圖表示。如圖3所示確認(rèn)商品信息的活動圖。
經(jīng)過活動流程的分析,參與交互的運(yùn)作節(jié)點(diǎn)、連通性和信息流逐步明顯,通過抽象分析得出功能單元即節(jié)點(diǎn),用帶接口類圖和復(fù)合結(jié)構(gòu)圖來表示,各節(jié)點(diǎn)能完成獨(dú)立的計(jì)算單元通過接口與其他節(jié)點(diǎn)進(jìn)行信息交互,信息包括信息流和控制流,經(jīng)過分析得到的運(yùn)作節(jié)點(diǎn)如圖4所示。其中信息處理節(jié)點(diǎn)作為復(fù)合結(jié)構(gòu)還可以進(jìn)一步分解為信息的計(jì)算單元和信息的存儲單元,銀行系統(tǒng)作為一個(gè)外部系統(tǒng),只提供有關(guān)的功能接口即可。
在OV-2的創(chuàng)建過程中,各節(jié)點(diǎn)的信息傳遞,可以通過時(shí)序圖進(jìn)行描述不同的用例場景逐步明確,通過狀態(tài)機(jī)圖進(jìn)行模擬驗(yàn)證,完成信息機(jī)制,建立數(shù)據(jù)模型。每一步都有相應(yīng)OV模型產(chǎn)生,從而使整個(gè)的建模過程成為一個(gè)相互驗(yàn)證逐步遞增的整體。高質(zhì)量的運(yùn)作模型可以為需求分析模型創(chuàng)建提供有效的輸入,需求分析模型是運(yùn)作分析模型到功能分析模型的過渡,至此功能分析模型經(jīng)過運(yùn)作分析模型和功能分析模型的映射初步明確形成,然后創(chuàng)建系統(tǒng)的實(shí)現(xiàn)模型,包括部署等。注意系統(tǒng)模型的建立是一個(gè)循環(huán)迭代的過程,隨著對信息的獲取更加廣泛與深入,系統(tǒng)模型的建立逐步演進(jìn)和完善。
4結(jié)語
本文給出基于DoDAF的系統(tǒng)建模過程,充分利用UML靜態(tài)和動態(tài)建模機(jī)制的特點(diǎn),使用UML從系統(tǒng)需求說明開始基于體系結(jié)構(gòu)框架的基礎(chǔ)上逐層逐步為系統(tǒng)進(jìn)行建模。采用統(tǒng)一建模語言,基于體系結(jié)構(gòu)框架的系統(tǒng)建模在不同的階段可分別獲得關(guān)于系統(tǒng)不同層次、具有不同細(xì)節(jié)程度的模型,滿足不同人員從不同層次了解系統(tǒng)的需要,并有利于系統(tǒng)不同層次模型的重用。實(shí)踐證明,尤其是對于大型復(fù)雜系統(tǒng),運(yùn)用簡單明了的UML可視化圖形基于體系結(jié)構(gòu)框架模型從不同角度將復(fù)雜系統(tǒng)表示出來,不僅可以為系統(tǒng)的分析、設(shè)計(jì)、維護(hù)及擴(kuò)展提供有利的條件,還可提高系統(tǒng)的可重用性和可維護(hù)性,具有廣泛的應(yīng)用前景。
免責(zé)聲明:本網(wǎng)站(http://www.www.gypb.net/)內(nèi)容主要來自原創(chuàng)、合作媒體供稿和第三方投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
本網(wǎng)站刊載的所有內(nèi)容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權(quán)歸原作者所有。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),請及時(shí)通知本站,予以刪除。
