SDM: Week 3
Topic: Models in the design process
(This is a week with lots of material! Don't worry, quieter weeks are coming. It's ok to get a little behind provided you're caught up by the lab assessment.)
Lectures
Models in the design process 1: conceptual modelling:
UML class diagrams, detail
- Slides by Lethbridge and Langaniere cover many aspects of class diagrams and is a useful reference: you should read them all. They are a good reference for most of the UML class diagram notation you need to know, and in particular contain an introduction to OCL. I will not lecture to them, but Tim's own lectures are available on youtube. They go into a lot of detail - you'll see that there are four lectures over an hour long each on this chapter alone (and you'll find lectures on the other chapters of his book there too). You are not required to watch them, though you might like to. A quicker way to use them would be to jump into the section of any lecture that is about something you don't understand when you read the slides.
OCL:
Models in the design process 2:
- slides,
- video part 1 youtube, video part 1 mediahopper,
- video part 2 youtube, video part 2 mediahopper
In the Q&A/discussion session we discussed the paleo example a little more, especially properties such as cycle-freedom that are not expressible in the metamodel diagram. Then we discuss aspects of all the UML diagrams in this course, with time to ask questions and address some subtleties.
Videos
Student registration example:
- Conceptual modelling: video youtube, video mediahopper
- Robustness diagram: video youtube, video mediahopper
Readings
Technical UML stuff:
- (After watching the OCL video) read Chapter 7 of the OCL2.4 standard but see here for some parts you can leave out.
By the time of next week's lab, you should be competent to read use case diagrams, and to read and write class, sequence, state and activity diagrams, and OCL. And that's all the UML we do in this course - now it's on to more interesting things...
Stuff about how to produce a conceptual class model that will support the requirements of the system:
- A practical tutorial on robustness analysis from Visual Paradigm
- A laboratory for teaching object-oriented thinking by Kent Beck and Ward Cunningham (the original paper on CRC cards). A few revision questions.
- This article on Conceptual class modeling by Scott Ambler (the point is to think about the examples he discusses)