Use Case Diagram (Initial) ‐ Scenario 1 - bounswe/bounswe2026group11 GitHub Wiki
Use Case Diagram for Scenario 1
The bullet points below summarize potential ambiguities / implicit assumptions in the Scenario #1 use case diagram:
-
Registration is assumed to be already completed: The scenario pre-conditions state Elif has "already completed phone-based registration", so the diagram omits a Register use case entirely. This assumes registration is handled in a separate flow/scenario and is not part of this diagram's scope.
-
Filters are modeled as optional (<<extend>>) but the scenario uses all three: Distance, Time Window, and Category filters all extend Discover. In the main flow, Elif applies all three together. The diagram does not clarify whether filters can be combined simultaneously, applied incrementally, or whether the system requires at least one filter for meaningful results.
-
Map View and List View are independent extends with no toggle relationship: Both views extend Discover as separate options. The scenario describes Elif switching from Map View to List View to inspect a specific event. The diagram does not model the interplay between the two views (e.g., whether selecting an event in List View highlights it on the Map, or whether both are visible simultaneously as a split view).
-
Protected is the only visibility level modeled: The entire join flow assumes a Protected event. The diagram does not show how the flow would differ for Public events (no approval needed, direct join) or Private events (invitation only). The system supports all three visibility levels, but only the protected path is covered.
-
Ticket (Unique ID) and single-use validation are not in the original scenario text: The use cases "Receive Event Ticket", "Use Event Ticket (Single Use)" were added based on supplementary discussion. They are not referenced in the original scenario requirements list or main flow steps. This is an extension beyond the documented scenario and assumes a ticketing system exists.
-
Notification is generic and does not distinguish direction or channel: A single "Send Notification" use case is included by Request to Join, Approve, and Reject. The diagram does not clarify:
- who receives each notification (user vs. organizer),
- the notification channel (push, in-app inbox, email),
- whether notifications are real-time,
- what happens if notification delivery fails.
-
View Requester Profile uses <<extend>> instead of <<include>>: The diagram models profile viewing as an optional extension of Approve/Reject. This implies the organizer might skip reviewing the requester's profile before deciding.
-
Archival and analytics retention are not modeled: The scenario explicitly references event archival and data retention for analytics in the Post-Event phase, but the diagram only includes "Search Event History". The use cases for archiving a completed event and retaining historical data are omitted, assuming they are system-internal processes not initiated by any actor.
-
No alternate or error flows are shown: The diagram covers the happy path only. It does not model:
- what happens if the organizer rejects the request (beyond sending a notification),
- what if the event reaches maximum capacity before approval,
- what if the user cancels their pending request.