常用建模技術

(1)對系統的詞彙建模

        爲了對系統的詞彙建模,需做如下工作: 

  • 識別用戶或實現者用於描述問題或者描述解決方案的那些事物。用CRC卡和基於用況分析的技術幫助用戶發現這些抽象。
  • 對於每個抽象,識別一個職責集。確保能清楚地定義每個類,而且這些職責能在所有的類之間很好的均衡。
對系統的詞彙建模

(2)對系統中的職責分佈建模

        一旦開始大量的類建模,就要保證抽象提供了均衡的職責集。

        這意味着不能讓任何類過大或過小,每一個類應該做好一件事。

        若抽象出來的類過大,將會發現模型難以變化而很不容易複用;

        若抽象出來的類過小,則最終抽象會過多,難以合理的管理和理解。

        可以使用UML來幫助可視化和詳述這種職責的均衡。

       對系統中的職責分佈建模,要做如下工作:

  • 識別一組爲了完成某些行爲而緊密地協同工作的類。
  • 對上述的每一個類識別出一組職責。
  • 從整體上觀察這組類,把職責過多的類分成較小的抽象,把職責過於瑣碎的小類合成較大的類,重新分配職責以使每一個抽象合理的存在。
  • 考慮這些類的相互協作方式,相應地重新分配它們的職責,使協作中沒有哪個類的職責過多或過少。
對系統中的職責分佈建模

(3)對非軟件事物建模

   有時,要建模的事物在軟件中並無類似物。

    爲了對非軟件事物建模,要做如下工作:

  • 對抽象爲類的事物建模
  • 如果要將這些非軟件事物與UML已定義的構造塊相區別,就要創建一個新的構造塊,用衍型詳述這些新語義,並給出不同的可視化提示。
  • 如果建模的事物是某種本身包含軟件的硬件,考慮把它建模爲一個結點,以便能進一步擴充它的結構。
對非軟件事物建模

    (4)對簡單類型建模,要做如下工作:

  • 對抽象爲類型或枚舉的事物建模,這可以用帶有適當衍型的類表示符來表示。
  • 若需要詳述與該類型相聯繫的值域,可以使用約束。
對簡單類型建模

 

 提示和技巧

 在用 UML 對類建模時要記住:對最終用戶或實現者來說,各個類都應該映射到某個有形的或者概念性的抽象。

一個結構良好的類,應符合如下條件:

  • 爲取自問題域或者解域的詞彙中的事物提供明確的抽象。
  • 嵌入一個小的、明確定義的職責集,並且能很好的實現它們。
  • 把抽象的規約和它的實現清楚的分開。
  • 簡單而且可理解,並且具有可適應性和可擴展性。

當用UML 繪製一個類時,要遵循如下的策略:

  • 僅顯示在該類的語境中對於理解抽象較爲重要的類的特徵。
  • 按屬性和操作的種類進行分組,以更好的組織其長列表。
  • 把相關的類顯示在同一個類圖中。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章