### **Complete Guidelines to Draw a UML Use Case Diagram for an Online Event
Planning System (Admin Perspective)**
This guide will help you **step by step** to draw a **complete UML Use Case
Diagram**, including **actors, use cases, <<includes>>, and <<extends>>
relationships**.
---
## **1. Choose a Drawing Tool**
You can use **any UML diagramming tool**:
- **Online Tools:**
- [Draw.io (diagrams.net)](https://www.diagrams.net/)
- [Lucidchart](https://www.lucidchart.com/)
- [Creately](https://creately.com/)
- **Software:**
- StarUML
- Microsoft Visio
- Enterprise Architect
---
## **2. Identify Main Components of the Diagram**
A UML Use Case Diagram consists of:
- **Actors (Stick Figures):** Who interacts with the system (e.g., Admin).
- **System Boundary (Rectangle):** Represents the **Online Event Planning System**.
- **Use Cases (Ovals):** Functions that the **Admin** can perform.
- **Relationships (Lines & Arrows):**
- **Solid Lines:** Connect actors to use cases.
- **Dashed Arrows with <<includes>>:** Show required sub-tasks.
- **Dashed Arrows with <<extends>>:** Show optional/conditional tasks.
---
## **3. Draw the System Boundary**
1. **Start with a large rectangle** and **label it as "Online Event Planning
System"** at the top.
2. **All use cases (ovals) should be inside this boundary** to indicate they belong
to the system.
---
## **4. Add the Primary Actor (Admin)**
1. Draw a **stick figure outside** the system boundary.
2. **Label it "Admin"** to represent the administrator user.
---
## **5. Add Use Cases (Ovals) Inside the System Boundary**
Organize the use cases into categories:
### **User Administration**
- Register New User
- Modify User Details
- Remove User Account
- View User Profiles
- Suspend User Account (**<<extends>>** Remove User Account)
### **Oversee Events**
- Approve Submitted Events
- Update Event Information
- Cancel an Event
- Review Event Listings
- Reject Event Submission (**<<extends>>** Approve Submitted Events)
- Notify Organizer of Event Changes (**<<extends>>** Update Event Information)
### **Vendor Supervision**
- Verify Vendor Registration
- Update Vendor Information
- Blacklist a Vendor
- Access Vendor Database
- Suspend Vendor Account (**<<extends>>** Blacklist a Vendor)
### **Financial Operations**
- Track Payment Transactions
- Process Refund Requests
- Approve Payment Withdrawals
- Flag Suspicious Transactions (**<<extends>>** Track Payment Transactions)
- Escalate Refund Request (**<<extends>>** Process Refund Requests)
### **Generate System Reports**
- Analyze Event Performance
- Monitor User Activity
- Download Report as PDF (**<<extends>>** Generate System Reports)
- Schedule Automated Reports (**<<extends>>** Generate System Reports)
---
## **6. Connect the Admin to the Use Cases (Solid Lines)**
- Draw **solid lines** from the **Admin actor** to each **main use case** that they
can perform.
---
## **7. Add <<includes>> Relationships (Dashed Arrows with Label)**
- **User Administration** **<<includes>>** Modify User Details, Remove User
Account, View User Profiles
- **Oversee Events** **<<includes>>** Approve Submitted Events, Update Event
Information, Cancel an Event, Review Event Listings
- **Vendor Supervision** **<<includes>>** Verify Vendor Registration, Update Vendor
Information, Blacklist a Vendor, Access Vendor Database
- **Financial Operations** **<<includes>>** Track Payment Transactions, Approve
Payment Withdrawals
**How to Draw It?**
1. Draw a **dashed arrow** from the **main use case** to the **included use case**.
2. Label the arrow with **<<includes>>**.
---
## **8. Add <<extends>> Relationships (Dashed Arrows with Label)**
Use cases that are **optional or occur under certain conditions** are
**extensions** of the main use cases.
| **Extended Use Case** | **Extending Use Case**
| **Reason** |
|------------------------------|--------------------------------------------------|
----------------------------------------------------|
| Remove User Account | Suspend User Account |
If the admin wants to temporarily disable instead of deleting. |
| Approve Submitted Events | Reject Event Submission |
If an event doesn’t meet system guidelines. |
| Update Event Information | Notify Organizer of Event Changes |
If changes should be communicated to the organizer. |
| Blacklist a Vendor | Suspend Vendor Account |
If the vendor should be blocked temporarily. |
| Track Payment Transactions | Flag Suspicious Transactions |
If the system detects an unusual transaction. |
| Process Refund Requests | Escalate Refund Request |
If an issue needs further review. |
| Generate System Reports | Download Report as PDF |
If the admin needs a downloadable copy. |
| Generate System Reports | Schedule Automated Reports |
If reports should be sent at regular intervals. |
**How to Draw It?**
1. Draw a **dashed arrow** from the **extending use case** to the **main use
case**.
2. Label the arrow with **<<extends>>**.
---
## **9. Final Review Checklist ✅**
✔ **All use cases are inside the system boundary**
✔ **The Admin actor is outside the system boundary**
✔ **Solid lines connect the Admin to main use cases**
✔ **Dashed arrows with "<<includes>>" show required sub-tasks**
✔ **Dashed arrows with "<<extends>>" show optional/conditional tasks**
✔ **Labels are clear and readable**
---
## **10. Example Diagram Layout (Visual Representation)**
📌 **Example of how your diagram should look:**
```
+----------------------------------------------------+
| Online Event Planning System |
| |
| (Approve Events) <----- (Reject Events) <<extends>> |
| | |
| | <<includes>> |
| v |
| (Update Event Info) <----- (Notify Organizer) <<extends>> |
| |
| (Track Transactions) <----- (Flag Suspicious Transactions) <<extends>> |
| |
| (Generate Reports) <----- (Download as PDF) <<extends>> |
+----------------------------------------------------+
|
|
[Admin]
```
---
🎨 **Now, draw your diagram using the steps above!** If you need help, let me
know. 🚀