作業中我們經常會有向別人描述專案內容,解釋某一個功能的運作程序等情況,除了文字描述外,配合圖的方式來說明,增加了問題的具象化能力,方便溝通和對方理解,我剛開始一直想用一種圖來表述所有內容,但是實際上沒有一種圖可以做到,即使可以做到,那么會使得這種圖變得復雜,也不符合人類的接受能力,用對應的圖說明對應的問題就好了,介紹幾種我自己經常用到的圖
1.用例圖
- 應用場景:用于描述系統的參與者與功能用例間的關系,反映系統的總體運行情況和互動設計,
- 構造程序:首先對系統功能進行建模,然后就每一個功能所涉及到的系統角色,再確定角色的行為,也就是角色和功能之間的聯系,其中也包括一些角色的屬性,但是用例圖對屬性表達不明顯, 總體來說,用例描述了角色在系統中承擔的職責,和系統中重要的功能,以及角色和功能的聯系,
舉例說明:

?
2.流程圖
什么是流程圖(Flow Chart):顧名思義,就是用來直觀地描述一個作業流程的具體步驟圖,它通常用一些圖框來表示各種型別的操作,在框內寫出各個步驟或判斷條件,然后用帶箭頭的線把它們連接起來,以表示執行的先后順序,用圖形表示執行步驟,十分直觀形象,易于理解,下左圖為visio軟體中的標準流程圖組件,右圖為流程圖實體,

?

?
3.時序圖
表示類,組件,子系統或者參與者之間的訊息序列,他實際上很詳細直接并嚴謹的描述了一個功能或流程的按照時間走向執行順序,橫軸是角色或者組件等,縱軸是時間軸,其中的每條訊息對應一個類操作或狀態機中引起轉換的觸發事件,
visio中的時序圖描述:
?
時序圖中一般還有這些項:角色(Actor)、物件(Object)、生命線(LifeLine)、控制焦點(Activation)、訊息(Message),
- 角色(Actor)
系統角色,以一個小人圖示表示,可以是人或者其他系統,子系統,
- 物件(Object)
物件位于時序圖的頂部,以一個矩形塊表示
- 生命線(LifeLine)
時序圖中每個物件和底部中心都有一條垂直的虛線,這就是物件的生命線(物件的時間線),以一條垂直的虛線表,
- 控制焦點(Activation)
控制焦點代表時序圖中在物件時間線上某段時期執行的操作,以一個很窄的矩形表示,
- 訊息(Message)
表現代表物件之間發送的資訊,訊息分為四種型別,
同步訊息(Synchronous Message):訊息的發送者把控制傳遞給訊息的接收者,然后停止活動,等待訊息的接收者放棄或者回傳控制,以一條實線+實心箭頭表示,
異步訊息(Asynchronous Message):訊息發送者通過訊息把信號傳遞給訊息的接收者,然后繼續自己的活動,不等待接受者回傳訊息或者控制,異步訊息的接收者和發送者是并發作業的,以一條實線+空心箭頭表示,
回傳訊息(Return Message):回傳訊息表示從程序呼叫回傳,以虛線空心箭頭表示,
自關聯訊息:表示方法的自身呼叫或者一個物件內的一個方法呼叫另外一個方法,以一個半閉合的實線實心剪頭表示,
下圖為微信交易的時序圖,請注意藍色塊備注

?
4.組件圖/類圖
為了避免本文程序,組件圖和類圖我們就不詳細的介紹,因為這兩個想要弄懂,都需要且值得單獨列一篇文章來介紹,我們介紹他的用途場景和示例來說明一下,
- 組件圖:描述的是在軟體系統中組件與組件之間關系的一種UML圖,提現的是一種實作結構,也有叫構件圖,

?
- 類圖:是軟體系統中常用的,描述類與類之間關系的圖,用泛化(Generalization), 實作(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)這些關系,來把系統中的類之間關系描述出來,因為一個軟體系統中往往一個類有很多關聯類和派生類,如果只靠語言是很難描述其立體關系的,

?
5.思維導圖
把這個放在最后,是因為它并不是和技術相關的圖,其實思維導圖和大綱串列所干的事情是差不多的(一般來說可以互相轉換),很多人也都接觸過,應用起來也相對簡單,我也不放圖了,
思維導圖:常用來整理自己的思路,方便自己進行系統的記憶,它具有強烈的層級關系,從一點而發散開,有助于人的思維鍛煉和規劃,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/8501.html
標籤:架構設計
上一篇:介面冪等性如何實作?
