全面認識UML建模過程
UML統(tǒng)一建模語言相信大家有所了解,那么對UML建模過程你是否熟悉呢,這里向大家介紹一下UML建模過程,相信通過本文的介紹大家對UML建模過程有一定的認識。
UML建模過程
UML是一種建模語言而不是方法,這是因為UML中沒有過程的概念,而過程正是方法的一個重要組成部分。UML本身獨立于過程,這意味著用戶在使用UML進行建模時,可以選用任何適合的過程。過程的選用與軟件開發(fā)過程的不同因素有關(guān),諸如所開發(fā)軟件的種類(如實時系統(tǒng)、信息系統(tǒng)和桌面產(chǎn)品)、開發(fā)組織的規(guī)模(如單人開發(fā)、小組開發(fā)和團隊開發(fā))等。用戶將根據(jù)不同的需要選用不同的過程。然而,使用UML建模仍然有著大致統(tǒng)一的過程框架,該框架包含了UML建模過程中的共同要素,同時又為用戶選用與其所開發(fā)的工程相適合的建模技術(shù)提供了很大的自由度。
1.UML建模過程高層視圖
圖2是UML建模過程的一個高層視圖。這是一個迭代遞增的開發(fā)過程。使用此方法,不是在項目結(jié)束時一次性提交軟件,而是分塊逐次開發(fā)和提交。構(gòu)造階段由多次迭代組成,每一次迭代都包含編碼、測試和集成,所得產(chǎn)品應(yīng)滿足項目需求的某一子集,或提交給用戶,或純粹是內(nèi)部提交。每次迭代都包含了軟件生命周期的所有階段。同時,每次迭代都要增加一些新的功能,解決一些新的問題。
因此,首先要做的工作是:選擇一些功能點,然后完成這些功能;之后再選擇別的功能點,如此循環(huán)往復(fù)。前兩個階段是初始(Inception)和細化(Elaboration)階段。在初始階段,需要考慮項目的效益,并確定項目的范圍。這一階段需要與項目出資方進行討論。在細化階段,需要收集更為詳細的需求,進行高層分析和設(shè)計,并為構(gòu)造階段制定計劃。運用這種迭代開發(fā)過程時,還有一些工作(如β測試、性能調(diào)試和用戶培訓(xùn)等)要放到最后的移交階段(Transition)中進行。
事實上,涉及實際建模工作的微過程存在于上述的每次迭代中。迭代式開發(fā)是項目成功的重要保證。
2.實際UML建模過程
每次迭代都分為以下幾個階段:
分析階段 建模的目的是捕捉系統(tǒng)的功能需求,分析、提取所開發(fā)系統(tǒng)的"客觀世界"領(lǐng)域的類以及描述它們的合作概貌。
設(shè)計階段 建模的目的是通過考慮實現(xiàn)環(huán)境,將分析階段的模型擴展和轉(zhuǎn)化為可行的技術(shù)實現(xiàn)方案。
實現(xiàn)階段 具體工作就是進行編碼,同時對已構(gòu)造的模型作相應(yīng)的修正。
配置階段 通過模型描述所開發(fā)系統(tǒng)的軟硬件配置情況。
測試階段 使用前幾個階段所構(gòu)造的模型來指導(dǎo)和協(xié)助測試工作。#p#
在系統(tǒng)開發(fā)的不同階段,使用UML為系統(tǒng)建模,可以通過建立不同的模型,從不同的視角,以不同的詳略程度對系統(tǒng)進行描述。下面以一個商業(yè)管理信息系統(tǒng)的開發(fā)過程為例,具體介紹UML建模的實際過程:
(1)需求
最初版本商業(yè)MIS的正文需求規(guī)格說明應(yīng)當(dāng)由代表系統(tǒng)最終用戶的人員提供,內(nèi)容包括系統(tǒng)基本功能需求和對計算機系統(tǒng)的要求。大致描述如下:
◆它是一個商業(yè)支持系統(tǒng);
◆采購員采購所需的商品;
◆保管員將采購的商品登記入庫;
◆調(diào)撥員將庫存商品調(diào)撥到相應(yīng)的銷售部門;
◆銷售部門銷售商品;
◆統(tǒng)計部門核算商場經(jīng)營狀況;
◆系統(tǒng)能運行于通用的技術(shù)環(huán)境(如Unix、Windows等)中,具有良好的圖形用戶界面
◆系統(tǒng)容易維護,便于功能擴充。
由于基于UML的系統(tǒng)開發(fā)采取增量和迭代方式,商業(yè)MIS的初始版本僅需要完成系統(tǒng)的最基本功能(基本業(yè)務(wù)),而其他功能的實現(xiàn)(如商品移管、電子訂貨、電子支付、網(wǎng)絡(luò)銷售等)則在以后的版本中完成。
(2)分析
分析的任務(wù)是找出系統(tǒng)的所有需求并加以描述,同時建立模型,以定義系統(tǒng)中的關(guān)鍵領(lǐng)域類,應(yīng)由系統(tǒng)用戶和開發(fā)人員合作完成。這一階段不要拘泥于設(shè)計細節(jié)和技術(shù)方案。
需求分析
UML建模過程中需求分析的第一步是定義用例,以描述所開發(fā)系統(tǒng)的外部功能需求。用例分析包括閱讀和分析需求說明,此時需要與系統(tǒng)的潛在用戶進行討論。用例模型的主要構(gòu)件是用例、角色和系統(tǒng)邊界。用例用于描述每個功能需求,系統(tǒng)邊界用于界定系統(tǒng)功能范圍,而角色用于描述與系統(tǒng)功能有關(guān)的外部實體,它可以是用戶,也可以是外部系統(tǒng)。
在本實例中,通過分析,先確認商業(yè)MIS中的角色有銷售人員、庫存人員、采購人員、輔助人員和分析人員。在此基礎(chǔ)上,確認用例。商業(yè)MIS的用例有訂貨采購、庫存管理、商品銷售、統(tǒng)計分析、系統(tǒng)維護(包括增加商品、取消商品、制作標(biāo)簽、價格變更、取消或更新標(biāo)簽)。如圖3所示。
除了用用例圖描述系統(tǒng)需求外,還可以用文字(或活動圖)對每個用例進行需求說明,更具體地描述該用例與角色的交互。例如我們可以描述訂貨采購用例的需求說明如下:
◆如果是新商品:
a.新商品登記;
b.采購進貨;
c.登記入庫。
◆如果商品庫存不足:
a.采購進貨;
b.登記入庫。
訂貨采購需求可以用活動圖來描述,如圖4所示。由于用例的需求說明直接影響到后續(xù)設(shè)計階段對類的操作的定位,因此,用例的需求說明應(yīng)當(dāng)盡量全面、準(zhǔn)確。
值得說明的是,絕大多數(shù)用例可以在系統(tǒng)需求分析階段確定,但隨著系統(tǒng)的進展,可能會發(fā)現(xiàn)更多的用例,甚至?xí)l(fā)現(xiàn)前面定義的用例存在不夠確切或錯誤的地方,需要重新修改。因此,在整個系統(tǒng)開發(fā)過程中,都應(yīng)當(dāng)時刻關(guān)注用例。
特定領(lǐng)域分析
分析階段的另一項工作是特定領(lǐng)域分析,以列出系統(tǒng)中的特定領(lǐng)域類。我們可以通過閱讀規(guī)格說明、用例以及尋找系統(tǒng)處理的"概念"來進行特定領(lǐng)域分析,也可以通過用戶和領(lǐng)域?qū)<业挠懻?以識別出要處理的所有關(guān)鍵類及它們的相互關(guān)系。這里的特定領(lǐng)域是指具體的商業(yè)領(lǐng)域,而不是整個系統(tǒng)領(lǐng)域。
在本實例中,可以確定商業(yè)MIS中的特定領(lǐng)域類為商品、保質(zhì)商品、非保質(zhì)商品、物品、銷售、訂貨、庫存、廠商,并使用類圖來描述系統(tǒng)領(lǐng)域類及其關(guān)系。
需要強調(diào)的是,這一階段對特定領(lǐng)域類的描述具有一定的素描性質(zhì),也就是說特定領(lǐng)域類的操作和屬性不一定與最終實現(xiàn)時的定義一致。因為此時還沒有涉及到系統(tǒng)功能的具體實現(xiàn),不可能準(zhǔn)確、完整地定義它們。有一些操作需要在設(shè)計階段細化時才能確定。
此外,為了描述領(lǐng)域類的動態(tài)行為,可以使用UML中的任何一種動態(tài)圖(如順序圖、活動圖、合作圖、狀態(tài)圖)。本階段的各動態(tài)圖都具有素描性質(zhì),主要是為了協(xié)助對領(lǐng)域類及其相互關(guān)系的分析,為下一階段的具體設(shè)計打下基礎(chǔ)。
UML建模是很靈活的過程,使用者不必面面俱到地畫出各種圖。對于每一幅圖,只有在必要時(比如能幫助分析、設(shè)計、指導(dǎo)編碼、加深理解、促進交流等)才需要畫出,這樣的圖對建模才有意義,否則會浪費精力而事倍功半。本節(jié)UML建模過程就介紹到這里。
【編輯推薦】
- UML建模過程中如何進行設(shè)計 實現(xiàn) 測試和配置
- UML建模過程中需要注意要點專家提醒
- 專家指導(dǎo) UML建模分析步驟
- UML建模時需要注意的四大問題
- 經(jīng)驗總結(jié) UML建模過程中有哪些要點需注意?