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