Bird
Raised Fist0
LLDsystem_design~7 mins

Activity diagrams in LLD - System Design Guide

Choose your learning style10 modes available
Problem Statement
When designing complex processes, it is easy to lose track of the flow of activities and decisions, leading to confusion and errors in implementation. Without a clear visual representation, teams struggle to understand how different steps connect and where parallel or conditional paths exist.
Solution
Activity diagrams provide a clear, visual way to map out the sequence of actions and decisions in a process. They show the flow from one activity to another, including branching, merging, parallel execution, and synchronization, making it easier to understand and communicate the process logic.
Architecture
Start
→Activity 1
↓
Activity 2
Activity 2
↓
Activity 3
Activity 3
↓
End
End

This diagram shows a simple activity flow starting from Start, moving through activities, a decision point branching to different activities, and ending at End.

Trade-offs
✓ Pros
→
Provides a clear visual representation of process flow, improving team understanding.
→
Captures parallel and conditional paths, showing complex logic simply.
→
Helps identify bottlenecks and redundant steps early in design.
✗ Cons
→
Can become cluttered and hard to read for very large or highly complex processes.
→
Requires familiarity with UML notation to interpret correctly.
→
Not suitable for representing detailed data transformations or system architecture.
Use when designing or documenting workflows, business processes, or system operations involving multiple steps and decisions, especially when clarity of flow is critical.
Avoid for very simple linear processes where a list suffices, or when detailed data modeling or system component interactions are the focus.
Real World Examples
Amazon
Uses activity diagrams to model order processing workflows, showing steps from order placement to shipment including decision points like payment verification.
Uber
Models ride request flows with activity diagrams to clarify parallel processes like driver matching and payment authorization.
LinkedIn
Documents user onboarding processes with activity diagrams to visualize conditional steps based on user input and verification.
Alternatives
Flowcharts
Flowcharts use simpler symbols and focus on process steps but lack standardized notation for parallelism and synchronization.
Use when: Choose flowcharts for very simple or informal process visualization without need for detailed concurrency representation.
Sequence diagrams
Sequence diagrams focus on interactions between system components over time rather than the flow of activities.
Use when: Use sequence diagrams when the focus is on message exchange and timing between objects or services.
State machine diagrams
State machines model states and transitions of an object, not the flow of activities in a process.
Use when: Use state machines when modeling lifecycle or state-dependent behavior of a single entity.
Summary
Activity diagrams visually map the flow of activities and decisions in a process.
They help teams understand complex workflows including parallel and conditional paths.
They are best used for process design and documentation, not for system architecture.

Practice

(1/5)
1. What is the main purpose of an activity diagram in system design?
easy
A. To visually show the flow of tasks and decisions in a process
B. To list all database tables and their relationships
C. To define the hardware requirements for a system
D. To write the detailed code for each function

Solution

  1. Step 1: Understand activity diagram purpose

    Activity diagrams are used to show how tasks flow and decisions are made in a process.
  2. Step 2: Compare with other options

    Options B, C, and D describe database design, hardware planning, and coding, which are not the role of activity diagrams.
  3. Final Answer:

    To visually show the flow of tasks and decisions in a process -> Option A
  4. Quick Check:

    Activity diagram = task flow visualization [OK]
Hint: Activity diagrams map task flows, not data or code [OK]
Common Mistakes:
  • Confusing activity diagrams with database diagrams
  • Thinking activity diagrams show code details
  • Mixing hardware design with activity flow
2. Which of the following is the correct symbol for a decision point in an activity diagram?
easy
A. A rectangle with rounded corners
B. A circle with a thick border
C. A diamond shape
D. A parallelogram

Solution

  1. Step 1: Recall activity diagram symbols

    Decision points in activity diagrams are shown as diamond shapes to represent branching.
  2. Step 2: Identify other symbols

    Rectangles with rounded corners are actions, circles with thick borders are start/end nodes, and parallelograms are not standard in activity diagrams.
  3. Final Answer:

    A diamond shape -> Option C
  4. Quick Check:

    Decision symbol = diamond [OK]
Hint: Decision points always use diamond shapes [OK]
Common Mistakes:
  • Confusing decision diamonds with action rectangles
  • Using circles for decisions
  • Mixing input/output symbols with decisions
3. Consider this activity diagram snippet:
Start -> Action A -> Decision (Yes/No)
Yes -> Action B -> End
No -> Action C -> End

What is the correct flow if the decision is 'No'?
medium
A. Start -> Action A -> Action B -> End
B. Start -> Action A -> End
C. Start -> Action A -> Decision -> Action B -> Action C -> End
D. Start -> Action A -> Action C -> End

Solution

  1. Step 1: Trace the flow for 'No' decision

    From the decision node, if the answer is 'No', the flow goes to Action C, then to End.
  2. Step 2: Verify other options

    Start -> Action A -> Action B -> End follows 'Yes' path, Start -> Action A -> Decision -> Action B -> Action C -> End incorrectly chains both actions, Start -> Action A -> End skips actions after decision.
  3. Final Answer:

    Start -> Action A -> Action C -> End -> Option D
  4. Quick Check:

    'No' decision leads to Action C [OK]
Hint: Follow arrows from decision to correct action [OK]
Common Mistakes:
  • Mixing 'Yes' and 'No' paths
  • Skipping actions after decision
  • Assuming both paths run together
4. In an activity diagram, a developer mistakenly connects two actions with a double arrow instead of a single arrow. What is the likely issue?
medium
A. There is no difference; arrows can be single or double
B. The flow will be interpreted as parallel execution, causing confusion
C. The double arrow means the process loops infinitely
D. The diagram will show a syntax error and not render

Solution

  1. Step 1: Understand arrow meaning in activity diagrams

    Single arrows show normal flow; double arrows often indicate parallel or concurrent flows.
  2. Step 2: Analyze impact of double arrow misuse

    Using double arrows between two actions may confuse readers into thinking tasks run in parallel, which is incorrect if not intended.
  3. Final Answer:

    The flow will be interpreted as parallel execution, causing confusion -> Option B
  4. Quick Check:

    Double arrow = parallel flow confusion [OK]
Hint: Single arrow = flow; double arrow = parallel flow [OK]
Common Mistakes:
  • Assuming double arrows cause syntax errors
  • Thinking double arrows mean loops
  • Ignoring arrow style importance
5. You need to design an activity diagram for a user login process that includes entering credentials, validating them, and either granting access or showing an error. Which sequence correctly represents this flow?
hard
A. Start -> Enter Credentials -> Validate -> Decision (Valid?) -> Access Granted / Show Error -> End
B. Start -> Validate -> Enter Credentials -> Decision (Valid?) -> Access Granted / Show Error -> End
C. Start -> Enter Credentials -> Decision (Valid?) -> Validate -> Access Granted / Show Error -> End
D. Start -> Enter Credentials -> Access Granted -> Validate -> Show Error -> End

Solution

  1. Step 1: Identify correct logical order

    User must first enter credentials, then system validates them before deciding validity.
  2. Step 2: Check each option's sequence

    Start -> Enter Credentials -> Validate -> Decision (Valid?) -> Access Granted / Show Error -> End follows logical order: enter -> validate -> decision -> outcome. Others have steps out of order.
  3. Final Answer:

    Start -> Enter Credentials -> Validate -> Decision (Valid?) -> Access Granted / Show Error -> End -> Option A
  4. Quick Check:

    Login flow = enter -> validate -> decide -> outcome [OK]
Hint: Follow real process order: input, check, decide, respond [OK]
Common Mistakes:
  • Placing validation before input
  • Skipping decision step
  • Mixing outcome order
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