Use Case Diagram for Stack Overflow
Learn how to define use cases and create the corresponding use case diagram for the Stack Overflow problem.
Let’s build the use case diagram of Stack Overflow and understand the relationship between its different components.
First, we’ll define the different elements of our Stack Overflow system, followed by the complete use case diagram of the system.
System
Our system is "Stack Overflow."
Actors
Now, we’ll define the main actors of Stack Overflow.
Primary actors
User: This actor can create, answer, and flag questions. This actor can add bounty, tags, and comments to questions, and vote to close or delete questions or answers.
Secondary actors
Guest: The guest can only search and view questions and their answers but needs to register an account to ask and answer questions.
Admin: The admin is in charge of performing numerous operations, such as blocking or unblocking users.
Moderator: The moderator is in charge of performing numerous operations, such as closing, reopening, deleting, and restoring questions.
System: This is responsible for awarding badges to users and sending out notifications whenever a new answer is added to a question asked by a user.
Use cases
In this section, we’ll define the use cases for Stack Overflow. We have listed the use cases according to their respective interactions with a particular actor.
Note: You will see some use cases occurring multiple times because they are shared among different actors in the system.
User
Login/Logout: To log in or log out from the Stack Overflow account
Reset password: To reset the password of the Stack Overflow account
Add/modify/flag question: To create a new question or modify or flag an existing question
Add/modify/flag answer: To create a new answer or modify or flag an existing answer
Add comment: To add a comment to a question or answer
Vote to close/delete question: To vote to either close or delete an existing question
Upvote/downvote: To either offer support or register disapproval for a post
Guest
Search/view question: To search for a question from Stack Overflow and view its contents
Register account: To register an account
Admin
Block/unblock user: To block or unblock a user
Moderator
Close/reopen/delete/restore question: To close or delete an existing question, reopen a closed question or restore a deleted question
Delete answer: To delete an existing answer
System
Award badge to a user: To award an earned badge to a user
Send notification: To send a notification if any new answer or comment is added to a question followed by a user, and if there is an upvote or downvote on a question/answer
Relationships
We describe the relationships between and among actors and their use cases in this section.
Generalization
"Moderator" has a generalization relationship with "User" as the moderator can perform all those tasks that a normal user can perform.
"User" has a generalization relationship with "Guest" as the normal user can perform all those tasks that a guest user can perform.
Associations
The below table shows the association relationship between actors and their use cases.
Level up your interview prep. Join Educative to access 70+ hands-on prep courses.