天天看點

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

UML(Unified Modeling Language,統一模組化語言) 是一種在軟體設計時提供給分析師、設計師和工程師之間的通用語言。它在軟體需求分析及軟體整個生命周期中起着重要作用:UML模組化有助于捕獲系統結構或行為,定義軟體構架,保持設計和實作的一緻性,管理複雜性,促進溝通。

UML的作用域不限于支援面向對象的分析與設計,還支援從需求分析開始的軟體開發的全過程。UML被應用到面向對象的問題解決上,面向對象的問題處理的關鍵是模組化問題,模組化可以把複雜業務的許多重要的細節給抽象出。不僅可以借助于UML來完成與使用者的需求溝通,而且可以指導程式員進行開發。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

UML分結構圖和行為圖,結構是靜态的,它描繪結構元素構成的系統或函數,顯示結構或運作時體系結構的靜态關系,比如類圖、對象圖、構件圖、部署圖、包圖。行為是動态的,它描繪一個系統或業務過程的行為特征,顯示動态模型的視圖,比如活動圖、狀态圖、順序圖、通信圖、用例圖、時序圖。每種圖形都是從需求或設計的不同層面來描述模型,通過各種模型描述系統的類、對象、關聯、職責、行為、接口、用例、包、順序、協作,以及狀态,以便産品經理通過圖形化的方式從各個角度了解産品,更好的表達思想,便于交流。

常用的UML模組化工具有:ProcessOn、Enterprise Architect 、Visio、StarUML、OmniGraffle、ArgoUML。常見的UML模組化有:業務模組化、需求模型、設計模型、實作模型、資料庫模型。UML模組化重點不在于如何畫UML,而是如何運用UML思考方式去管理好一個産品。UML各種圖都适用于不同的場景,可從不同角度诠釋産品。因側重向産品經理角度談UML模組化,是以隻介紹用例圖、狀态圖、活動圖、時序圖與類圖。

01

用例圖(UseCase Diagram)

用例圖從外部觀察者的角度描述系統的作用。它描述了系統的功能要求,使用者作用于系統邊界的方法以及系統的反應。1.參與者就是與應用程式或系統進行互動的使用者或系統;2.用例就是外部可見的系統功能,對系統提供的服務進行描述;3.子系統用來展示系統的一部分功能,這部分功能聯系緊密。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

以某電商系統的客服為例,在設計用例的時候,一般是按使用者角度從Uc級描述統功能,并指各功能的操作者。比如她主要負責的功能有檢視資料,檢視使用者,管理訂單和配置設定客服,我們就可以一種可視化的方式設計系統的功能需求,本質還是擴充功能的增删改查。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

02

狀态圖(State Diagram)

狀态圖由狀态、轉換、事件和活動組成,描述類的對象所有可能的狀态以及事件發生時的轉移條件。通常狀态圖是對類圖的補充,僅需為那些有多個狀态的、行為随外界環境而改變的類畫狀态圖。它定義了一個對象,這些狀态控制外部或内部事件的不同狀态,也可以告知一個對象可以擁有的狀态,并且事件會怎樣随着時間的推移來影響這些狀态。根本就是闡明在其生命周期的時間和狀态圖是用于此目的的一個對象将滿足某些條件、執行某些活動、等待某些事件。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

以某共享充電移動端為例,客戶完成掃碼充電的訂單對象的生存期間的狀态序列,引起轉移的事件,以及因狀态轉移而伴随的動作。從掃碼充電訂單狀态從待支付,已支付到已退款都是一個完整的業務閉環。但實際應用中并不是所有的類都需要畫狀态圖,有明确意義的狀态,在不同狀态下行為有所不同的類才需要畫狀态圖。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

03

活動圖(Activity Diagram)

活動圖是一種表述過程基理、業務過程以及工作流的技術,直白點就是使工作流和業務過程可視化的圖。它描述活動的順序,展現從一個活動到另一個活動的控制流,有利于識别并行活動。1.動作狀态就是指原子的,不可中斷的動作,并在此動作完成後通過完成轉換轉向另一個狀态;2.動作流就是動作之間的轉換稱之為動作流;3.節點主要有開始節點、終止節點、分支節點與合并節點,本質都是對流程的限制。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

以某業務系統為例,客戶完成項目外包的這一活動過程中,分别是使用者下單,選擇服務,提供服務這三方面完成流程的轉換,其實就是側重從行為的動作描述。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

04

時序圖(Sequence Diagram)

時序圖是一種強調時間順序的互動圖,它通過描述對象之間發送消息的時間順序顯示多個對象之間的動态協作。時序圖具備了時間順序的概念,提供了控制流随着時間推移的清晰的可視化軌迹,進而可以清晰地表示出對象在其生存期的某一個時刻的動态行為。1.生命線是一條垂直的虛線,從對象底部延伸出來的,表示時序圖中對象存在的時間;2.控制焦點是時序圖中表示時間段的符号,在這個時間段内對象将執行相應的操作;3.消息顯示為箭頭,消息可以完成傳輸,也可能丢失和找回,它可是同步的,也可是異步的,即可以是調用,也可以是信号。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

以某H5商城網站為例,使用者通過消息或掃描二維碼在微信内打開網頁時,可以調用微信支付完成下單購買的流程。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

05

類圖(ClassDiagram)

類圖是一種靜态模型,它通過顯示出系統的類以及這些類之間的關系來表示系統。類圖是靜态的,可以展現軟體系統中的類、接口以及它們之間的靜态結構。類之間關系主要有泛化,實作,關聯,聚合,組合與依賴。1.類是對象類型的表現形式,反映出這類對象在系統内的的結構和行為;2.接口是實施者需要滿足的行為規範;3.包是一個命名空間,也是一個元素。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

以某共享按摩系統為例,我們可以直覺的開出公司、司機、車輛、裝置、業務員之間的對應關系。比如一個公司對應多個車輛,一個車輛又對應多個按摩裝置,理清他們之前的結構關系就可以快速了解業務邏輯和完成表結構設計。

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

UML在整個軟體開發過程中,解決了“一盤散沙”的問題,在國内不少地方獲得了應用。作為産品人,學習UML必須從模型的建造開始,一個蘿蔔一個坑的去将UML模組化實踐到産品中,不斷曆練自己,才能真正的學有所成。當我們把UML模組化語言下的各圖形都有所了解後會發現,通過這些圖可以全面的、立體的從各個角度表達産品,讓産品的表達變得更豐富、更形象。

對于産品經理而言,熟練掌握UML有助于梳理業務流程和傳達産品需求。産品經理不僅要深挖前端業務流程,還要了解看不見的後端實作邏輯。很多産品在靈活開發和版本疊代階段,産品經理很容易忽視産品的隐性特性,對産品的核心功能無法深挖或了解,導緻實施中還在讨論需求,上線後各種Bug影響産品體驗,主要是缺少對後端整體功能的統籌與把控。而UML的出現,讓PM擁有一套與技術人員溝通的共同語言,在工作中需求對稱就會變得更順暢。

END

産品經理朱學敏

教你從0到1做産品的閉環

uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏
uml中的“+”、“-”和“#”的是_UML模組化更好的表達産品邏輯 | 朱學敏

繼續閱讀