您好,登錄后才能下訂單哦!
這篇文章主要介紹了為什么UML很重要,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
UML實踐----UML活動圖、順序圖、狀態圖、協作圖
面向對象的問題的處理的關鍵是建模問題。建模可以把在復雜世界的許多重要的細節給抽象出。許多建模工具封裝了UML(也就是Unified Modeling Language?),這篇課程的目的是展示出UML的精彩之處。
UML中有九種建模的圖標,即:
用例圖
類圖
對象圖
順序圖
協作圖
狀態圖
活動圖
組件圖
配置圖
本課程中的某些部分包含了這些圖的細節信息的頁面鏈接。而且每個部分都有一個小問題,測試一下你對這個部分的理解。
為什么UML很重要?
為了回答這個問題,我們看看建筑行業。設計師設計出房子。施工人員使用這個設計來建造房子。建筑越復雜,設計師和施工人員之間的交流就越重要。藍圖就成為了這個行業中的設計師和施工人員的必修課。寫軟件就好像建造建筑物一樣。系統越復雜,參與編寫與配置軟件的人員之間的交流也就越重要。在過去十年里UML就成為分析師,設計師和程序員之間的“建筑藍圖”。現在它已經成為了軟件行業的一部分了。UML提供了分析師,設計師和程序員之間在軟件設計時的通用語言。
UML被應用到面向對象的問題的解決上。想要學習UML必須熟悉面向對象解決問題的根本原則――都是從模型的建造開始的。一個模型model就是根本問題的抽象。域domain就是問題所處的真實世界。
模型是由對象objects組成的,它們之間通過相互發送消息messages來相互作用的。記住把一個對象想象成“活著的”。對象有他們知道的事(屬性 attributes)和他們可以做的事(行為或操作behaviors or operations)。對象的屬性的值決定了它的狀態state。
類Classes是對象的“藍圖”。一個類在一個單獨的實體中封裝了屬性(數據)和行為(方法或函數)。對象是類的實例instances。
活動圖
UML實踐中活動圖activitydiagram是一個很特別的流程圖。活動圖和狀態圖之間是有關系的。狀態圖把焦點集中在過程中的對象身上,而活動圖則集中在一個單獨過程動作流程。活動圖告訴了我們活動之間的依賴關系。
對我們的例子來說,我們使用如下的過程。
“通過ATM來取錢。”
這個活動有三個類Customer,ATM和Bank。整個過程從黑色圓圈開始到黑白的同心圓結束。活動用圓角矩形表示。
活動圖可以被分解成許多對象泳道swimlanes,可以決定哪些對象負責那些活動。每個活動都有一個單獨的轉移transition連接這其他的活動。
轉移可能分支branch成兩個以上的互斥的轉移。保護表達式(在[]中)表示轉移是從一個分支中引出的。分支以及分支結束時的合并merge在圖中用菱形表示。
轉移也可以分解fork成兩個以上的并行活動。分解以及分解結束時的線程結合join在圖中用粗黑線表示
順序圖
UML實踐中類圖和對象圖是靜態模型的視圖。交互圖是動態的。他們描述了對象間的交互作用。
順序圖將交互關系表示為一個二維圖。縱向是時間軸,時間沿豎線向下延伸。橫向軸代表了在協作中各獨立對象的類元角色。類元角色用生命線表示。當對象存在時,角色用一條虛線表示,當對象的過程處于激活狀態時,生命線是一個雙道線。
消息用從一個對象的生命線到另一個對象生命線的箭頭表示。箭頭以時間順序在圖中從上到下排列。
協作圖
UML實踐中協作圖也是互動的圖表。他們像序列圖一樣也傳遞相同的信息,但他們不關心什么時候消息被傳遞,只關心對象的角色。在序列圖中,對象的角色放在上面而消息則是連接線。
對象角色矩形上標有類或對象名(或者都有)。類名前面有個冒號(:)。
協作圖的每個消息都有一個序列號。頂層消息的數字是1。同一個等級的消息(也就是同一個調用中的消息)有同樣的數字前綴,再根據他們出現的順序增加一個后綴1,2等等。
狀態圖
UML實踐中對象擁有行為和狀態。對象的狀態是由對象當前的行動和條件決定的。狀態圖statechartdiagram顯示出了對象可能的狀態以及由狀態改變而導致的轉移。
我們的模型例圖建立了一個銀行的在線登錄系統。登錄過程包括輸入合法的密碼和個人賬號,再提交給系統驗證信息。
登錄系統可以被劃分為四種不重疊的狀態:GettingSSN,GettingPIN,Validating,以及Rejecting。每個狀態都有一套完整的轉移transitions來決定狀態的順序。
狀態是用圓角矩形來表示的。轉移則是使用帶箭頭的連線表示。觸發轉移的事件或者條件寫在箭頭的旁邊。我們的圖上有兩個自轉移。一個是在GettingSSN,另一個則在上GettingPIN。
初始狀態(黑色圓圈)是開始動作的虛擬開始。結束狀態也是動作的虛擬結束。
事件或條件觸發動作時用(/動作)表示。當進入Validating狀態時,對象并不等外部事件觸發轉移。取而代之,它產生一個動作。動作的結果決定了下一步的狀態。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“為什么UML很重要”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。