大家伙兒好,今天咱們聊聊這“軟件設(shè)計”里頭用到的那些個圖。說實話,咱不是什么專家,也沒受過啥高深的教育,不過這些年我瞧著那幫年輕人搞軟件設(shè)計,圖嘞文檔嘞的,看的我都眼花了。咱就按咱老百姓的理解,說說這些圖都是什么,怎么用的,能不能幫咱更好理解這個復雜的東西。
首先呀,軟件設(shè)計里頭這些圖,真是比文檔要重要多了,圖能讓咱一眼看明白那整個系統(tǒng)是咋個運作的。特別是現(xiàn)在做那面向?qū)ο蟮能浖O(shè)計,圖就像個地圖一樣,清清楚楚的把每個模塊、每個功能的關(guān)系都給展現(xiàn)出來了。
一、E-R圖:實體聯(lián)系圖這個E-R圖呢,顧名思義,就是用來描述實體和實體之間聯(lián)系的圖。啥叫實體呢?就像咱家里頭的一個柜子,一個椅子,或者一只小狗,它們都是“實體”。這個圖就把這些東西的關(guān)系弄得明明白白。
舉個例子說,假如咱們做個超市管理系統(tǒng),E-R圖就能告訴你,商品、顧客、員工這些“實體”之間是怎么聯(lián)系的。比如說,一個顧客買了一些商品,商品和顧客之間的關(guān)系就通過這個E-R圖來表示。
二、用例圖:需求分析圖再說說這用例圖,聽名字就知道,這個圖是用來描述用戶跟系統(tǒng)怎么交互的。就像是咱那種“紅白喜事”,大家伙兒聚在一起,誰做啥事,誰負責啥,就得有個明確的分工對吧?這個用例圖也就是把這些交互分得清清楚楚。
比如說,一個購物網(wǎng)站的用例圖,就得說明用戶可以在網(wǎng)站上瀏覽商品、下單、支付,甚至是退貨,這些功能都得用圖表示出來。這讓做軟件的人一眼就能看明白,用戶想要啥,系統(tǒng)就該怎么做。
三、數(shù)據(jù)流圖:DFD圖這個DFD圖嘛,它就像是個流水線圖,專門用來描述系統(tǒng)里數(shù)據(jù)流動的過程。咱們做個生產(chǎn)線上的東西一樣,得知道原材料從哪來,經(jīng)過了哪些加工步驟,最后做成啥。數(shù)據(jù)流圖就是幫你搞清楚數(shù)據(jù)是怎么傳遞和加工的。
比如說,咱們在做一個訂單系統(tǒng),訂單的原始數(shù)據(jù)從用戶那來,經(jīng)過后臺處理,然后系統(tǒng)會把處理結(jié)果傳給倉庫、物流,最后訂單就完成了。這個流程中每一步的數(shù)據(jù)流動,就能通過DFD圖表示得一清二楚。
四、類圖:面向?qū)ο蟮脑O(shè)計說到類圖,就得提提那面向?qū)ο蟮脑O(shè)計了。啥是面向?qū)ο??其實就是把軟件分成一個個的“對象”,每個對象有自己的屬性和行為。比如說,咱們做一個學校管理系統(tǒng),這個系統(tǒng)里頭就有學生、教師、課程這些“類”,每個類都有它自己的一些特性和行為。
類圖就把這些“類”之間的關(guān)系給畫出來,告訴你哪些類是相關(guān)的,哪些類繼承了其他類,哪些類之間有協(xié)作。這圖一看,大家就能明白每個模塊是怎么協(xié)同工作的。
五、組件圖:系統(tǒng)設(shè)計圖再來看看這個組件圖,組件圖其實是屬于系統(tǒng)設(shè)計階段的東西,像是咱們搭個大樓,得先弄好每個樓層、每個房間的結(jié)構(gòu),這個組件圖就類似于這種建筑圖紙。
它主要是展示系統(tǒng)里的各個模塊是怎么組織起來的,模塊之間是如何互相配合的。比方說,咱做個電子商務平臺,組件圖能告訴你,支付模塊、商品展示模塊、用戶管理模塊是怎么分布在系統(tǒng)里的,它們之間又是如何進行信息交互的。
六、時序圖:動態(tài)行為圖這時序圖呢,主要用來表示系統(tǒng)中對象之間的交互是如何按時間順序進行的。舉個簡單的例子,就像是咱們做一道菜,得先切菜,再燒油,最后炒菜,這些步驟有個先后順序。時序圖就是用來表達這些步驟是怎么按照時間順序執(zhí)行的。
如果你把時序圖當成一個做菜的過程,就能明白每個對象之間在不同時間點上是如何溝通協(xié)作的。
七、狀態(tài)圖:對象的狀態(tài)變化狀態(tài)圖說白了就是用來描述一個對象在不同狀態(tài)之間轉(zhuǎn)換的。比如說,咱家老頭兒這幾年身體不好,他從早晨起來是“起床狀態(tài)”,吃飯后是“吃飯狀態(tài)”,出門溜彎是“溜彎狀態(tài)”,這個狀態(tài)之間是有轉(zhuǎn)換的。
同樣,軟件里的對象也有不同的狀態(tài)變化,比如說訂單的狀態(tài)從“未支付”到“已支付”,從“已支付”到“已發(fā)貨”,這個過程就是狀態(tài)圖要表示的東西。
看了這么多圖,大家應該對軟件設(shè)計里的這些圖有點兒了解了吧。做這些圖的目的就是為了讓軟件的結(jié)構(gòu)更加清晰、更加直觀。每個圖都有它特定的作用和用法,咱只要搞明白這些圖,理解了它們的含義,軟件設(shè)計就不再是那么復雜的事了。
雖然這些圖是給軟件開發(fā)人員看的,但我們普通老百姓也可以通過這些圖,更加簡單直觀地理解軟件系統(tǒng)是怎么運作的。希望今天的話,能讓大家對這些圖有個基本的了解,以后碰到啥系統(tǒng)設(shè)計的事,也能輕松應對。
Tags:[軟件設(shè)計, E-R圖, 用例圖, DFD圖, 類圖, 組件圖, 時序圖, 狀態(tài)圖, UML]