-
Notifications
You must be signed in to change notification settings - Fork 0
CMPE352‐Use Case Diagram
Selman Akman edited this page Oct 15, 2025
·
1 revision
@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
}
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 --> ShareTips
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 - REVISED
GoogleLogin ..> Login : "extends"
UploadProfilePic ..> EditProfile : "extends"
AddBio ..> EditProfile : "extends"
SetLocation ..> EditProfile : "extends"
' Removed AuthenticateLogin as a separate use case
UploadWastePhoto ..> LogWaste : "extends"
ViewWasteLogs ..> LogWaste : "includes"
ViewSuggestions ..> LogWaste : "extends"
RequestCustomCategory ..> ApproveCustomCategory : "extends"
SetGoal ..> SelectGoal : "includes"
CreateCustomGoal ..> SetGoal : "extends"
' Corrected relationship for TrackGoalProgress
LogWaste ..> TrackGoalProgress : "includes"
CompareProgress ..> ViewDataViz : "includes"
ViewTips ..> SearchTips : "includes"
ViewTips ..> SaveTips : "includes"
' ShareTips is now separate, not an extension of ViewTips
ViewRecommendations ..> ViewEcoProducts : "includes"
JoinTeam ..> CreateChallenge : "extends"
JoinTeam ..> JoinChallenge : "extends"
TrackChallengeProgress ..> TrackActivity : "extends"
CompleteChallenge ..> TrackChallengeProgress : "includes"
CompleteChallenge ..> EarnAchievements : "includes"
ConnectHealthAPI ..> TrackActivity : "includes"
ViewLeaderboard ..> FilterLeaderboard : "includes"
ViewProgressReports ..> TrackGoalProgress : "extends"
ViewProgressReports ..> ViewDataViz : "includes"
EarnAchievements ..> TrackChallengeProgress : "extends"
EarnAchievements ..> LogWaste : "extends"
' Clarified relationship between achievements and badges
EarnAchievements ..> ViewBadges : "includes"
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- Lab1
- Lab 1 Meeting Notes
- Lab2
- Lab 2 Meeting Notes
- Lab3
- Lab 3 Meeting Notes
- Lab4
- Lab4 Meeting Notes
- Lab5
- Lab5 Meeting Notes
- Lab 5: MVP Implementation & Planning
- Lab6
- Lab6 Meeting Notes
- Lab7
- Lab7 Meeting Notes
- Lab 7: Milestone 2 Demo Preparation
- Lab8
- Lab8 Meeting Notes
- Lab 8: Requirements Review & Acceptance Planning
- Ahmet's Bio
- Barathan's Bio
- Berkay's Bio
- Berke's Bio
- Caglar's Bio
- Mehmet Emin's Bio
- Nilsu's Bio
- Ömer's Bio
- Selman's Bio
- Taha's Bio
Ahmet Okta
Barathan Aslan
Berke Kartal
Mehmet Çağlar Kurt
Mehmet Emin Atak
Muhammet Berkay Keskin
Mustafa Taha Söylemez
Nilsu Tüysüz
Selman Akman
Ömer Faruk Bayram
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards, Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Authentication
- Sequence Diagrams - Session Management
- Sequence Diagrams - Events Management
- Project Plan
- 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
- Scenario #13
- Scenario #14
- Use Case Diagram
- Class Diagram
- Sequence Diagrams - Admin Management and Moderator Functions
- Sequence Diagrams - Rewards,Badges and Leaderboard System
- Sequence Diagrams - Notification System
- Sequence Diagrams - Tips and Recommendations
- Sequence Diagrams - Challenge and Activity Tracking
- Sequence Diagrams - Waste Tracking and Scoring System
- Sequence Diagrams - User and Account Management
- Sequence Diagrams - Goal Management
- Sequence Diagrams - Auth
- Sequence Diagrams - Session Management
- User Manual for Frontend-Web
- System Manual for Frontend-Web
- Research Documentation for Frontend-Web
- Testing Manual for Frontend-Web