2010-08-01 52 views
1

我有一個我用C++編寫的程序,它不使用類,只是簡單的函數和main()。 我想知道我可以爲它畫什麼樣的圖。以下是我想到的一些事情。如果我們沒有程序中的類,我們可以繪製序列圖嗎?

  1. 活動圖
  2. 序列圖
  3. 類圖 - 顯然不能得出這樣的,因爲我沒有使用類
  4. 系統架構
  5. 狀態圖
  6. 用例圖

在這些我可以繪製什麼?

+0

嘗試繪製每一個,看看是否有可能。 – Oded 2010-08-01 06:36:09

+0

有人說,如果你沒有上課,你不能畫出一個順序圖。 – Haxed 2010-08-01 06:48:09

+0

有人說任何古老的愚蠢的東西。不正確。訣竅是*將代碼拆分成模塊或組件或類似具有*明確責任*的東西。您可以爲這些模塊之間的呼叫/消息執行序列圖。 – 2010-08-01 07:26:59

回答

2

我從圖表猜測你是對齊到*統一過程的方法。

恕我直言:

  • 使用案例 - 肯定 - 引發的業務和系統層面的需求是實現不可知
  • 系統架構 - 肯定 - 層,進程,網絡,數據庫和模塊/包。
  • 活動圖 - 肯定 - 用此來描述關鍵流程
  • 工藝流程
  • 國圖 - 適用,雖然平時與單個對象實例的狀態和壽命相關,但它仍然是,如果你保持狀態概念有用通過其他方式
  • 序列圖 - 適用的,雖然你可能需要提供一個任意的類名來連接你的函數(?如果您使用的命名空間,然後可能聚集到這些這些代替)

然而,如果你想從你的dia生成和往返代碼,你可能會遇到問題克例如從Rational Rose這樣的CASE工具 - 大多數會假定OO實現語言(注意三個Amigos與OO緊密相關!)

我想這會引發一個問題,爲什麼您需要開發一個程序化應用程序使用OO語言並用OO技術記錄它?

HTH

1

這樣概括:您可以使用所有類型除了類圖。如果你能繪製一個類圖,你應該問自己,爲什麼你在這種情況下不使用類。

對於所有其他圖表,您可以將應用程序的某些部分用作「演員」或「組件」。看起來你還沒有研究過這些圖表的用途以及你用它們表達的內容。如果你這樣做,你應該能夠確定哪個圖對你有意義。

請記住,每個圖應該有一個目的。如果你這樣做只是爲了在那裏,那麼不要這樣做。

相關問題