Use Case Diagram - bounswe/bounswe2025group8 GitHub Wiki

UseCaseDiagram21_04_2025_6pm

Below is the PlantUML code used to generate the Use Case Diagram:

@startuml
left to right direction

actor "Guest User" as GuestUser
actor "Registered User" as RegisteredUser
actor "Administrator" as Admin

rectangle "Neighborhood Assistance Board" {
    usecase "Register" as UC1
    usecase "Log in" as UC21
    usecase "Log Out" as UC22
    usecase "Recover Password" as UC2
    usecase "Delete Account" as UC18
    
    usecase "View Public Requests" as UC3
    usecase "View Task Feed" as UC20
    usecase "Filter and Search" as UC8
    usecase "View User Profile" as UC16
    usecase "Follow/Unfollow Users" as UC17
    usecase "Add/Remove to/from Bookmarks" as UC10

    usecase "Post Assistance Request" as UC4
    usecase "Attach Photos to Tasks" as UC9
    usecase "Volunteer for Request" as UC5
    usecase "Cancel Assistance Requests" as UC23
    usecase "Update Assistance Requests" as UC24
    usecase "Select Assignee" as UC13
    usecase "Confirm Task Completion" as UC12
    
    usecase "Rate and Review" as UC7
    usecase "Comment on Requests" as UC19
    usecase "Report User" as UC15
    usecase "Ban User" as UC11
    usecase "Edit Notification Preferences" as UC14
    usecase "Change Profile Information" as UC6
}

' Includes Relationships
UC12 ..> UC7 : <<Includes>>


' Extends Relationships (Reversed Arrows)
UC4 <.. UC12 : <<Extends>>
UC4 <.. UC13 : <<Extends>>
UC20 <.. UC5 : <<Extends>>
UC20 <.. UC8 : <<Extends>>
UC8 <.. UC16 : <<Extends>>
UC20 <.. UC10 : <<Extends>>
UC16 <.. UC17 : <<Extends>>
UC21 <.. UC18 : <<Extends>>
UC16 <.. UC15 : <<Extends>>
UC4 <.. UC23 : <<Extends>>
UC4 <.. UC24 : <<Extends>>
UC21 <.. UC22 : <<Extends>>
UC4 <.. UC9 : <<Extends>>
UC20 <.. UC19 : <<Extends>>

' Actor to Use Case Associations
GuestUser -- UC3
GuestUser -- UC1
RegisteredUser -- UC21
RegisteredUser -- UC2
RegisteredUser -- UC4
RegisteredUser -- UC14
RegisteredUser -- UC6
RegisteredUser -- UC20
Admin -- UC11
@enduml
⚠️ **GitHub.com Fallback** ⚠️