Design Sketch
The design sketch is a rough architecture of your system for us to be able to provide feedback on
early. You may want to consider use cases of your system and the flow of information through it in
the sketch, or simply the components you have thought of and where they sit in the system.
Hints:
Functional analysis is good
A component view (even if it's extremely coarse: clients, Atom server, content servers) is
required
Multi-threaded interactions are a good place to focus some design effort. Show how you
ensure that your thread interactions are safe (no races or unsafe mutations) and live (no
deadlocks).
Explain how many server replicas you need and why
UML is a good way of expressing software designs, but it is not mandated.
It would be useful to know how you will test each part
Diagrams are awesome
Note: Assignments with no design file will receive a mark of zero.