2013-06-26 159 views
0

是否有一種簡單的方法從現有代碼創建一個4 + 1模型?我能夠從eclipse插件生成類圖,但似乎無法找到生成包圖的方法。有沒有辦法做到這一點以及需要其他意見?創建一個4 + 1架構模型

+1

可能有一個IBM產品會這樣做,但它可能花費800美元。對於包圖,請查看任何UML工具,如[objectaid](http://www.objectaid.com/)。 –

回答

1

不幸的是,沒有自動的方式只能從代碼生成所有4 + 1視圖。你應該能夠部分地產生一些...

  • 邏輯視圖(局部重建) - 這種觀點主要關注的是提供的功能。至少您可以使用逆向工程工具(如Rational Rhapsody,但還有其他開源工具 - see this question)來生成UML類圖。其他圖表將取決於工具,編程語言等。
  • 開發視圖(部分重構) - 您應該能夠自動生成包圖。您將無法自動創建分配圖,因爲代碼不一定會告訴您它打算在何處部署。
  • 進程視圖(無重構) - 此視圖與運行時結構有關。生成這個高度依賴於工具。您可能可以根據代碼使用Rhapsody生成一些代碼。
  • 物理視圖(無重構) - 此視圖涉及硬件或物理結構。沒有辦法從代碼中派生出來。
  • 使用案例視圖 - +1(無重構) - 系統將如何用於幫助驗證設計的場景。你可以從任何存在的測試中得出這個結論......但是你會忽略整體的運行環境,這很重要。

通常要重建過程視圖,您需要運行並觀察系統(或與某人記住它是如何設計運行的)。物理視圖也是如此 - 您將不得不挖掘配置並觀察正在運行的系統以找出它(或與某人交談)。

用例視圖將根據您的觀察結果和當前對系統的理解進行所有采訪或推論。 +1場景旨在構建問題並用於驗證目的。如果您認爲代碼是對架構意圖的真實/正確/當前的反映(哈哈),您可能可以從代碼中獲得一個起點 - 但是您將錯過對這個問題永遠重要的答案......爲什麼首先是這樣做的嗎?這個問題的答案就是這種觀點的主要觀點。