002 如何用4個圖面拆解小設備需求( 說明 )
002 如何用4個圖面拆解小設備系統需求
結論先講在前面,我們要用4個圖面來捕抓小裝置的需求與行為。簡單來說,可以想像我們要導演一齣戲,那我們要準備的事項大概有:
1. 要找那些演員/ 角色的關係 (靜態)
2. 演員的互動 (動態)
3. 每個角色在劇裡出現的場景/ 不同場景的變化關係
4. 單一場景該演員要做的事情
要描述一個人的行為,可能要由好多的面向來說明。同樣的要描述一個系統的行為也是。隨著系統複雜度的增加,要單純的使用一個流程圖來描述整個裝置的行為就會有點不夠。
以往繪製流程圖的時候常常會有很難描述的事情,或是如果要分工的時候很難去拆分大家的工作跟相對的配合流程,這也是系統變複雜的一種體現。
那是否有一套方法可以用來簡單的拆解系統的行為,然後最後變成可以用的程式架構,最後進一步把程式寫完,然後再可以利用這套圖來進行需求驗證呢?
下面這四種圖的使用剛好可以用來捕捉系統的行為,包含靜態行為與動態行為。整個的使用邏輯跟繪製的順序是這樣的。
- 系統方塊圖 (System Block)
- 時序圖 (Sequence Diagram)
- 狀態圖 (State Diagram)
- 流程圖 (Flow Diagram)
系統方塊圖 (System Block)
系統方塊圖是用來描述系統的系統內部成員的圖面,諸如有那些感測器? 那些制動器 ?
用那些介面串聯。然後是否會連接到後端(上層) 的設備,使用那種通訊方式... 等等
系統方塊圖就是這齣戲的演員表,他表現出了整齣戲所有人的關係,下面這張就是所謂的關係圖(引用日本網友的神鵰俠侶關係表),也就是一個靜態的系統描述。
簡單的系統方塊圖範例
在接下來的時序圖中,就是根據不同的情境(場景),這些演員的互動。戲劇會精采,就是劇情與演員互動的恰到好處。系統會運作的好,角色之間的互動就很重要啦。
時序圖 (Sequence Diagram)
狀態圖 (State Diagram)
比較簡單的說明一下狀態圖。以十字路口這個場景來比喻
主要主角有兩個 紅綠燈 跟 行人
當
紅綠燈 從 (紅燈狀態) 變成 (綠燈狀態 ) 的時候
行人 從 (等待狀態) 變成 (可以過馬路狀態)
驅動(紅燈狀態)變(綠燈狀態)的原因是紅燈時間結束
驅動行人從(等待狀態) 變成 (可以行走狀態) 的原因是 紅燈變綠燈
留言
張貼留言