UML建模建模原理及UML組成簡介
本節(jié)向大家介紹一下UML建模方面的內(nèi)容,主要包括UML建模原理和UML概念簡介,歡迎大家一起來學習,希望通過本節(jié)的介紹,大家對UML建模原理有一定的了解。
UML學習筆記
1.UML建模
1.1為什么要建模
建立大廈和建立狗窩的區(qū)別是建設狗窩不需要設計。要生產(chǎn)合格的軟件就要有一套關于體系結(jié)構(gòu)、過程和工具的規(guī)范。
建模的定義:建模是對現(xiàn)實的簡化。
建模的目標:
1)模型幫助我們按照實際情況或按照我們所需要的樣式對系統(tǒng)進行可視化。
2)模型允許我們詳細說明系統(tǒng)的結(jié)構(gòu)和行為。
3)模型給出一個知道我們構(gòu)造系統(tǒng)的模板。
4)模型對我們的決策進行文檔化。
建模就是把復雜的系統(tǒng)變成小的系統(tǒng),采用“各個擊破”的原則逐一解決。
1.2UML建模原理
1)選擇創(chuàng)建什么模型很重要,模型要反映你難于處理的開發(fā)問題。
2)模型要在不同的精度級別上來表示。你可以根據(jù)觀察的角色和觀察的原因來選擇精度。
3)建造模型要和現(xiàn)實相連。
4)重要的系統(tǒng)需要用一組獨立的模型去處理。在面向?qū)ο蟮能浖w系中,為了理解系統(tǒng)的體系結(jié)構(gòu),你需要幾個互補和連鎖的視圖:用例圖、設計視圖、進程視圖、實現(xiàn)視圖和實施視圖。
1.3面向?qū)ο蟮腢ML建模
面向算法的建模在需求發(fā)生變化或者系統(tǒng)增長后就變得難以維護。
面向?qū)ο蟮慕0褜ο蠛皖愖鳛槠渲饕獦?gòu)造塊。例如,在三層結(jié)構(gòu)中,我們可以在用戶接口層、中間層和數(shù)據(jù)庫層中找到你想要的對象。
2UML介紹
2.1概述
UML可以對軟件密集型系統(tǒng)的制品進行可視化、詳述、構(gòu)造和文檔化。***把它用于以用況(用例)為驅(qū)動、以體系結(jié)構(gòu)為中心、跌代及增量的過程中。
UML是一種語言,它是一種可視化的語言,它是一組圖形符號。它可用于詳細描述。它又是一種構(gòu)造語言,可以直接生成代碼。用RationalXDE就可以實現(xiàn)從UML到C#,或者從C#到UML的雙向工程。
2.2UML的概念模型
學習UML建模的三個要素:UML的基本構(gòu)造塊、這些構(gòu)造塊放在一起的規(guī)則、一些運用于整個UML的公共機制。
UML中由一些四種事物
1)結(jié)構(gòu)事物---類、接口、協(xié)作(它是一個交互,它是由一組共同工作以提供某協(xié)作行為的角色和其它元素構(gòu)成的一個群體。)、用例、主動類(至少擁有一個進程或者線程,其元素的行為可以和其它元素的行為并發(fā))、構(gòu)件(如COM+和JavaBean)、節(jié)點。
2)行為事物---交互、狀態(tài)機(描述了一個對象或者一個交互在生命期內(nèi)響應事件所經(jīng)歷的狀態(tài)序列)。
3)分組事物---包
4)注釋事物---注解
UML中的四種關系
1)依賴---兩個事物間的語義關系
2)關聯(lián)---是一種結(jié)構(gòu)關系,如聚合
3)泛化---一般/特殊關系
4)實現(xiàn)---用在兩種地方:接口和實現(xiàn)他們之間的類和構(gòu)件之間;用例和實現(xiàn)他們的協(xié)作之間。
UML建模中的圖
1)類圖---系統(tǒng)的靜態(tài)狀態(tài)圖,包含主動類的類圖給除系統(tǒng)的靜態(tài)進程視圖。
2)對象圖
3)用例圖
4)順序圖
5)協(xié)作圖
6)狀態(tài)圖
7)活動圖---強調(diào)對象間的控制流程
8)構(gòu)件圖
9)實施圖
2.3體系結(jié)構(gòu)
我們用5個互聯(lián)的視圖來描述軟件密集型系統(tǒng)的體系結(jié)構(gòu):
1)系統(tǒng)的用例圖
2)系統(tǒng)的設計視圖---靜態(tài)方面由類圖和對象圖描述,動態(tài)方面由交互圖、狀態(tài)圖和活動圖描述。
3)系統(tǒng)的進程視圖---包含了形成系統(tǒng)并發(fā)和同步機制的線程和進程。
4)系統(tǒng)的實現(xiàn)視圖---主要針對系統(tǒng)發(fā)布的配置管理。
5)系統(tǒng)的實施視圖
2.4軟件開發(fā)生命周期
用況驅(qū)動
以體系結(jié)構(gòu)為中心
跌代過程---涉及到一連串可執(zhí)行發(fā)布的管理。
軟件開發(fā)生命周期的四個階段:
初始
細化
構(gòu)造
移交。本節(jié)有關UML建模方面的知識就介紹到這里。
【編輯推薦】