期末考试备考:图书馆系统用例图设计疑问咨询
图书馆系统用例图疑问解答
嘿,结合你给出的图书馆系统需求,我来帮你拆解这两个疑问:
疑问1:借阅者是否需与“注册新借阅者”用例交互?
完全不需要哦!根据需求(F),“注册新借阅者”的唯一执行者是馆员——这个动作是馆员在系统中完成的,比如给新用户办借阅卡时录入信息。借阅者是这个用例的受动对象(被注册的人),并不是触发该用例的操作者。举个现实场景:你去图书馆办卡,是馆员操作系统帮你完成注册,你只需要提供个人信息,根本不需要碰系统的注册功能。所以用例图里只需要让“馆员”和“注册新借阅者”用例建立关联,借阅者不需要和这个用例产生交互。
疑问2:“书目可用”的触发源与用例关系
先回到你的需求描述:
若借阅时书目无可用副本,可预约该书目;书目可用时,系统将通过邮件通知借阅者
首先要明确:“书目可用”是一个系统检测到的状态变化,触发的是“通知借阅者”的动作,而不是一个独立的用户发起用例。对比两张图的设计:
- 第一张图把“书目可用”作为“书目不可用”的衍生用例:逻辑不通,因为“书目不可用”是借阅时的临时状态,它的后续是“预约书目”,而非直接衍生出“书目可用”。
- 第二张图把“书目可用”设为“借阅书目”的扩展用例:也不准确,因为“书目可用”的通知发生在预约之后,不是借阅动作的过程中。
更准确的设计应该是:“预约书目”用例执行后,系统持续监控该书目状态,当有可用副本时,自动触发“通知借阅者”的系统用例(执行者是系统,关联到借阅者)。如果只能在你给出的两张图里选,第二张图的扩展思路更接近,但需要把扩展关系从“借阅书目”调整到“预约书目”上,这样才符合需求逻辑。
内容的提问来源于stack exchange,提问作者Miguel




