Use Case Diagram for Scenario 2 - bounswe/bounswe2026group4 GitHub Wiki
This is the Use Case Diagram for Scenario 2: Preserving the Memory of Eski Çınar Parkı - Ceyhan, Adana. It is prepared by sub-group 4, @OguzSemih and @KmalM.
Ambiguity:
There was initial uncertainty about how the Log in use case should be related to the user and whether it should be modeled as a direct association or as a prerequisite for other actions. After discussion, we decided to model login as a required step for actions such as story submission and commenting.
Assumptions:
- The user is already registered and verified, as stated in the pre-conditions.
- The user has the required media (photos and video) ready before starting the story submission process.
- Core system capabilities (map display, story creation, and commenting) are available and functioning.
Code
@startuml
left to right direction
skinparam actorStyle stickman
skinparam packageStyle rectangle
actor "Ayse (Registered & Verified User)" as User
rectangle "Local History Story Map Platform" {
(Log in) as UC_Login
(View map) as UC_ViewMap
(Search location) as UC_Search
(Zoom to neighborhood) as UC_Zoom
(Mark location on map) as UC_MarkLoc
(Add new story) as UC_AddStory
(Open story form) as UC_OpenForm
(Submit story) as UC_Submit
(Provide title) as UC_Title
(Select time range 1970-2005) as UC_Time
(Write description 200+ chars) as UC_Desc
(Upload photos JPEG) as UC_Photos
(Upload video MP4) as UC_Video
(Validate required fields) as UC_Validate
(Verify file sizes) as UC_FileSize
(Display upload progress) as UC_Progress
(Publish story) as UC_Publish
(Show story pin on map) as UC_Pin
(Open story) as UC_OpenStory
(View photographs) as UC_ViewPhotos
(Watch video) as UC_WatchVideo
(Notice other story same location) as UC_Notice
(Leave comment) as UC_Comment
(Display comment timestamp) as UC_Timestamp
}
' Actor connections
User --> UC_ViewMap
User --> UC_Search
User --> UC_MarkLoc
User --> UC_AddStory
User --> UC_Submit
User --> UC_OpenStory
User --> UC_Comment
User --> UC_Notice
' Preconditions as includes (optional but clear)
UC_AddStory ..> UC_Login : <<include>>
UC_Comment ..> UC_Login : <<include>>
' Search extended by zoom
UC_Search <.. UC_Zoom : <<extend>>
' Add story includes opening form and submitting
UC_AddStory ..> UC_OpenForm : <<include>>
UC_AddStory ..> UC_Submit : <<include>>
' Submit includes form fields + checks + publishing
UC_Submit ..> UC_Title : <<include>>
UC_Submit ..> UC_Time : <<include>>
UC_Submit ..> UC_Desc : <<include>>
UC_Submit <.. UC_Photos : <<extend>>
UC_Submit <.. UC_Video : <<extend>>
UC_Submit ..> UC_Validate : <<include>>
UC_Submit ..> UC_FileSize : <<include>>
UC_Submit ..> UC_Progress : <<include>>
UC_Submit <.. UC_Publish : <<extend>>
UC_Publish ..> UC_Pin : <<include>>
' Open story includes viewing media
UC_OpenStory <.. UC_ViewPhotos : <<extend>>
UC_OpenStory <.. UC_WatchVideo : <<extend>>
' Comment includes timestamp display
UC_Comment ..> UC_Timestamp : <<include>>
' Optional extend
UC_OpenStory <.. UC_Notice : <<extend>>
@enduml