2008年2月8日 星期五

K08 系統的製程(4)──Activity的抽取與拆解

在Activity Diagram裡應該定義swimlane來定義Activity是誰要做的動作,這樣才能在觀看Use Case動作的同時知道各個參與者的動作與控制流向,並可以立即檢視該參與者的全部動作。通常我會用到的swimlane定義有User、Timer、System、DB與Extenal System幾種。

使用Rose製作Activity Diagram時有個好處:所有曾經製作出來的Activity都存放在Use Case View裡,在需要引用的時候只要用滑鼠拉到現在的圖表裡就能使用它。如果在引用時發現有多個Use Case都會使用到某個Use Case裡固定的幾個Activity,那表示它們應該被抽取出來成為一個include Use Case;如果在引用時發現需要的是只是某個Activity的部分內容時,這表示該把這個Activity再作切割,拆解出更適合單獨引用的Activity。

這是在系統分析時很重要的步驟,因為每個Activity代表了一個完整的獨立動作,同時若有相同意義的Activity存在,絕對要去使用它而不能另外再創建一個;而且在應該抽取或拆解的時候就要去做,雖然有點麻煩,但是該修正的地方務必要花時間去修正。這是因為每個swimlane的Activity集合就是它的所有動作集合。

看過不少人使用Visio畫出流程圖來取代Activity Diagram,最大的原因是因為美觀。但是一個純粹繪製流程圖的工具是沒法幫助我們進行上述的系統分析動作的。

沒有留言:

張貼留言