UML中擴充和泛化的區別

來源:互聯網
上載者:User

泛化表示類似於OO術語“繼承”或“多態”。UML中的Use Case泛化過程是將不同Use Case之間的可合并部分抽象成獨立的父Use Case,並將不可合并部分單獨成各自的子Use Case;包含以及擴充過程與泛化過程類似,但三者對用例關係的最佳化側重點是不同的。如下:
●泛化側重表示子用例間的互斥性;
●包含側重表示被包含用例對Actor提供服務的間接性;
●擴充側重表示擴充用例的觸發不定性;詳述如下:

既然用例是系統提供服務的UML表述,那麼服務這個過程在所有用例情境中是必然發生的,但發生按照發生條件可分為如下兩種情況:
1.無條件發生:肯定發生的;
2.有條件發生:未必發生,發生與否取決於系統狀態;

因 此,針對用例的三種關係結合系統狀態考慮,泛化與包含用例屬於無條件發生的用例,而擴充屬於有條件發生的用例。進一步,用例的存在是為Actor提供服 務,但用例提供服務的方式可分為間接和直接兩種,依據於此,泛化中的子用例提供的是直接服務,而包含中的被包含用例提供的是間接服務。同樣,擴充用例提供 的也是直接服務,但擴充用例的發生是有條件的。

另外一點需要提及的是:泛化中的子用例和擴充中的擴充用例均可以作為基本用例事件的備選擇流而存在。java-javascript 風之境地

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.