Reputation: 29
My teacher just gave me a task to create a use case diagram based on her given use cases and I have 2 actors which is Admin and Inventory officer and they are most likely the same to each other, but I'm not sure enough if I'm doing it right.
This is the use cases my teacher gave to me:
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
My question is do I need to improve my work? Or it's all good to go?
Upvotes: 0
Views: 186
Reputation: 93556
You could simplify it by creating a hierarchy of actors:
Then for all the "uses" associations in which both users are involved only need be drawn from the generic "User", while the specialist uses can be drawn from the specific actor sub-class. In practice then use cases "System Configuration" and "Switch Portal" will be connected to "System Admin" and all others connected to "User". It will be semantically identical, but simpler to comprehend with fewer "uses" associations.
Example:
Your internal relationships are not stereotype labelled. Most commonly these are either «extend» or «include» relations. An extension is a use case that may occur in some instances of the primary use case, while an inclusion is a use case that occurs in all instances of the primary use case:
To help with the correct direction of the arrow in these relations, it helps to add an implicit 's' when you read it so that for example "A extends B" and "C includes D.
So in this case for example presumably cancelling an order is an exceptional case that does not occur every time you send an order, so it seems likely that your untyped association should be «extend» and in the reverse direction to as you have it:
Whether that is a correct association is for you to determine - you have only given us the use cases
Upvotes: 1