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