邬俊杰 2022-8-24 21:24
潘老师,我复习《微信餐馆》课程,遇到这样一个问题:
“启动二维码对应的程序”,按照书上说的指向系统就是一个系统用例,那是不是所有的微信小程序、h5页面都有这样一个用例?
如果是这样,那么图中这两个“启动二维码对应的程序”是两个系统用例,但是名字相同,这样是合理的吗
UMLChina潘加宇
系统暴露给微信的接口,应该就是“启动二维码对应程序”,参数是“二维码”,二维码的信息应该包括指定页面或小程序的路径和服务参数。
所以,图中这两个“启动二维码对应的程序”是同一个责任,只不过参数值,也就是具体二维码不同。
当时这样的考虑是序列图中有微信扫码,小程序等信息,这样这个建模示范视频更好卖。
但实际上这是不合适的,视频里也有讲:微信就是一个噱头。
微信、二维码只是一种实现方案,和鼠标点击某个菜单项没有本质区别,属于非核心域概念。
如果是严谨的做法,应该把“微信”从序列图中删掉,把扫码等责任也删掉,用例仍为食客→取号,食客→点菜。
然后,在设计工作流再考虑这个边界类实现的问题。
这个问题似乎我之前回答过。不过当时没归纳到答疑记录,把之前的回答也贴一下。