我的老师刚刚给了我一个任务,根据她给定的用例创建一个用例图,我有 2 个参与者,分别是管理员和库存官员,他们很可能彼此相同,但我不确定是否我做对了。
这是我的老师给我的用例:
Administrator(Actor)
Add User Account
Update User Account
Deactivate User Account
View User Account
Add User Group
Update User Group
Remove User Group
View User Group
Add Vendor
Update Vendor
Deactivate Vendor
View Vendor
Add Location
Update Location
Deactivate Location
View Location
Add Product Category
Update Product Category
Remove Product Category
View Product Category
Add Product
Update Product
Deactivate Product
View Product
Add Status
Update Status
View Status
Create Purchase Requisitions
Modify Purchase Requistions
Submit Purchase Requisitions
View Purchase Requistions
Cancel Purchase Order
Send Purchase to Supplier
View Purchase Orders
View Purchase Requisitions
Cancel Purchase Requisitions
Withdraw Items
Receive Items
View Inventory
View Notifications
Exipiration Alerts
View Product Updates
View Product Updates
View Supplier Updates
View Location Updates
View Cancelled Purchase Requisitions
View Approved Purchase Requisitions
View Purchase Orders
View Withdrawn items
View Received Items
View Aging of Purchase Requisitions Report
View Purchase Requisitions by Status Report
View Aging of Purchase Orders
View Purchase Order Status
View Inventory Report
View Vendor List report
View Location List report
View Product List report
我的问题是我的工作需要改进吗?还是一切顺利?
您可以通过创建参与者层次结构来简化它:
然后,对于两个用户都涉及的所有“用途”关联,只需要从通用“用户”中提取,而专业用途可以从特定的参与者子类中提取。在实践中,“系统配置”和“交换机门户”用例将连接到“系统管理员”,所有其他用例将连接到“用户”。它在语义上是相同的,但更容易理解,并且“使用”关联更少。
示例:
你的内部关系没有被刻板地贴上标签。最常见的是“扩展”或“包含”关系。扩展是可能出现在主要用例的某些实例中的用例,而包含是出现在主要用例的所有实例中的用例:
为了帮助这些关系中箭头的正确方向,它有助于在玩具读取时添加隐含的“s”,以便母狗示例“A扩展B”和“C包括D。
因此,在这种情况下,取消订单可能是一种例外情况,不会在您每次发送订单时发生,因此您的非类型化关联似乎应该是“扩展”,并且方向与您所拥有的相反: