-
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.)
This use case is triggered when Mia wants to store a new note, reference, or resource in the app so she can easily find it later (e.g., saving a link to an article for her marketing course, or typing in a verb conjugation chart for Spanish).
- Start: Mia selects “Add Note” (or “Manage Notes -> Add”) and then chooses the Course that the note relates to (e.g., Spanish or Marketing). System prompts for note details. This could be a note title and the content. For example, Title: “Spanish – Preterite Tense Chart”, * Content: (she might paste or write the conjugation chart info, or a summary of it). For a link, the content might be a URL. Mia enters the note title and content.
- [Decision] The system checks that the note has necessary information:
- If everything is provided, System saves the Note under the selected Course. (It might assign a new noteID and store the title/content, linking it to that course.)
- If required information is missing (e.g., blank title), System asks Mia to fill it in or cancels the action.
- System confirms the note is added, e.g., “Note ‘Preterite Tense Chart’ saved under Spanish course.” The note will now be accessible in the list of notes for that course.
- End: Mia’s new study note is stored. Later, she can view or search her notes instead of flipping through physical notebooks. (Diagram shows: select course -> enter note details -> [valid?] -> save note -> confirmation.)
In this scenario, Mia wants to review how she’s doing in a course and identify what needs more work – for example, before her marketing quiz, she wants to see which topics she hasn’t mastered yet. This use case covers viewing a summary of course progress and finding weak spots.
- Start: Mia selects an option like “View Course Summary” or maybe specifically “Review for Quiz” under a course. She then selects the Course she’s interested in (e.g., the Marketing course). System gathers data on that course’s progress: it checks all Topics and their status, and perhaps any notes or past quiz results if available (mostly focusing on topic status for now). System displays a summary of the course. For example: “Marketing 101 – 60% complete. 3 of 5 topics mastered. Topics needing review: Social Media Strategies, SEO Basics.” This output highlights which topics are not yet marked as Mastered or Completed. Mia reviews the list. If this was specifically for quiz prep, she now knows which topics to focus on (e.g., those two topics listed).
- [Decision] (Optional interaction) Mia may choose to mark some of these topics for review or schedule a reminder, but that could be a separate use case. In a simple view case, it ends after showing info.
- End: Mia has the information she needs about her progress. She can now go back or take further action (like updating progress or studying those topics). (The activity diagram would illustrate the retrieval of progress data and the output to the user. It’s mostly a straight flow: select course -> system compiles data -> system outputs summary -> end.)