【UML】用例图中<<extend>>与<<include>>的区别
<<extend>>與<<include>>
<<include>> 關系允許將被包含用例中的公共行為分解出來。
<<extend>> 關系通過在特定的擴展點激活另一個用例來擴展一個用例的行為,從而提供了一種可控的擴展形式。
<<include>> 與 <<extend>> 關系的不同點在于“被包含”用例對“激活”用例的完成來說是必需的。
實例分析
上圖是一個大學注冊系統的高層用例圖,該模型包含了4個參與者和4個用例。每一個用例由一個參與者啟動,是一個完整的、外部可見的和正交的功能。除了 Student 以外,所有的參與者都是啟動者。Student 首先獲取考試結果和注冊指導,然后才能輸入和驗證下學期的學習計劃。
用例 Provide examination results 可以 <<extend>> 用例 Provide enrolment instructions,但前者并不總是擴展后者。例如,對新生來說,考試結果還是未知的。這就是用 <<extend>> 構建擴展型,而不是用 <<include>> 來為這個關系建模的原因。
從用例 Enter program of study 到用例 Validate program of study 建立了 <<include>> 關系,這個 <<include>> 關系表明前者總是包含后者,每當輸入學習計劃時,都要驗證是否存在時間沖突和特殊的批準等。
總結
以上是生活随笔為你收集整理的【UML】用例图中<<extend>>与<<include>>的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【数据库系统】数据库与SQL
- 下一篇: 洛谷 P5708、P5714、P5720