Bird
Raised Fist0
Software Engineeringknowledge~30 mins

Use case diagrams in Software Engineering - Mini Project: Build & Apply

Choose your learning style10 modes available
Creating a Simple Use Case Diagram
📖 Scenario: You are designing a use case diagram for a library management system. This system allows users to borrow and return books, and librarians to manage the book inventory.
🎯 Goal: Build a basic use case diagram structure that shows the main actors and their interactions with the system.
📋 What You'll Learn
Define the main actors involved in the system
List the key use cases for each actor
Show the relationships between actors and use cases
Include the system boundary to enclose the use cases
💡 Why This Matters
🌍 Real World
Use case diagrams help teams understand system requirements and user interactions clearly before building software.
💼 Career
Software engineers, business analysts, and project managers use use case diagrams to communicate system functions and plan development.
Progress0 / 4 steps
1
Define the Actors
Create a list called actors containing the exact strings 'User' and 'Librarian' representing the main actors in the system.
Software Engineering
Hint

Actors are the people or roles that interact with the system. Here, we have two: User and Librarian.

2
List the Use Cases
Create a dictionary called use_cases with keys 'User' and 'Librarian'. Assign to 'User' the list ['Borrow Book', 'Return Book'] and to 'Librarian' the list ['Manage Inventory'].
Software Engineering
Hint

Use cases describe what actions each actor can perform in the system.

3
Define Relationships
Create a list called relationships containing tuples that link each actor to their use cases exactly as follows: ('User', 'Borrow Book'), ('User', 'Return Book'), and ('Librarian', 'Manage Inventory').
Software Engineering
Hint

Relationships show which actor is connected to which use case.

4
Add System Boundary
Create a string variable called system_boundary and set it to the exact value 'Library Management System' to represent the system boundary enclosing the use cases.
Software Engineering
Hint

The system boundary is a label that shows what system the use cases belong to.

Practice

(1/5)
1. What is the main purpose of a use case diagram in software engineering?
easy
A. To test the software performance
B. To design the database schema
C. To write the program code
D. To show users and their interactions with system functions

Solution

  1. Step 1: Understand the role of use case diagrams

    Use case diagrams visually represent how users (actors) interact with the system's functions (use cases).
  2. Step 2: Compare with other software tasks

    Designing databases, coding, and testing are different activities not shown by use case diagrams.
  3. Final Answer:

    To show users and their interactions with system functions -> Option D
  4. Quick Check:

    Use case diagrams = show actors and interactions [OK]
Hint: Use case diagrams focus on users and their actions [OK]
Common Mistakes:
  • Confusing use case diagrams with database design
  • Thinking use case diagrams show code details
  • Assuming use case diagrams test software
2. Which of the following is the correct symbol for an actor in a use case diagram?
easy
A. A stick figure
B. A rectangle
C. An oval
D. A diamond

Solution

  1. Step 1: Identify actor symbol in use case diagrams

    Actors are represented by stick figures to symbolize users or external systems.
  2. Step 2: Recognize other symbols

    Ovals represent use cases, rectangles and diamonds are not used for actors.
  3. Final Answer:

    A stick figure -> Option A
  4. Quick Check:

    Actor symbol = stick figure [OK]
Hint: Actors are stick figures in use case diagrams [OK]
Common Mistakes:
  • Confusing actors with use cases (ovals)
  • Choosing rectangles or diamonds for actors
  • Not recognizing standard UML symbols
3. Consider a use case diagram with an actor "Customer" connected to two use cases: "Place Order" and "Track Order". What does this connection represent?
medium
A. Customer is a system component
B. Customer can perform both placing and tracking orders
C. Use cases depend on each other
D. Customer is a database entity

Solution

  1. Step 1: Understand actor-use case connections

    Lines between an actor and use cases show the actor can perform those actions.
  2. Step 2: Interpret the given connections

    Customer connected to "Place Order" and "Track Order" means the customer can do both activities.
  3. Final Answer:

    Customer can perform both placing and tracking orders -> Option B
  4. Quick Check:

    Actor connected to use cases = actor performs those actions [OK]
Hint: Lines show actor's possible actions [OK]
Common Mistakes:
  • Thinking actors are system parts
  • Assuming use cases depend on each other
  • Confusing actors with database entities
4. A use case diagram shows an actor connected to a use case with a dashed arrow labeled "<<include>>". What is the likely issue if the arrow is drawn as a solid line instead?
medium
A. The diagram incorrectly shows a direct association instead of an include relationship
B. The actor symbol is wrong
C. The use case should be a rectangle
D. The diagram is missing actors

Solution

  1. Step 1: Understand <<include>> notation

    The <<include>> relationship is shown with a dashed arrow from one use case to another, not from actor to use case.
  2. Step 2: Identify the error in arrow style

    A solid line from actor to use case shows direct association, not an include relationship, so the diagram is incorrect.
  3. Final Answer:

    The diagram incorrectly shows a direct association instead of an include relationship -> Option A
  4. Quick Check:

    Include = dashed arrow between use cases, not solid actor line [OK]
Hint: <<include>> uses dashed arrows between use cases only [OK]
Common Mistakes:
  • Drawing solid lines for <<include>>
  • Confusing actor symbols with use case symbols
  • Misplacing <<include>> arrows from actors
5. You want to model a system where a "User" can either "Login" or "Register" before accessing "Dashboard". Which use case diagram structure correctly shows that "Dashboard" use case requires either "Login" or "Register" first?
hard
A. "Login" and "Register" use cases extend "Dashboard" use case
B. "Dashboard" use case extends "Login" and "Register" use cases
C. "Dashboard" use case includes both "Login" and "Register" use cases
D. Login" and "Register" use cases are actors

Solution

  1. Step 1: Understand include vs extend relationships

    Include means mandatory sub-function; extend means optional or conditional addition.
  2. Step 2: Model login/register before dashboard

    Since "Dashboard" requires either "Login" or "Register" first, "Dashboard" use case includes both "Login" and "Register" use cases to show mandatory preconditions.
  3. Final Answer:

    "Dashboard" use case includes both "Login" and "Register" use cases -> Option C
  4. Quick Check:

    Include = mandatory use case inclusion [OK]
Hint: Use include for mandatory preconditions before main use case [OK]
Common Mistakes:
  • Using extend instead of include for mandatory steps
  • Confusing actors with use cases
  • Reversing direction of include/extend arrows
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard