Unified Modelling Language
UML is a useful method to breakdown all the key parts of your project from the high level interactions of the user with the features of your system, to the order of events and all the way down to the fundamental relationship of classes and objects within your algorithms.
This week you should be thinking about the different parts of your experience and how it will interact with the user/player. UML is a useful method to breakdown all the key part of your project from the high level interactions of the user with the features of your system, to the order of events and all the way down to the fundamental relationship of classes and objects within your code.
Creating diagrams can feel secondary to the main priority of building something, but they play an essential role in defining the core structure and allowing you and team members to share key elements. In physical computing the sequence and order of events can play a critical part in how or whether something works as expected.
1. Recap and Work Sharing
Mario Platformer using SOLID - Group Project
Share your group game and assess how well it meets the criteria.
You can do this by undergoing a Feedback Fruits Peer Review at this link:
https://learningspace.falmouth.ac.uk/mod/lti/view.php?id=233756
2. UML Diagramming
Pair Work
You will be working in pairs to complete this task.
Find your pair here: https://www.keamk.com/ncnz3p9r6vdqcls1
You will create a UML diagram of the type outlined in option below. It is important you don’t develop your diagram based on assumption. Do your research to discover your given system works.
Create UML in LaTeX
Create your diagrams using. LaTeX and Overleaf. You can script your UML diagrams using the TikZ-UML package You can read about it here in the documentation:
https://perso.ensta-paris.fr/~kielbasi/tikzuml/var/files/doc/tikzumlmanual.pdf
I have also supplied a Starter Overleaf template as a starting point to begin creating diagrams programmatically: https://www.overleaf.com/read/hsydszkbzmbd
Choose your diagram
You will be randomly assigned a diagram to make during the workshop
1. USE CASE Diagram for Discord
- What are the key Use Cases for Discord?
- Define the high level overview of this popular VoIP, instant messaging and digital distribution platform
2. STATE Diagram for a Robot
- Develop a state diagram for a Roomba vacuum cleaner robot
- Remember to consider it’s charging phase alongside it various other states.
- Do your research to understand it’s functionality
3. ACTIVITY Diagram for Tetris
- Consider the flow of differeny bricks
- How and why are decision are made?
- What are the start and end points of the activity?
4. SEQUENCE Diagram of Guitar Hero
- Remember to consider the various ways that the actor interacts with the controller and the system.
- What are the loops and the messaging within the system?
5. Dark STATE Diagram
- Watch this video: shorturl.at/gpyD8
- Identify the states of the Cathedral Grave Warden
Once your diagram is complete please upload it here: https://padlet.com/mattwatkins/73w36gujb7ubbhmn
3. Start work on your Poster
If you have completed the above exercise please start work on your poster for the demo next week. Find out more
LECTURE
It is assumed that you have watched the video lecture before this workshop or read the materials. If not you should find time to watch it during the week.