物件導向的另類思考流程圖 |
Sequence_diagram_for_handling_a_browser_request_using_the_Model_View_Controller_MVC_pattern |
上圖中顯示要「處理來自瀏覽器的請求」時,所需要做的動作和參與的對象,隨著動作開始進行,首先Browser會發出HTTP GET Request()給Tomcat,之後就持續做一連串的動作,直到整個流程被完成。序列圖的好處是(1)知道參與者有哪些,(2)子動作其實會對應到所實作的函數,能很直覺地反映出程式該怎麼寫。
另外還有一個是健全性分析(Robust Analysis),他是把「分析的模型轉換成設計的模型」。依據使用案例模型,輸入使用案例、使用案例的情況(Scenarios)、使用案例對應的活動圖(Activity Digram),以及領域模型,輸出成以UML表示的合作圖(Collaboration Diagram)來記載,裏頭會有3種主要的設計成員:
- 邊界物件(Boundary Objects):用來描述系統與角色之間的互動
- 實體物件(Entity Objects):用來描述系統中經常存在的資訊(Persistent Information)
- 控制物件(Control Objects):用來描述對於其他物件的控制、安排,或是協調
使用健全性分析是幫助釐清目前定義的類別是否足夠、角色定義是否明確,可能在進行健全性分析的過程中會發現更多的物件或是新的屬性類別,然後用來重新繪製序列圖,所以序列圖的建立不是一次就完成的,是需要經過多次迭代的。
我覺得最厲害的還是序列圖,他可以直接讓我知道怎麼寫程式,同時又能了解物件的互動,真的很值得學習。
下一篇要介紹當軟體完成時怎麼做系統組態的管理與維護,如何讓軟體能適時地反映使用者的成長
沒有留言:
張貼留言