-
Notifications
You must be signed in to change notification settings - Fork 0
Activity diagrams
This use case covers when Mia wants to start tracking a new course or personal learning goal in the app (for example, if she enrolls in a new class or decides to track a new skill).
- Start: Mia selects the option to add a new course/goal from the main menu. System prompts for course details (e.g., name/title of the course or goal, and possibly a category or type). Mia enters the required information (e.g., “Spanish Language” or “Marketing 102”).
- [Decision] The system checks if the input is valid and not a duplicate of an existing course:
- If the details are valid, System creates a new Course object in the system (with zero Topics initially, which can be added later, and no notes yet).
- If the course name already exists or input is invalid, System shows an error message and returns to prompt for correct input (or allows cancellation).
- System confirms success (e.g., “Course ‘Marketing 102’ added successfully.”).
- End: Mia’s new course now appears in her course list for tracking. (Activity Diagram would show: Start -> “Enter new course info” -> [Valid?] decision -> create course -> confirmation -> End, with an alternate path for invalid input leading back to entry.)
Whenever Mia has finished some part of a course or wants to record what she’s done (for example, she realized she completed the “functions” module in her programming course), she uses this use case to update her progress.
Start: Mia chooses “Update Progress” (or similar) from the menu and selects which Course she wants to update (e.g., the Programming course). System displays the list of Topics (or modules) for that course along with their current status (e.g., a list of lesson names, some marked completed, some not). Mia chooses a topic or module to mark as completed (or updates a range, such as “completed up to Module 5”). She could also indicate mastery level if applicable (for instance, mark a topic as “Mastered”). System records the progress update: it sets the selected Topic(s) status to “Completed/Mastered”. It may also update overall course progress metrics (e.g., 5 of 10 topics completed = 50% complete). [Decision] The system checks if this course is now fully completed: If all topics are now completed, the system might mark the Course as finished and perhaps congratulate the user. Otherwise, the course remains active with some topics still pending. System provides feedback to Mia, e.g., “Progress updated: 5/10 topics in Programming course are now completed.” End: Mia’s progress is now up-to-date. Next time she or the system checks progress, it will reflect this update. (The activity diagram for this use case would include selecting a course, viewing topics, a loop or selection for marking a topic, then a decision whether more topics remain, etc.)