Table of ContentsAbstraction and design The ideas in this lecture Summary of last week What are the key abstractions? How might we describe a design? Machine-readable descriptions The Token class The Line class The reformat function Is such a description a design? Machine-checkable descriptions in ML The TOKEN signature The LINE signature Using the design-level description The Reformat functor in full detail How else might we describe our design? Even such a minimal design is useful What else might we say about the design? What does an arrow mean? So we might label the arrows also Complementary tools A larger design example Desirable properties for a printing system A very high level design Is this a good design? Why is it a good design? What details might we fill in? How might we handle printer contention? Our revised design Properties of this design Whence the administrative difficulties? Making the design more practical Our revised revised design What might we do next? Use cases Example of a use case Use case diagram What can we learn from this example? Finding a performance problem A user-centric view of the system How might we solve this problem? The moral of the story Homework (due Monday) Examples of usual use cases Examples of unusual use cases What to hand in |
Author: Andrew Koenig
Email: ark@research.att.com Home Page: http://www.research.att.com/info/ark |