Due Date: Thu 18 Oct
Pair Project
Objectives
Familiarity with
- Unified Modeling Language (UML)
- State diagrams (STD)
- Modeling dynamic, event-driven behavior with STDs
Description
State diagram
Create a state machine diagram (SMD) as an abstract description of the observable event-driven behavior of the device you implemented in the previous project.
General rules: - Represent each visually or logically distinct state of the system as a distinct state in the diagram, while differences in internal data values should not lead to distinct states.
- Do not directly represent UI elements in the diagram; represent events coming from UI elements abstractly and name them according to their UI element source, e.g., increment.
You are welcome to choose from the following tools for this job: - manual drawing
- general-purpose drawing tool
- UML modeling tool; the top two cross-platform choices are:
- Astah (free community edition available)
- ArgoUML (open source but a bit clunky)
Relationship between model and codeProvide a brief (2-300 words) description of the relationship between your state machine model from this project and your actual code from the previous project. Possible talking points are: - What are the similarities and differences between model and code?
- Is it more effective to code or model first?
- Now that you have a model, are there any changes you would want to make to your code?
Submission
- Upload your diagram to the downloads area of the repository.
- Summarize your findings (answers to the questions embedded in the code) in the top-level README file of the repository.
- Let the instructor (laufer) and the TA (ejburns) know by email that your work is ready to be graded.
Grading Criteria
- 10 points total
- 1 point off for each missing state (this includes transitions involving that state)
- 0.5 point off for each missing transition involving existing states
- 0.25 point off for missing attributes of transitions
- 3 points for the written part (1 point for each question)
|