關于include與extend的差別,在之前畫uml圖的時候并沒有注意到,還是在畫第二遍機房收費系統圖驗收的時候師傅提出來的,于是查了一些資料,我在機房收費系統中是這樣用到include的:
我在一開始看過其他資料的時候大家都是這麼用的,我也就想都沒想慣性的用了include,但是也不知道原因,就自以為這兩個用例都要用這個exportexcel,就是都包括,可是為什麼不能用extend呢?下面看看他們的差別:
include是指用例中的包含關系,通常發生在多個用例中,有可以提取出來的公共部分,如上圖中,queryonline和queryrecharge知道exportexcel這個用例,但是exportexcel并不知道queryonline和queryrecharge這兩個用例
而extend與include恰恰相反,先舉個例子:
在這個例子中,使用者隻知道自己有發送消息的功能,但至于通過哪條途徑,使用者并不知道,但“通過短信”和“通過郵件”這兩個途徑知道如何擴充“發送一條消息”這條途徑。
在需求分析階段,可能無法明确到底有多少中方式,在用例分析階段,發送一條消息用例需要留出擴充接口,然後把已知的發送方式作為擴充用例給出,即如上圖所示。
實踐出真知,希望和大家交流!