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.
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.
We strongly advise that you submit a draft revision/preview of your completed assignment 2 so that
we can provide you with feedback.
You will receive feedback within 1 week. The feedback will be detailed but carries no marks. You are
given the opportunity to revise and change your work based on the feedback for the final submission
so you use it while you can.
If you received feedback in the last submission, please add a PDF (Changes.pdf) in your final
version of submission that includes a discussion of the feedback received and what changes you
decided to make and why.
Setting Up Version Control
Getting to know Subversion
This course uses Subversion (svn). Svn is a powerful version control system to help maintain a
coherent copy of a project that can be worked on from multiple locations. We will also use svn as the
handin mechanism throughout this course. Click here (http://www.cs.adelaide.edu.au/docs/svn
instr.pdf) to learn more.
Creating the assignment directory in your svn repository
Run the following command in terminal.
svn mkdir –parents -m “DS assignment 2” https://version-control.adelaide.edu.au/svn/axxxxxxx/
Replace axxxxxxx with your student ID number.
This command will create an empty directory named YEAR/s2/ds/assignment2 in
your svn repository.
You can access your new assignment directory via https://version
Checking out a working version of your assignment
If you are working at home on your personal computer, you can checkout your svn repository running
the following command in terminal.
svn checkout https://version-control.adelaide.edu.au/svn/axxxxxxx/2021/s2/ds/assignment2 ds-21-
ds-20-s2-assignment2 is an optional argument that specifies the destination path for your repository
on your local machine.
Note that you can have more than one copy of your code checked out, you will need to update it to
See the svn documentation (http://www.cs.adelaide.edu.au/docs/svn-instr.pdf) for details on how
this can be done. However, for now, we will assume you have just the one working copy.