9  Modeling Exercises

This chapter provides hands-on practice with the modeling techniques you have learned. Working through these exercises will build your skills and prepare you for real-world Business Analysis work.

9.1 Why Practice Matters

Reading about techniques is not enough. You must practice applying them to develop proficiency. These exercises give you that opportunity.

Work through each exercise carefully. Do not rush to look at sample solutions. The learning happens in the struggle to figure things out yourself.

9.2 Exercise 1: Use Case Diagram for Amazon

Create a use case diagram for the Amazon website. Consider all the major functions that users can perform.

Think about different types of actors. Customers have certain capabilities. Registered members have additional capabilities. Sellers have their own set of functions. Administrators manage the system.

Consider the major use cases: searching for products, viewing product details, adding items to cart, managing the cart, checking out, tracking orders, leaving reviews, managing account settings, listing products for sale, managing inventory, and processing returns.

Think about relationships between use cases. Does checkout include payment processing? Does viewing product details extend to viewing reviews?

Draw your diagram before looking at any sample solutions. Then compare your work and identify what you missed or what you might improve.

9.3 Exercise 2: User Stories for Course Registration

Write user stories for a university course registration system. Consider multiple types of users and their needs.

For students, think about what they need to accomplish: searching for courses, checking prerequisites, registering for courses, dropping courses, viewing schedules, joining waitlists, receiving notifications.

For advisors, consider: viewing student records, approving registration overrides, running reports on advisee progress.

For registrars, think about: managing course offerings, setting registration periods, handling special cases, generating transcripts.

Write each story using the standard format: As a [user type], I want [goal] so that [reason].

For at least three of your stories, write acceptance criteria that specify the conditions for completion.

9.4 Exercise 3: Process Model for Order Fulfillment

Create an activity diagram showing the order fulfillment process for an e-commerce company.

Start when an order is received. Consider the steps involved: validating payment, checking inventory, picking items from warehouse, packing the order, generating shipping labels, handing off to carrier, updating order status, sending notifications to customer.

Think about decision points. What happens if payment fails? What if an item is out of stock? What if the shipping address is invalid?

Consider which activities can happen in parallel. Can packing begin before all items are picked? Can the shipping label be generated while packing occurs?

Use swimlanes to show which department or system handles each activity: order management system, warehouse, shipping department, payment processor.

9.5 Exercise 4: Class Diagram for Library System

Design a class diagram for a library management system.

Identify the key entities: books, members, loans, reservations, librarians, branches.

For each class, identify attributes. A book has a title, author, ISBN, publication date, and status. A member has a name, address, membership number, and membership type.

Identify operations. A member can borrow books, return books, and reserve books. A librarian can add books, remove books, and process loans.

Define relationships. A member can have many loans. A loan involves one book. A book can have many reservations. A branch has many books.

Specify multiplicities. How many loans can a member have at once? Can a book be on loan to multiple members simultaneously?

Consider inheritance. Are there different types of members with different borrowing limits? Are there different types of materials besides books?

9.6 Exercise 5: ATM System Complete Analysis

This comprehensive exercise integrates multiple techniques for an ATM system.

9.6.1 Part A: Context Diagram

Draw a context diagram showing the ATM system and its external entities. Consider: customers, the bank’s core system, the card network, the cash management service.

9.6.2 Part B: Use Case Diagram

Create a use case diagram showing major ATM functions: withdraw cash, deposit funds, check balance, transfer between accounts, change PIN.

9.6.3 Part C: Use Case Narrative

Write a complete use case narrative for “Withdraw Cash” including:

  • Use case name and description
  • Primary actor
  • Preconditions
  • Postconditions
  • Basic flow (step by step)
  • Alternative flows (insufficient funds, daily limit exceeded)
  • Exception flows (card retained, system error)

9.6.4 Part D: Activity Diagram

Create an activity diagram showing the withdrawal process with swimlanes for Customer, ATM, and Bank System.

9.6.5 Part E: Class Diagram

Design a class diagram with classes for: Account, Customer, Card, Transaction, ATM.

9.7 Exercise 6: Healthcare Appointment System

A medical clinic wants a new appointment scheduling system. You have gathered the following information from stakeholders:

Patients need to book appointments with specific doctors or for specific services. They want to see available time slots and choose one that works for them. They need reminders before appointments. They want to cancel or reschedule online.

Doctors need to see their daily schedules. They want to block time for administrative tasks. They need patient information before appointments. They want to document visit notes.

Office staff need to manage the overall schedule. They handle walk-ins and emergencies. They need to contact patients about schedule changes. They process insurance information.

9.7.1 Your Tasks

  1. Write five user stories from the patient perspective with acceptance criteria
  2. Create a use case diagram showing major system functions
  3. Design an activity diagram for the appointment booking process
  4. Identify the key classes and their relationships

9.8 Exercise 7: Problem Statement Practice

For each scenario below, write a properly formatted problem statement.

Scenario A: A retail company’s website crashes during peak shopping periods, causing customers to abandon their carts and shop elsewhere.

Scenario B: A manufacturing plant experiences frequent equipment breakdowns because maintenance is only performed after failures occur.

Scenario C: A bank’s loan approval process takes three weeks, causing customers to seek financing from competitors who approve loans faster.

Write each problem statement using the format: The problem of [X] is affecting [Y], the impact of which is [Z], and a successful solution would [outcome].

9.9 Exercise 8: Root Cause Analysis

A software company receives many customer complaints about late deliveries. Use the Five Whys technique to find the root cause.

Starting point: Customer deliveries are frequently late.

Ask “why” at least five times, with each question building on the previous answer. Document your chain of reasoning.

Then create a fishbone diagram exploring multiple potential causes across categories: People, Process, Technology, Policies.

9.10 Tips for Success

As you work through these exercises, keep several principles in mind.

Start with what you know. Do not wait until you understand everything perfectly. Begin drawing, and refine as you go.

Use consistent notation. Follow the standard symbols and conventions for each diagram type.

Seek feedback. Show your work to classmates or colleagues. Different perspectives reveal gaps you might miss.

Iterate. Your first attempt will not be perfect. Refine your models based on what you learn.

Connect the models. Use cases should trace to requirements. Requirements should trace to test cases. Classes should support use cases. The models work together as a coherent whole.

9.11 Reflection Questions

After completing these exercises, reflect on your experience:

  1. Which modeling technique felt most natural to you? Why?
  2. Which technique was most challenging? What made it difficult?
  3. How did creating multiple model types for the same system deepen your understanding?
  4. What would you do differently if you were starting these exercises again?

These exercises prepare you for the more advanced topics in the remaining chapters. The skills you develop here will serve you throughout your career.