余洋
(云南陽光基業能源管控技術股份有限公司,云南昆明 650000)
基于軟件工程的UML建模探討
余洋
(云南陽光基業能源管控技術股份有限公司,云南昆明 650000)
建模屬于系統開發當中最為核心的工作。建模過程中能夠可視化控制系統,以便能夠對所構造的系統進行更好的理解與分析。目前,UML已廣泛應用到信息管理系統開發當中,這基于其是一種有著容易表達以及強大功能的標準建模語言。本文就從UML的概念出發,對UML建模技術做一些詳細分析。
軟件工程 UML 系統建模
UML(Unified Modeling Language)又稱為標準建模語言抑或統一建模語言,是一種對模型化以及軟件系統開發進行支持的圖形化語言,能夠提供給軟件開發每一個階段(需求分析、規格、構造配置)模型化以及可視化的支持。UML既把Booch、Jacobson以及Rumba ugh等三種軟件方法統一起來,又對其作了發展,最終進展為現如今的標準建模語言。UML建模語言本身較為簡單,但是其通用以及可拓展性非常廣泛,因此它能在許多系統建模中適用。
UML是一種可對軟件系統以及模型化進行支持的圖形化語言,可提供給軟件開發中每一個階段模型化以及可視化支持,正是基于這種特點,UML可在系統開發中的每一個階段暢行。其語義以及符號表示均統一,可在標準化建模語言中植根所有項目,以此大大拓寬軟件系統的使用范圍,并使UML使用靈活度得到提高。UML在所有應用領域建模中適用,主要包括大型系統、復雜系統、實時系統、分布式系統以及嵌入式系統;可在不同編程實現語言的以及平臺的開發上應用運行,主要有組織文檔、程序設計語言以及數據庫等,另外,作為建模型語言,UML不是描述開發過程細節的工具,就如通用程序設計語言能夠在多種風格下的程序設計進行應用一樣,UML主要在多數現有的抑或最新出現的開放過程中適用,特別在迭代式增量開發中適用。
UML的組成為圖與元模型,兩者分別為語法與語義。UML主要涵蓋了Things(事物)、Relationships(關系)與Diagrams(圖)等三個基本構造塊。在分析和設計系統模式當中,UML的良好優勢主要從以下幾個方面體現出來:(1)在過程中完全獨立。UML為系統建模語言,它在開發過程中完全獨立。(2)面向對象。UML支持面向對象技術,并且擁有許多表示模型元素的方式,可把面向對象的各種概念簡潔表達出來。(3)容易掌握。UML所囊括的圖形有著清晰的結構,建模非常簡便,掌握起來也比較容易。(4)可視化。UML圖形圖能夠把系統邏輯模型清楚地表示出來,此特征與復雜系統建模非常適合。
在事物集合中,圖是主要分類,UML當中包含了部署圖、順序圖、活動圖、組件圖、類圖、包圖、狀態圖、對象圖和用例圖等10種圖。部署圖主要對系統當中軟件與硬件物理體系結構進行定義;順序圖則把對象間的動態合作關系表示出來;活動圖則對系統當中每一個活動執行順序進行描述;組件圖對物理結構(代碼部件)和所有部件的依賴關系進行描述;類圖則對系統當中含有的類、類之間的關系和其內部結構進行描述;包圖是對包和包之間進行表明的依賴類圖;狀態圖主要對一類對象的狀態和事件發生狀態的轉移條件進行描述;協作圖是對對象間協作關系進行描述;對象圖屬于類圖的具體實例;用例圖是根據用戶角度對系統功能、系統需求進行描述,并把系統外部所有角色和系統內部所有用例間的關系進行展示。事實上,UML的分析過程就是具體應用這些圖。
(1)用例圖。此圖是最基礎的用圖。在需求工程中,需求獲取是主體,主要是對系統模型進行建立,而用例圖就是創建此模型的最好方式。它是通過執行者與被考慮系統間的交互來把這一業務目標實現,在整個系統軟件開發中,此用例模型奠定了基礎。(2)類圖。此圖是表示人、事物以及數據彼此相關的方式;簡而言之就是把系統靜態結構顯示出來。類圖可對邏輯類進行表示,所謂邏輯類就是搖滾樂隊、廣播劇抑或住房抵押、貸款和利率等業務人員所涉及到的事物種類。另外,此圖還可以在表示實現類中使用,所謂實現類就是程序員所處理的實體。相比邏輯類圖,實現類圖或顯示出與之相同的類。但是,實現類圖難以用同樣的屬性進行描述,這是因為實現類圖可能會引用Hash Map以及Vector這種事物。(3)序列圖。此圖主要是把具體用例詳細流程給顯示出來。序列圖屬于自描述的,并且會把流程當中各種對象間的調用關系顯示出來,與此同時,還能夠把不同對象之間的不同調用詳細顯示出來。序列圖有著較為簡單的繪制方式。橫跨圖頂部,每個框把每個類對象表示出來。類實例的名稱以及類名稱間在框中的分隔通過空格/冒號/空格進行,比如,my Report Generator:Report Gen Era tor。若一個類實例發送一條消息到另一類實例中,則會把有著指向接受類實例的開箭頭連線繪制出來,并在連線當中放上消息/方法的名稱。如果某些信息非常重要,可繪制有著指向發起類實例的箭頭虛線,并在虛線上標注返回值。(4)協作圖。Collaboration Diagram為UML1.1時協作圖的英文名字,而Communication Diagram是UML2.0時的英文名字。前者中文名字為協作圖,后者中文名字為通訊圖,兩者共稱之為協作圖。若對序列圖進行了理解,則很容易理解協作圖,在序列圖中,協作圖是其另一種表示方式。序列圖比較注重先后順序,而協作圖則注重相互間關系。序列圖能夠把循環結構以及分支結構畫出來,而協作圖則很難畫出來。在實際工作當中要從實際需求出發來選擇序列圖與協作圖。
自UML正式發布以來,不斷涌現出許多商用UML建模CASE工具。所提供的選擇方式更多,同時也要求要使用正確與科學的UML建模工具來與軟件應用程序開發需求相適應,如Rose和EA等,兩者的功能相似,并且都能夠對UML九種圖的八種提供支持。而在用戶友好型的靈活性上,EA要好一些,特別是在序列圖上。Rose在雙向工程當中比EA所支持的語言多。而EA更適合在項目生命周期支持上適用。
UML可提供給系統整個開發過程靈活性以及易讀性的表達,既對軟件開發的整個過程起著指導作用,又形成了面向對象的建模方式。此方式的廣泛應用,把以往面向對象然間開發方式的核心問題進行了解決,使軟件身后國產率以及重用性得到提高。
[1]蔣衛祥.UML在CRM系統中的建模應用研究[J].電腦開發與應用,2013(09).
[2]張妍,尹曉葉.UML建模在E-Learning系統中的應用研究[J].太原大學學報,2013(04).
[3]王子剛.基于軟件工程的UML建模技術分析[J].科技創新導報,2011(04).
[4]紀兆輝,汪前進,董劍利.基于UML的軟件建模概述[J].科教文匯(上旬刊),2011(08).