利用visio在软件开发中各种图
UML--示范.(用例圖、類圖、序列圖、時序圖、包圖....)
2010-12-19 14:39
|
|
?
UML提供9種視圖:類圖、對象圖,用例圖,序列圖、協作圖,狀態圖、活動圖,構件圖和部署圖。
2011-04-20 21:38
| UML設計的9種圖例概論 1、用例圖? 描述角色以及角色與用例之間的連接關系。 說明的是誰要使用系統,以及他們使用該系統可以做些什么。 一個用例圖包含了多個模型元素, 如系統、參與者和用例,并且顯示了這些元素之間的各種關系,如泛化、關聯和依賴。 2、類圖? 類圖是描述系統中的類,以及各個類之間的關系的靜態視圖。 能夠讓我們在正確編寫代碼以前對系統有一個全面的認識。 類圖是一種模型類型,確切的說,是一種靜態模型類型。 3、對象圖? ????與類圖極為相似,它是類圖的實例,對象圖顯示類的多個對象實例,而不是實際的類。它描述的不是類之間的關系,而是對象之間的關系。 4、活動圖? 描述用例要求所要進行的活動,以及活動間的約束關系, 有利于識別并行活動。 能夠演示出系統中哪些地方存在功能, 以及這些功能和系統中其他組件的功能如何共同滿足前面使用用例圖建模的商務需求。 5、狀態圖? 描述類的對象所有可能的狀態,以及事件發生時狀態的轉移條件。 可以捕獲對象、子系統和系統的生命周期。 他們可以告知一個對象可以擁有的狀態, 并且事件(如消息的接收、時間的流逝、錯誤、條件變為真等)會怎么隨著時間的推移來影響這些狀態。 一個狀態圖應該連接到所有具有清晰的可標識狀態和復雜行為的類; 該圖可以確定類的行為,以及該行為如何根據當前的狀態變化,也可以展示哪些事件將會改變類的對象的狀態。狀態圖是對類圖的補充。 6、序列圖(順序圖)? 序列圖是用來顯示你的參與者如何以一系列順序的步驟與系統的對象交互的模型。 順序圖可以用來展示對象之間是如何進行交互的。 順序圖將顯示的重點放在消息序列上,即強調消息是如何在對象之間被發送和接收的。 7、協作圖? 和序列圖相似,顯示對象間的動態合作關系。 可以看成是類圖和順序圖的交集,協作圖建模對象或者角色,以及它們彼此之間是如何通信的。 如果強調時間和順序,則使用序列圖; 如果強調上下級關系,則選擇協作圖; 這兩種圖合稱為交互圖。 8、構件圖?(組件圖) 描述代碼構件的物理結構以及各種構建之間的依賴關系。 用來建模軟件的組件及其相互之間的關系,這些圖由構件標記符和構件之間的關系構成。在組件圖中,構件時軟件單個組成部分,它可以是一個文件,產品、可執行文件和腳本等。 9、部署圖?(配置圖) 是用來建模系統的物理部署。 例如計算機和設備,以及它們之間是如何連接的。 部署圖的使用者是開發人員、系統集成人員和測試人員。 幾種圖的區別: 一:這九種模型圖各有側重 1:用例圖側重描述用戶需求, 2:類圖側重描述系統具體實現; 二:描述的方面都不相同 1:類圖描述的是系統的結構, 2:序列圖描述的是系統的行為; 三:抽象的層次也不同 1:構件圖描述系統的模塊結構,抽象層次較高, 2:類圖是描述具體模塊的結構,抽象層次一般, 3:對象圖描述了具體的模塊實現,抽象層次較低。 在有的文獻書籍中,將這九種模型圖分為三大類: 結構分類、動態行為和模型管理: 1:結構分類包括用例圖、類圖、對象圖、構件圖和部署圖, 2:動態行為包括狀態圖、活動圖、順序圖和協作圖, 3:模型管理則包含類圖。 畫圖說明 UML(統一建模語言):是面向對象的可視化建模的一種語言。 是數據庫設計過程中,在E-R圖(實體-聯系圖)的設計后的進一步建模。 UML中有3種構造塊: 事物、關系和圖,事物是對模型中最具有代表性的成分的抽象; 關系是把事物結合在一起; 圖聚集了相關的的事物。 具體關系圖標如下:? 說明: 構件事物是名詞,是模型的靜態部分。 行為事物是動態部分,表示行為。 分組事物是組織部分。 注釋事物是解釋部分。? 依賴:一個事物變化會引起另一個事物變化。 聚集:特殊的關聯,描述整體與部分的組合關系。 泛化:是一種特殊與一般的關系,如子元素(特殊)與父元素(一般),箭頭指向父元素。 實現:類元之間的關系,其中一個類元指定了由另一個類元保證執行的契約。 一般用在接口和實現他們的類之間或用例和實現它們的協作之間。 ? 1.?類(Class):?表示對某種對象的封裝。具體表示如下圖, ???最上面一格代表類名,斜體表示該類為抽象類;第二格表示該類的特性,就是常說的字段和屬性;第三格表示類的操作, 即方法和行為。前面的+號表示public,-表示private,#表示protected。 2.?接口(Interface):?是指一系列方法的聲明,沒有實現,實現該接口的類負責實現該接口的方法。 ???? ??其中,最上面一格表示接口名稱,第二格表示該接口定義的一些方法。 3.?繼承(Inheritance):是指使用已存在的類的定義作為基類,可以增加新的數據或新的功能,也可以用父類的功能,但不能選擇性地繼承父類。具體表示方法是空心三角形+實線。 ?????? ????當然,Java語言中為了實現類似C++的多繼承機制,還有個實現(Implements)接口的類圖,具體表示方法是空心三角形+虛線或者下圖的棒棒糖表示法。 ??????? 4.關聯(Association): 當一個類需要“知道”另一個類時,就可以用關聯來表示, 使用實線箭頭來表示。 ??????? 5.聚合(Aggregation):是一種弱的“擁有”關系, 相當于包含,但不是其中的一部分, 以便和合成區分開來,使用空心菱形+實線箭頭來表示。 ????? 6.合成(Composition): 也叫組合,是一種強的“擁有關系”,體現的是一種局部和整體的關系, 其生命周期和整體一樣,使用實心的菱形+實線箭頭來表示。 其中連線兩段的數字表示基數,表明一個類可以有幾個實例,一個人有一個腦袋,所以用1:1表示。 ??????? 7.依賴(Dependency): 比如,人類要喝水,要吃飯等,體現的是一種依賴關系, 使用虛線箭頭來表示。 ??????? UML提供9種視圖:類圖、對象圖,用例圖,序列圖、協作圖,狀態圖、活動圖,構件圖和部署圖。 在UML系統開發中有三個主要的模型: 功能模型:?從用戶的角度展示系統的功能, 包括用例圖。 對象模型:?采用對象,屬性,操作,關聯等概念展示系統的結構和基礎, 包括類圖。 動態模型:?展現系統的內部行為。? 包括序列圖,活動圖,狀態圖。 下面具體說明:? 1.類圖:描述一組對象、接口、協作等事物之間的關系。 如下圖(摘自網絡):? 注:#表示protected,+表示Public,-表示private 2.對象圖:描述一組對象之間的關系,是具有具體屬性值和行為的一個具體事物, 其是類圖中所建事物實例的靜態快照, 其與類圖的主要區別是一個是抽象的,而對象圖是具體的。 如下圖:? 3.用例圖:描述一組用例、參與者以及它們之間的關系, 其展示的是該系統在它的外面環境中所提供的外部可見服務。如下圖:? 4.交互圖:包括序列圖(順序圖)和協作圖,兩者對應, 順序圖是強調消息時間順序,有對象生命線和控制焦點。 協作圖是強調接收和發送消息的對象的結構組織,有路徑和順序號。如下圖(摘自網絡):? 序列圖: 協作圖: 5.狀態圖:展示了一個狀態機, 由狀態、轉換、事件和活動組成。 強調事件行為的順序。如下圖): 6.活動圖:是一種特殊的狀態圖,實現一個活動到另一個活動的流程。 如下圖(摘自網絡):? 7.構件圖和部署圖:構件圖展示一組構件之間的組織和依賴關系, 并以全局的模型展示出來。 部署圖是構件的配置及描述系統如何在硬件上部署。如下圖:? |
?
總結
以上是生活随笔為你收集整理的利用visio在软件开发中各种图的全部內容,希望文章能夠幫你解決所遇到的問題。