軟體開發中的形象思維與圖的運用

來源:互聯網
上載者:User
一圖勝千言——軟體開發中的形象思維與圖的運用
 

2009-03-30 作者:gurudk 來源:gurudk的部落格

 

人生下來的時候不認識文字,但眼睛已經能夠接受大量的映像資訊。據說人眼獲得的資訊,占人獲得總資訊的40%以上。形象思維是人的本能,它大量被運用於人的工作和生活過程中,同樣也貫穿於軟體開發過程中。用圖交流是最有效溝通手段之一,有時候大家爭論半天,到白板前畫幾下就都清楚了。如果你想當一個好的傳播者,軟體設計師,用圖來思維和表達是必須具備的素質。

應該說,我一般主要以邏輯思維為主,右腦形象思維能力很差。這些圖都是從我過去畫的圖中精選出來的,不是特別漂亮,但表達的目的性很強。下面,讓我一一介紹給大家,希望給大家啟發。

主要內容:

  • 邏輯圖
  • 功能模型
  • 系統使用案例圖
  • 架構圖
  • 座標圖
  • 包邏輯關係圖
  • 領域模型圖
  • UML類圖
  • UML活動圖表(泳道圖)
  • UML時序圖
  • UML部署圖
  • UML狀態圖
  • 腦圖
  • 魚骨圖
  • 畫圖工具介紹

1) 邏輯圖

目的: 表達高層概念之間的關係,一般是給客戶看的。理解這種圖形,一般不需要什麼先驗知識。

表達:一般比較靈活,多以階層為主,畫圖可以盡情發揮想象力。

重點:抽取主要元素,並描述他們之間的關係。

用處:一般用在解決方案中,向客戶演講的第一張圖可能就是這個。

這幅圖主要採用層次,立體的方式來表達。

2) 功能模型圖

目的:描述軟體系統的功能。

表達:一般以樹形展開。

重點:重點是層次關係。

用處:解決方案和需求描述中。

3)系統使用案例圖

目的:表達系統的參與者如何與系統進行互動,高層次。

表達:一般用用例框圖,框圖內可以是用例包或用例,角色可以繼承,但不應太多,影響圖的可讀性。

重點:系統與干係人的互動,不一定所有功能都列在上面。

用處:一般用在解決方案和需求描述中。

4)架構圖

目的:表達技術元素之間的關係,一般用在解決方案的技術架構中,也是比較高層的。

表達:方式很多,一般是層次模型。

重點:強調主要技術元素及其關係,突出使用的技術。

用處:解決方案,技術講座,技術交流,技術培訓。

這是我以前在公司設想的公司專屬應用程式平台的架構圖,主要是概念性的。

5)座標圖(這個名字是自己杜撰的)

目的:用於描述一個元素隨另一個元素變化的圖。

表達:一般是兩維的,表達方式為圖表或座標系。

重點:重點表達漸進關係。

用處:一般用於技術演講,解決方案。

表示隨時功能隨多個迭代周期增加

表示隨著階段的進化,技術手段的變化。

6)UML包邏輯關係圖

目的:表達開發設計階段,高層的邏輯關係。

表達:排布要美觀,線不要較差,散亂。

重點:簡單,強調主要依賴關係,不重要的可以不畫。

用處:設計文檔,技術演講和交流。

7)領域模型圖,這個圖是我認為最重要的,也是最有用的圖。

目的:表達領域概念和概念之間的關係,和類圖類似,但要高一個層次。

表達:UML元素來表達,注意和類圖相比,這裡一般不會有方法,概念一般用自然語言描述。表達要簡潔。

重點:強調對領域的抽象。

用處:用於團隊內部維持對業務領域的一致的理解,還可以和客戶交流。

這是我整理的關於許可權的領域模型。

稍微有點複雜,關於集裝箱管理的。

8)UML類圖

目的:用於描述設計時,類的關係。

表達:可以將類分組,提高可理解性。

用處:團隊內部交流,進階程式員給初級程式員指導和設計時。

重點:強調類之間的關係,帶上主要方法和屬性。

9)泳道圖(UML活動圖表)

目的:用於表達商務程序,比流程圖更清晰。

表達:泳道之間最好用顏色標識,如果複雜,可以把相近操作用地區標識。

重點:表達流程的清晰性,可讀性。

用處:描述商務程序,可用於需求,解決方案等。

 

10)UML順序圖表(時序圖)

目的:描述步驟比較多的設計。

表達:步驟盡量少,多了可以考慮拆分。

用處:詳細設計。

評註:以前覺得這個圖挺好,現在感覺太複雜,一般用不到。

這是一個偽單點登入的步驟。

這個是有點像共同作業圖表,但比共同作業圖表生動,很多地方都在用這種方式。順序圖表和共同作業圖表是等價的。

11)UML部署圖

目的:描述部署架構

用處:系統架構文檔等。

    

12)狀態圖

目的:描述單個對象生命週期的變化情況。

用處:對象狀態很多,變換複雜的情況。

13)腦圖,以前同事推薦的,越用越順手,整理思想太好了,我每次寫文章都用它。

目的:整理零散的思想,形成條理。

用處:寫文章,團隊頭腦風暴,個人也能風暴。

14)魚骨圖,主要用於根本原因分析的。

其實還有很多圖,比如tuti部落格介紹的的影響分析圖 ,也挺有意思的。

下面說說畫圖工具:

a) Visio. 我用的最多的就是它了,幾乎圖都是它畫的,用起來簡單方便,畫UML圖,比一般的專業UML畫圖的都好看(以前主要是跟Rose比)。也看到過很多漂亮的UML圖,不知道用什麼畫的,大家知道的,分享一下啊。

b) MindManager和MindMapper。主要用於畫思維腦圖的。

c) 另外以前用Together逆向產生很多uml圖,也挺好看的。

d) 聯想的best4c線上繪圖工具 也不錯,有空可以試一試。

e)前面那些工具都有,你也不一定畫出比較好看而且表達簡單明了的圖。最強大的工具出場了,那就是googleImage Search,你可以輸入“架構 ”,“struts2”,"osgi"等等關鍵字,一幅幅漂亮的圖就出現在你的面前,讓你靈感倍增啊。我平時做技術講座,很多圖都是這裡搜的。

有些圖可能看不太清楚,可以到我的相簿裡看,那裡圖更多更全。

希望和大家一起交流用圖思考和溝通的經驗。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.