Week 10 ToDos
1. Watch Lecture Videos
Watch the week 10 lecture videos in advance of your team meeting.
| State Machine Models | Video | Slides |
| Hierarchical State Machines | Video | Slides |
| Concurrent State Machines | Video | Slides |
| Navigation Diagrams | Video | Slides |
Lecture References:
See Resources→References for instructions on how to access lecture references.
- Craig Larman, Applying UML and Patterns, 3ed., Prentice Hall, 2004
- Chapter 29: UML State Machine Diagrams and Modeling
- Lenny Delligatti, SysML Distilled: A Brief Guide to the Systems Modeling Language, Addison-Wesley Professional, 2013.
- Chapter 8: State Machine Diagrams
2. Feedback on Other Team’s Solution-Fit Interviews
Info
This section was moved from W09 to W10 on 2026-03-11.
Each team needs to pair up with one other team that is working with the same TA.
Use the Buddy Team feedback meeting to practice conducting your Solution-Fit Interviews on members of the buddy team, and provide feedback on the other team’s Solution-Fit Interviews. In essence, you are conducting a Pilot Study of your interview plans, using classmates as practice participants, before conducting your real interviews. (1) Solicit from the buddy team(s) feedback on your team’s hypotheses and interview questions. (2) Practice delivering your interview, and solicit feedback on your delivery and interview script. (3) Consider whether any of the practice interviewees’ responses (with respect to your project’s mockup) are worth noting and incorporating into your project plans. At the end, create a separate PDF that describes the feedback that the other team provided on your project or interview script and how your team responded to that feedback. Include in your answer
- The names of your team members who participated in this activity.
- The name of the buddy team(s) that you worked with on this activity, and the names of their team members who participated.
- Describe 3+ concrete examples of feedback and suggestions for improvement that your team received from the buddy team, and describe what changes your team made (e.g., to your interfaces/mockup, interview script) in response to this feedback.
- Describe the quality of the feedback that the buddy team provided or the degree to which they participated in the feedback activity (outstanding, excellent, very good, good, satisfactory, unsatisfactory)
Include your writeup of this activity in a PDF file named «TeamName»_BuddyTeamFeedback.pdf and submit it to LEARN.
Grading Scheme: This activity is worth 1% of your course grade (it is part of the marking scheme related to Feedback to Other Teams). The writeup will be marked on the basis of (1) the Completeness and Clarity of your team’s writeup, (2) your team’s Changes (to your intervew, to your mockup) in response to the buddy teams’ feedback, and (3) how Actionable your team’s recommendations are (as expressed in other teams’ writeups). See the Week 10 rubric for details. Note that only students who participate in this Buddy-Team Feedback activity get this mark.
3. Updated Domain Model
Provide an updated (specification-level) Domain Model for your course project that incorporates any feedback and suggestions for improvement that the TAs identified in the Domain Model that you submitted as part of Week 8’s deliverables. It is important for your Domain Model to include all Environmental Phenomena (entities, attributes, associations) needed to describe the Requirements of your project and all Interface Phenomena (entities, attributes, associations) needed to describe the Specification of your project – including your Navigation Diagram. To help us understand your model, provide short descriptions of the entities in your model and provide a short description of each of the associations in your model. Put your updated Domain Model and supplementary descriptions in a PDF file named «TeamName»_D10.pdf and submit it to LEARN.
Grading Scheme: This writeup will be marked on the basis of (1) the Completeness and Correctness of your Domain Model, (2) its Level of Detail, (3) Adherence to Domain Model syntax and modelling conventions, and (4) descriptions of entities and relationships. Most marks will be associated with (1). See the Week 10 rubric for details.
4. Navigation Diagram
Provide a state-machine model that is a navigation diagram, representing the navigation paths among the user-interface screens that make up the three highest-priority use cases in your project. The states of the model should represent your UI screens and the transitions should represent navigations from one screen (the source state) to another screen (the destination state). The transition labels should specify the events and conditions that cause your product to transition from one screen to another; the transition labels do not need to include any system responses (i.e., actions representing outputs or updates to Domain Model entities). However, transition labels must be expressed in terms of events and conditions over the interface phenomena that are defined in your Domain Model OR events involving the UI widgets in your UI screens. Transitions must also include any actions over state-machine variables (which are variables local to the state-machine model).
Provide a legend describing briefly (1) states in your navigation map, including sceens for which you have not provided sketches in D9, (2) state variable declarations, (3) transition triggers and their corresponding UI events, and (4) transitions in your navigation map, including their full expression (since they might not be easy to read in the model). Place your navigation diagram and the legends in the PDF file named and «TeamName»_D10.pdf and submit it via LEARN.
Here is the navigation diagram for the Modern Family project. They decomposed their navigation diagram into multiple diagrams – an overarching state machine model plus models of sub machines – because their navigation diagram is very complicated. Your navigation model might not be complicated enough to warrant such decomposition.
The navigation diagram for ReadYourStory was referenced in the Hierarchical State Machines Video.
Grading Scheme: This question will be marked on the basis of (1) the Completeness and Correctness of your navigation diagram, including appropriate use of hierarchy and concurrency, (2) the Consistency with respect to the vocabulary used in your navigation diagram and in your updated domain model, and (3) the Completness and Clarity of your legends. See the Week 10 rubric for details.
5. Solution-Fit Interviews
Start performing your solution-fit interviews. Specifically, interview at least five members of your project’s target customer segment to see how well your proposed product (which you have been refining for the last several weeks) meets their primary problems. You may re-interview the same people that you interviewed previously or you may recruit new participants. Just remember that, if you are recruiting new participants for your interviews, the interviewees cannot be minors under the age of 13 and cannot be members of your team or close friends or family of the members of your team. Ideally, try to find target users beyond fellow students. You must follow ethics procedures:
- How you recruit interviewees will depend on what channels you use, but try as much as possible to use language from the Office of Research Ethics sample recruitment materials, to ensure that your approach is professional and ethical.
- Use the provided Participant Information and Verbal Consent Form (without alteration) to collect verbal consent responses. Keep a record of the participants and their verbal-consent responses in a spreadsheet.
- You CANNOT record the audio or video of your interviews, so keep good notes.
- Your raw interview data must not have identifiable information about the participants.
- Keep all of your raw interview data and your verbal-consent spreadsheet on a password-protected computer (data server or cloud services) in files that are private and viewable to your team only.
You can use your Navigation Diagram and associated UI screens as your prototype in your customer interviews.
Your eventual writeup (not due until March 30th) should include anonymized data about the interviewees. This includes the type of stakeholder, type if customer segment, and demographics of the interviewee (e.g., gender, race, age, education, employment, level of experience). Provide a clear and professional summary of the results of the interviews (e.g., percentages of responses per test answer, insights learned). With respect to insights learned, explain how the interview results and the interviewees’ feedback result in any fine-tuning of your proposed product.
Here is an example Solution-Fit Interview Analysis (including hypotheses, interview questions, and interview results) for the Curb’n project.
Grading Scheme: The interview writeup (due on Monday, March 30th) will be marked on the basis of (1) the Completeness of the writeup, (2) the Quality and Clarity of your explanations of insights learned and resulting fine-tuning of your proposed prodct, and (3) the Professionalism of the presentation of the writeup.
Details
You may interview Tales and Byron as two of the five interviewees. These interviews will take place in class, 2026-03-17
6. Continue Working on the SRS
Please refer to the Project→SRS page.
7. (CS 645 only) Grad Lecture
Graduate students enrolled in CS 645 are required to deliver a short (15-20min) lecture on a topic that is related to research on or the practice of requirements engineering. This term, the lecture will be given via video and aims to introduce your topic to students who have a CS445 / ECE451 / SE463 background. Submit your video (default format is .mp4) to the course account cs445@uwaterloo.ca via sendit .
Grading Scheme: The Grad Lecture part of your grad tutorial is worth 5% of your course mark. It is marked on the basis of (1) the Coherence of the lecture, (2) the Coverage of the topic, and (3) the Organization and Clarity of the presentation.
8. Team Health Check
Now that the final sprint on the course project coming up, we are asking all team members to individually complete a third Team Health Survey. This is to check how well the team is functioning in advance of your work on the final deliverable (the SRS), which can be high pressure and will compete with your work on final projects in your other courses. As before, individual responses to the Team Health Survey will be anonymized. Your team will be provided with the anonymous individual responses, the team’s average responses, and the class’s average responses to all Team Health Survey questions – so that you can see your team’s strengths and weaknesses compared to the rest of the class. If there are weaknesses in your team’s processes, now is the time to address them; the course instructor and TAs would be happy to assist in any discussions on how to improve your team’s processes and Team Contract.
Grading Scheme: The survey is marked out of 0..1 and is graded only with respect to Completeness (i.e., percentage of answered questions). There is no right and wrong answer for the survey; students should complete the survey by providing an honest opinion about what they think. This is worth 0.5% of your course mark, as part of your Teamwork mark in the course.
Due Next Monday (March 23, 8:59pm ET)
-
Every CS645 student: Submit their Grad Lecture (video)
-
Every student: Submit the Team Health Survey.
-
Every team: Create a single PDF named
«TeamName»_D10.pdfthat includes the following, and submit it to LEARN- Updated Domain Model and supplemental descriptions
- Navigation Diagram, including legends of states (UI screens), state variables, transition triggers, and transition expressions
-
Every team: Create a single PDF named
«TeamName»_BuddyTeamFeedback.pdfthat includes the following, and submit it to LEARN- Your Team Name and Team Members who participated in the BuddyTeam activity (week of March 8)
- Buddy Team Name(s) and Team Members who participated in the BuddyTeam activity, and the degree to which that team participated in your team’s exercises (outstanding, excellent, very good, good, satisfactory, unsatisfactory)
- Buddy team’s feedback on your team’s Solution-Fit Interview Questions and how your team responded to that feedback
-
Every Outgoing Team Leader: (Due Thursday, 8:59pm via LEARN)
- Submit
«TeamName»_PeerEval_4.pdf
- Submit