在Use Case中,我以前一直分不清include和extends的区别,理解了以后现在总结一下。
include是包含的意思。
如果B用例包含在A用例中,如下图一所示。
(图一)
当去除B用例时,则A用例将变得不完整,所以对于A用例来说B用例是必须的。
extend是扩展的意思。
如果B用例扩展了A用例,如下图二所示。
(图二)
当去除B用例时,A用例仍然可以运转,所以对于A用例来说B用例不是必须的。
所谓一图胜千言别,我们再来分析一下下面2张图:
(图三)
(图四)
以前我会分不清这两张图到底哪张是正确的,理解了extend和include的区别后,我们可以很容易分清哪张用例图是正确的。第三张图表示管理员可以查询用户信息,如果需要的话还可以修改用户的信息。第四张图表示管理员在查询用户信息的同时还要修改用户信息。在第四张图中,修改用户信息变得是必须要做的了,因此不符合逻辑。于是,第三张图是正确的。
附件:
|