面向?qū)ο蟮漠a(chǎn)品流程分析方法

? ? ? ? 軟件開發(fā)理論中有對象的概念。萬物皆可以是對象,對象包含屬性和方法。例如“門”這個對象,屬性可以有顏色,長寬,材料等等;方法可以有開和關等等。任何涉及“門”這個對象的場景,都會有對應的屬性及方法。另一方面,涉及到顏色,長寬這些屬性,或者開和關這些方法時,我們也應該聯(lián)想到“門”這個對象。 ? ?

? ? ? ? 產(chǎn)品的流程是通過各個系統(tǒng)之間的信息交互實現(xiàn)的,而這些系統(tǒng)可以看作是一個個對象。通過合理系統(tǒng)分解,可以將系統(tǒng)組成我們想要的產(chǎn)品的各個功能。了解現(xiàn)有的系統(tǒng)設計后,產(chǎn)品經(jīng)理就可以自行考慮規(guī)劃中的功能是否能通過現(xiàn)有系統(tǒng)實現(xiàn),或者需要改造現(xiàn)有系統(tǒng)。從而對產(chǎn)品實現(xiàn)的原理和難度有較為清晰的認識。

? ? ? ? 面向?qū)ο蟮牧鞒淘O計可通過UML實現(xiàn)。UML全稱是Unified Modeling Language(統(tǒng)一建模語言)。是需求分析及軟件設計領域非常實用的工具。UML一般可分為結(jié)構(gòu)型UML與行為型UML兩類。結(jié)構(gòu)型UML適用在對復雜系統(tǒng)的結(jié)構(gòu)組成設計上。對于流程設計而言,我們使用的是行為型UML。我們產(chǎn)品實現(xiàn)流程中常看到的時序圖就是一種行為型的UML。

? ? ? ?以ATM的功能為例,設計一個時序圖。時序圖描述的是用例。那ATM的用例有哪些呢?大的方面來說,我覺得有兩個:取現(xiàn),轉(zhuǎn)帳。其他的比如輸入密碼,查詢余額,這些都只是實現(xiàn)這個兩個例的功能。我們設計一下取現(xiàn)這個用例的時序圖。

? ? ?首先考慮下,取現(xiàn)這個用例涉及以下對象:

? ? 持卡人、讀卡系統(tǒng)、密碼校驗系統(tǒng)、余額查詢系統(tǒng)、余額管理系統(tǒng)、出款系統(tǒng)

? ? 每個對象都有各自的方法,見下圖這張結(jié)構(gòu)圖。

ATM取現(xiàn)操作涉及的系統(tǒng)結(jié)構(gòu)圖

? ? ? 通過系統(tǒng)結(jié)構(gòu)分析,羅列出取現(xiàn)操作涉及到的所有系統(tǒng)。然后再進行時序圖設計,這樣可最大程度上確保設計不遺漏。同時,也可更加清晰的認識到信息流轉(zhuǎn)的途徑,及信息加工處理的節(jié)點。這對我們的產(chǎn)品設計非常有幫助的。

ATM取現(xiàn)操作時序圖

? ? ? ? 通過上圖的分析,我們可以很清楚的知道一個取款的指令需要經(jīng)過哪些系統(tǒng)處理,各個系統(tǒng)分別處理什么數(shù)據(jù),怎么處理,如何反饋。這就是面向?qū)ο蠓治龅暮锰帲ㄟ^這么一個分析之后,流程中的每個節(jié)點我們都了如指掌。知道產(chǎn)品的難點在那里,很大程度上避免自以為是的提需求。

? ? ? ? 當然,上面這張圖完全可以繼續(xù)細化,比如密碼連續(xù)錯誤三次后系統(tǒng)吞卡;比如出款后,要記錄在用戶的交易記錄中等等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容