Sept Ron McFadyen1 UML & Design Patterns Course outlineoutline /3 Advanced Systems Design
Sept Ron McFadyen2 UML is a collection of techniques A standard language for documenting OO systems, a notation UML emerged in mid 90s due to efforts of Booch, Rumbaugh and Jacobson – the 3 amigos Much of what we cover will be considered a review of 2911/2912 Some techniques, e.g. statechart diagram, will be new A computer scientist must know the UML We begin with Use Cases, then Class diagrams, … UML 2 nd edition, Schaum’s Outline Assignments will involve using a UML tool such as MS Visio Unified Modeling Language - UML
Sept Ron McFadyen3 idea was first put forth by Christopher Alexander (1977) in his work on architectural design principles a pattern is a named problem/solution pair that can be applied in new contexts advice from previous designers to help designers in new situations rules of thumb - not new ideas Patterns
Sept Ron McFadyen4 Text: Head First Design Patterns by Freeman & Freeman many books on Design Patterns - examples: Design Patterns - Erich Gamma et al – the first book on patterns by the Gang of four Java Design Patterns: a tutorial - James Cooper Design Patterns Java Workbook - Steven John Metsker Data Access Patterns - Clifton Nock Patterns of Enterprise Application Architecture – Martin Fowler Patterns
Sept Ron McFadyen5 A software design pattern is a solution to a common problem in the design of computer systems A solution worth documenting so others can use it Patterns promote reuse through reuse of standard solutions We will begin with the Observer pattern, then the Decorator pattern, … Assignments will involve using a UML tool such as MS Visio Assignments will involve some programming (note the text gives sample code) Patterns
Sept Ron McFadyen6 3C13 lab Lab can be used to work with MS Visio, Java, … Other tools you might use: Argo/UML, Poseidon, … 9am to 9pm, 7 days a week excluding times assigned to classes Lab is monitored via camera Userid/password will be available later Access card (see document)document