2013-01-18 60 views
1

我需要一些關於如何開發使用UML的客戶端/服務器系統模型的建議。 在一個簡短的解釋中,系統由運行在手機上的移動客戶端組成。與大多數移動應用程序一樣,移動應用程序連接到服務器以執行一些處理,記錄備份以及與第三方應用程序的連接。關於移動應用程序的UML建模客戶端/服務器系統

我需要的建議是設想整個系統,移動應用程序中的幾乎所有類都複製到服務器應用程序中,但幾個類除外。同樣,在包含移動應用程序中大部分相同類的服務器應用程序中,除了一些其他功能和一些額外功能外。

舉個例子,移動應用程序有一個用戶類,它由演員的個人詳細信息和登錄信息組成。同樣,Server應用程序具有一個User類,它具有Mobile應用程序User類中存在的相同成員,不同之處在於它具有一些不在移動應用程序中的功能/方法。

服務器應用程序還有一個類,它連接到第三方應用程序以執行其計費功能/方法。該類顯然也被複制到移動應用程序中,但是沒有移動應用程序計費類具有連接到第三方的功能/方法。

好的,我覺得如果我要遵循UML建模的原則,我不應該複製這些類,而應該在建模中使用Reuse。由於我利用包到移動應用程序從服務器應用程序分開,我想這將涉及:

  1. 有了這樣做同樣的事情在(方法&成員)都移動&服務器應用程序的基本類
  2. 對於具有額外成員的類&在任何移動或服務器應用程序中的功能,我應該使用繼承依賴關係來構建額外的類來照顧它們。
  3. 使用< <包括>>依賴關係將從#2生成的類添加到Mobile和Server包,或者使用<包括>>依賴關係將#1生成的類添加到移動和服務器包(視情況而定。

請認真思考如何實現建模,因爲我覺得複製相同的類將違反UML建模的理念。然而事實是,它們是移動應用程序和服務器應用程序之間的分隔,我希望我完全單獨爲移動應用程序建模,然後爲服務器應用程序單獨建模。

請再次指出,我的思路是正確的。

回答

1

在我看來,你只是一個模型,三個包:

  • 包含在用於
  • 含有類移動包,其中在移動和服務器應用程序所使用的類一commonComponents包移動應用
  • 含有在服務器應用程序

所使用的類的服務器包的移動和服務器軟件包進口(<>關係)包含在commonComponents包中的元素。例如,用戶commonComponents:User類是在由serve:User類擴展的服務器包中導入的。請注意,由於軟件包是名稱空間,因此您可以使用相同名稱的類。

我希望這可以幫助你

http://lowcoupling.com/post/47802411601/uml-diagrams-and-models-with-papyrus

+0

確定這將是理想的。 非常感謝。 –

相關問題