怎麼用相應的圖來描述系統

工做中咱們常常會有向別人描述項目內容,解釋某一個功能的運做過程等狀況。除了文字描述外,配合圖的方式來講明,增長了問題的具象化能力,方便溝通和對方理解。我剛開始一直想用一種圖來表述全部內容,可是實際上沒有一種圖能夠作到,即便能夠作到,那麼會使得這種圖變得複雜,也不符合人類的接受能力。用對應的圖說明對應的問題就行了。介紹幾種我本身常常用到的圖微信

1.用例圖

  • 應用場景:用於描述系統的參與者與功能用例間的關係,反映系統的整體運行狀況和交互設計。
  • 構造過程:首先對系統功能進行建模,而後就每個功能所涉及到的系統角色,再肯定角色的行爲,也就是角色和功能之間的聯繫,其中也包括一些角色的屬性,可是用例圖對屬性表達不明顯。 整體來講,用例描述了角色在系統中承擔的職責,和系統中重要的功能,以及角色和功能的聯繫。

舉例說明:併發


2.流程圖

什麼是流程圖Flow Chart):顧名思義,就是用來直觀地描述一個工做流程的具體步驟圖,它一般用一些圖框來表示各類類型的操做,在框內寫出各個步驟或判斷條件,而後用帶箭頭的線把它們鏈接起來,以表示執行的前後順序,用圖形表示執行步驟,十分直觀形象,易於理解。下左圖爲visio軟件中的標準流程圖組件,右圖爲流程圖實例。app

​     ​                           

3.時序圖

表示類,組件,子系統或者參與者之間的消息序列,他實際上很詳細直接並嚴謹的描述了一個功能或流程的按照時間走向執行順序,橫軸是角色或者組件等,縱軸是時間軸。其中的每條消息對應一個類操做或狀態機中引發轉換的觸發事件。異步

visio中的時序圖描述:spa

 

時序圖中通常還有這些項:角色(Actor)、對象(Object)、生命線(LifeLine)、控制焦點(Activation)、消息(Message)。設計

  • 角色(Actor)

        系統角色,以一個小人圖標表示,能夠是人或者其餘系統,子系統。3d

  • 對象(Object)

        對象位於時序圖的頂部,以一個矩形塊表示對象

  • 生命線(LifeLine)

        時序圖中每一個對象和底部中心都有一條垂直的虛線,這就是對象的生命線(對象的時間線)。以一條垂直的虛線表。blog

  • 控制焦點(Activation)

        控制焦點表明時序圖中在對象時間線上某段時期執行的操做。以一個很窄的矩形表示。事件

  • 消息(Message)

        表現表明對象之間發送的信息。消息分爲三種類型。
    同步消息(Synchronous Message):消息的發送者把控制傳遞給消息的接收者,而後中止活動,等待消息的接收者放棄或者返回控制。用來表示同步的意義。以一條實線+實心箭頭表示。
    異步消息(Asynchronous Message):消息發送者經過消息把信號傳遞給消息的接收者,而後繼續本身的活動,不等待接受者返回消息或者控制。異步消息的接收者和發送者是併發工做的。以一條實線+大於號表示。
    返回消息(Return Message):返回消息表示從過程調用返回。以小於號+虛線表示。
    自關聯消息:表示方法的自身調用或者一個對象內的一個方法調用另一個方法。以一個半閉合的長方形+下方實心剪頭表示。
組合片斷

下圖爲微信交易的時序圖,請注意藍色塊備註


4.組件圖/類圖

爲了不本文過程,組件圖和類圖咱們就不詳細的介紹,由於這兩個想要弄懂,都須要且值得單獨列一篇文章來介紹。咱們介紹他的用途場景和示例來講明一下。

  • 組件圖:描述的是在軟件系統中組件與組件之間關係的一種UML圖,提現的是一種實現結構,也有叫構件圖。


 

  • 類圖:是軟件系統中經常使用的,描述類與類之間關係的圖,用泛化(Generalization), 實現(Realization),關聯(Association),聚合(Aggregation),組合(Composition),依賴(Dependency)這些關係,來把系統中的類之間關係描述出來。由於一個軟件系統中每每一個類有不少關聯類和派生類,若是隻靠語言是很難描述其立體關係的。


5.思惟導圖

把這個放在最後,是由於它並非和技術相關的圖,其實思惟導圖和大綱列表所幹的事情是差很少的(通常來講能夠互相轉換),不少人也都接觸過,應用起來也相對簡單,我也不放圖了。

思惟導圖:經常使用來整理本身的思路,方便本身進行系統的記憶。它具備強烈的層級關係,從一點而發散開,有助於人的思惟鍛鍊和規劃。

相關文章
相關標籤/搜索