darth-coder
darth-coder

Reputation: 29

I'm a little bit unsure about my use case diagram

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.

Here is my work

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

Answers (1)

Clifford
Clifford

Reputation: 93556

You could simplify it by creating a hierarchy of actors:

  • Admin is a kind of User
  • Inventory Officer is a kind of User

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:

usecase

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:

enter image description here

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:

enter image description here

Whether that is a correct association is for you to determine - you have only given us the use cases

Upvotes: 1

Related Questions