Meeting 5: 31 August 2004
Duration: 1 hour
Present: Kym, Tony M, Tony T, Nadejda, Brian, Nadeeja, Khalid, Menaka (45
minutes)
Absent: Pooja, Vipul
Replacements for Vipul's classes this week
wed 2-5 105 (still looking :-\)
Thu 11-1 g13 - Brian
Fri 10-11 and 12-1 (11) - Tony M
Thanks Brian/Tony!
Assignment 3 general notes
- keep it as simple as possible (stress this hugely to the students)
- UML does not need to be C++ specific
- Chapters 3, 6, 8 in Fowler: UML distilled (recommended texts)
- The menu interface needs to be a class - main should only have about three
lines in it
- They are not to use any global objects, etc.
- Class diagrams: representation of methods needs to include some indication
of parameters (types/etc) so the interface is known, and the functionality is
clearer
- Class diagrams do not need to show constructor/destructor (but they can if
the students prefer)
- Object diagrams show the state of the running system at different points in
time.
- Sequence diagrams shows the sequence of events for a particular action (ie.
adding a new item will show the interaction between the classes that is
needed in order to add the item to the list of items).
- Students also need to write descriptions of the key classes and their
functions (so they have thought about what steps the implementation of that
class requires in more detail that just the overview diagrams).
- Students also need to submit a plan for testing the system
(this could include a description of what steps are needed to create and test
each component, what the database files will look like, etc).
Please stress that this _must_ be done in plain text, (not .doc .pdf .ps etc)
Pracs -
CRC Cards (Class - Responsibility - Collaboration Cards) pg 62 in Fowler UML
Distilled 3rd ed
You might like to break the students up into small groups (2-3), give them
some cut up pieces of A4 paper (in half) and get them to jot down for each
class, the responsibilities (ie for Customer - get details, add customer,
find overdue), and which classes it collaborates with (Customer will
collaborate in some way with items, and the rental system (possibly also the
interface, depending on how they implement their system)).
The aim of this prac is to get them to think about the requirements of the
rental system.
Some students will want to design top down:
Rental system has to have an interface, a list of customers, a list of items
An Item has to have a unique ID, title, etc
A DVD and Video needs to have a running time
A Game needs to have a platform name
Others will want to design it bottom up (reverse). The best way is to use a
combination. They do not need to get C++ specific (ie what functions needs
to be made virtual, etc) in their UML diagrams.
Don't necessarily make them immediately start working on their UML diags
(obviously the later classes (next week) should be doing so, or working on
their class descriptions and test plans), but just list the requirements of
the system in whatever form they prefer. Note that knowing the notation does
not help with producing a design for the system, it is just a formal way of
representing the design.
Many students think that an UML diagram is a class diagram - please mention
that UML notation is used for many different diagrams, not just a class
diagram.
Tutorials:
- Need to cover the different types of diagrams (class, object and sequence
(interaction/action))
- Don't use the assignment as an example - pick something similar (A CD
collection, a grocery store, etc) We don't want to give them the answer
- If you have time after covering the diagrams, please answer design questions
that the students may have about the rental system (don't answer with UML, or
if they want something specific, pick a similar example and represent that).
Marking:
Please let me and Jon know if you want to mark, and how many assignments you
can do (allow about 15-20 mins per assign). The marking guide is accessible
via the Internal Resources section. Please familiarise yourself again with
the assignment, the marking guide and the guidelines on how assessment works
in cse2305 (ie what goals should the students show they have met).
We are aimint to have marking completed by Monday next week (and then the late
submissions by Monday the following week).
I'll send out instructions on how to mark and notes on the marking guide
separately to those interested.
Admin:
Thankyou for getting your mess and TPS up to date.
Pooja, can you please contact me immediately!
(work: 9905 5222 home: 9560 0062)
Menaka - can you please fix up the hours claimed for the last meeting (45
mins)
Brian - can you please edit the meeting task from week 3 to be 1 hour (it's
currently 0 hours).