2009年5月20日 星期三

V15 流程的存取(2)──Flow與Action方法的處理原則

處理的範圍限定在Component內部。首先要將Component內部的Implementation與Flow兩類方法收集起來,這是流程進行的範圍;Action方法原則上不用處理。倘使Action方法也有製作流程的需要,則把被Flow呼叫的Action視為範圍再進行Action方法的流程分析。

一開始要定義一個迴圈逐一處理每一個Component Interface Method,先進入Implementation方法再依程式流程進行,每遇一個定義上的node就產生一個對應節點收集資訊。在流程上,只要是Implementation與Flow方法的就必須進入該方法處理;在動作上,如果呼叫了Action方法或是其他Package的方法則註解為一個activity node而不要進入該方法。不應該遞迴處理到其他Package的內容,因為那會使得流程記錄得太細而失焦,難以看出現在層級應該注意的過程。

某Flow方法在內部呼叫同Component的另一個Flow方法時,該建立一個中間點將兩個Flow分成兩張圖來存放?或是不管呼叫的間隙而將全部的流程串成一張圖呢?這應該選擇後者。一個Component Interface Method的實作是一組獨立流程,部分流程會被抽成另一個Flow方法是因為它們在意義屬於某一特定目的,但仍是原來流程的一部分,因此串成一張完整的圖會比較易讀;況且圖是自動產生的,也不會太大張。

一個Component處理後再接著換另外一個,直到指定範圍內所有的Component都被處理完為止,這樣我們就拿到了所有Component Interface Method的程式流程Data Model。這時要設計一個中間檔的存放機制讓這些程式流程Data Model存成檔案,日後要轉換時再讀入處理而不需要每次都重新處理。

沒有留言:

張貼留言