-
Notifications
You must be signed in to change notification settings - Fork 0
Use Case Diagram
Barathan edited this page Mar 18, 2025
·
4 revisions
@startuml
left to right direction
' Define the actors
actor User
actor Admin
actor Moderator
' Group use cases by functional area using packages
package "User & Account Management" {
usecase "Sign Up" as SignUp
usecase "Log In" as Login
usecase "Login via Google" as GoogleLogin
usecase "Reset Password" as ResetPassword
usecase "View Profile" as ViewProfile
usecase "Edit Profile" as EditProfile
usecase "Upload Profile Picture" as UploadProfilePic
usecase "Add Bio/Description" as AddBio
usecase "Set User Location" as SetLocation
usecase "Enable/Disable Notifications" as ManageNotifications
usecase "Delete/Deactivate Account" as DeleteAccount
usecase "Authenticate Login" as AuthenticateLogin
}
package "Admin Management" {
usecase "Manage User Accounts" as ManageAccounts
usecase "Review User Activity" as ReviewActivity
usecase "Send Platform Notifications" as SendPlatformNotifications
usecase "Access Analytics Dashboard" as AccessAnalytics
usecase "Modify Platform Settings" as ModifySettings
usecase "Approve Custom Waste Category" as ApproveCustomCategory
usecase "Manage Group Challenges" as ManageGroupChallenges
usecase "Award Challenge Points" as AwardChallengePoints
}
package "Moderator Functions" {
usecase "Review Flagged Content" as ReviewFlagged
usecase "Warn/Suspend Users" as WarnUsers
usecase "Escalate Issues to Admin" as EscalateIssues
usecase "Communicate with Violating Users" as CommunicateViolations
}
package "Waste Tracking & Scoring" {
usecase "Log Waste" as LogWaste
usecase "View Waste Logs" as ViewWasteLogs
usecase "Request Custom Waste Category" as RequestCustomCategory
usecase "Upload Waste Photo" as UploadWastePhoto
usecase "View Waste Reduction Suggestions" as ViewSuggestions
usecase "View Scoring System" as ViewScoring
}
package "Goal Management" {
usecase "Set Waste Reduction Goal" as SetGoal
usecase "Select Predefined Goal" as SelectGoal
usecase "Create Custom Goal" as CreateCustomGoal
usecase "Edit Goal" as EditGoal
usecase "Track Goal Progress" as TrackGoalProgress
usecase "Compare Progress" as CompareProgress
}
package "Tips & Recommendations" {
usecase "View Tips" as ViewTips
usecase "Search Tips" as SearchTips
usecase "Save Tips" as SaveTips
usecase "Submit Tips" as SubmitTips
usecase "Share Tips" as ShareTips
usecase "View Recommendations" as ViewRecommendations
usecase "View Eco-Friendly Products" as ViewEcoProducts
usecase "Reward Tip Contribution" as RewardTipContribution
}
package "Challenge & Activity Tracking" {
usecase "Join Challenge" as JoinChallenge
usecase "Create Challenge" as CreateChallenge
usecase "Track Challenge Progress" as TrackChallengeProgress
usecase "Complete Challenge" as CompleteChallenge
usecase "Exit Challenge" as ExitChallenge
usecase "Form/Join Team" as JoinTeam
usecase "Track Sustainable Activity" as TrackActivity
usecase "Connect with Health APIs" as ConnectHealthAPI
}
package "Achievements & Rewards" {
usecase "View Leaderboard" as ViewLeaderboard
usecase "Filter Leaderboard" as FilterLeaderboard
usecase "View Progress Reports" as ViewProgressReports
usecase "View Data Visualizations" as ViewDataViz
usecase "Earn Achievements" as EarnAchievements
usecase "View Rewards" as ViewRewards
usecase "View Badges Collection" as ViewBadges
usecase "View Virtual Eco-World" as ViewEcoWorld
}
package "Notification System" {
usecase "Receive Notifications" as ReceiveNotifications
usecase "Send Notifications" as SendNotifications
usecase "Send Goal Reminders" as SendGoalReminders
usecase "Send Achievement Alerts" as SendAchievementAlerts
}
' Connect actors to use cases
User --> SignUp
User --> Login
User --> GoogleLogin
User --> ResetPassword
User --> ViewProfile
User --> EditProfile
User --> ManageNotifications
User --> DeleteAccount
User --> LogWaste
User --> ViewWasteLogs
User --> RequestCustomCategory
User --> ViewScoring
User --> SetGoal
User --> CreateCustomGoal
User --> EditGoal
User --> TrackGoalProgress
User --> CompareProgress
User --> ViewTips
User --> SubmitTips
User --> ViewRecommendations
User --> ViewEcoProducts
User --> JoinChallenge
User --> CreateChallenge
User --> TrackChallengeProgress
User --> CompleteChallenge
User --> ExitChallenge
User --> JoinTeam
User --> ViewLeaderboard
User --> ViewProgressReports
User --> ViewDataViz
User --> EarnAchievements
User --> ViewRewards
User --> ViewBadges
User --> ViewEcoWorld
User --> ConnectHealthAPI
User --> ReceiveNotifications
Admin --> ManageAccounts
Admin --> ReviewActivity
Admin --> ApproveCustomCategory
Admin --> ManageGroupChallenges
Admin --> AwardChallengePoints
Admin --> SendPlatformNotifications
Admin --> AccessAnalytics
Admin --> ModifySettings
Admin --> RewardTipContribution
Moderator --> ReviewActivity
Moderator --> ReviewFlagged
Moderator --> WarnUsers
Moderator --> EscalateIssues
Moderator --> CommunicateViolations
' Key relationships
GoogleLogin ..> Login : "extends"
UploadProfilePic ..> EditProfile : "extends"
AddBio ..> EditProfile : "extends"
SetLocation ..> EditProfile : "extends"
SignUp ..> AuthenticateLogin : "extends"
Login ..> AuthenticateLogin : "extends"
EditProfile ..> ViewProfile : "includes"
UploadWastePhoto ..> LogWaste : "extends"
ViewWasteLogs ..> LogWaste : "extends"
ViewSuggestions ..> LogWaste : "extends"
RequestCustomCategory ..> ApproveCustomCategory : "extends"
SetGoal ..> SelectGoal : "includes"
CreateCustomGoal ..> SetGoal : "extends"
TrackGoalProgress ..> LogWaste : "extends"
CompareProgress ..> ViewDataViz : "includes"
ViewTips ..> SearchTips : "includes"
ViewTips ..> SaveTips : "includes"
ShareTips ..> ViewTips : "extends"
ViewRecommendations ..> ViewEcoProducts : "includes"
JoinTeam ..> CreateChallenge : "extends"
JoinTeam ..> JoinChallenge : "extends"
TrackChallengeProgress ..> LogWaste : "extends"
TrackChallengeProgress ..> TrackActivity : "extends"
CompleteChallenge ..> TrackChallengeProgress : "extends"
CompleteChallenge ..> EarnAchievements : "includes"
ConnectHealthAPI ..> TrackActivity : "includes"
ViewLeaderboard ..> FilterLeaderboard : "includes"
ViewProgressReports ..> TrackGoalProgress : "extends"
ViewProgressReports ..> ViewDataViz : "includes"
EarnAchievements ..> TrackChallengeProgress : "extends"
EarnAchievements ..> LogWaste : "extends"
ViewBadges ..> EarnAchievements : "extends"
ViewRewards ..> EarnAchievements : "extends"
ViewEcoWorld ..> EarnAchievements : "extends"
AwardChallengePoints ..> CompleteChallenge : "includes"
SendNotifications ..> SendGoalReminders : "includes"
SendNotifications ..> SendAchievementAlerts : "includes"
SendGoalReminders ..> TrackGoalProgress : "extends"
SendAchievementAlerts ..> EarnAchievements : "extends"
ManageNotifications ..> ReceiveNotifications : "includes"
@enduml
- Ahmet's Bio
- Baran's Bio
- Barathan's Bio
- Berke's Bio
- Caglar's Bio
- Ege's Bio
- Mehmet Emin's Bio
- Nilsu's Bio
- Selman's Bio
- Taha's Bio
- Ömer's Bio
- Requirements
- Elicitation Questions & Answers
- Scenario #1
- Scenario #2
- Scenario #3
- Scenario #4
- Scenario #5
- Scenario #6
- Scenario #7
- Scenario #8
- Scenario #9
- Scenario #10
- Scenario #11
- Scenario #12
- Use Case Diagram
- Class Diagram
- Sequence Diagram #1