Advanced Object-Oriented Development

CM325

Year 3 Semester 1 Slot 6

Course Lecturer: Dr. R. Harrison, Mountbatten 3015

Method of assessment: examination 100%

Number and type of coursework items: None

Prerequisites: CM143, CM213

Corequisites

Credit value: 10

Aim

to study techniques and methods appropriate for the analysis and deign of object-oriented software.

Objectives

By the end of the course, students should be able to:

  • Use advanced concepts of the object oriented paradigm to analyse high-level architecture of software systems, and to document this architecture using suitable design notations.
  • Demonstrate a thorough knowledge of the syntax, meaning and use of the range of notations provided by a typical OO design method.

    Topics covered

  • Object-oriented analysis and design: its application to software engineering through UML.
  • Object-oriented concepts: objects, classes, encapsulation, single and multiple inheritance, dynamic binding.
  • Objectory, use cases, class diagrams: essential and advanced concepts
  • Interaction diagrams, package diagrams, state diagrams, activity diagrams, deployment diagrams
  • Design patterns, metapatterns, application frameworks and hot-spots.

    Core Texts

  • W Pree, Design Patterns for OO Software Development, 1995
  • M Fowler, K Scott, UML Distilled, Addison Wesley, 1997

    Secondary Texts

  • I Jacobson et al, OO Software Engineering, Addison Wesley 1992
  • J. Rumbaugh, I Jacobson, G Booch, UML Reference Manual, Addison Wesley 1998
  • M Priestley, Practical OO Design, McGraw-Hill 1997

    Background Texts

  • J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorensen, Object-Oriented Modelling and Design, Prentice-Hall International, 1991
  • G. Booch, Object-Oriented Design With Applications, Addison Wesley, 1991
  • J Coplien, Advanced C++, Addison Wesley, 1992
  • Graham, I., 1991. Object-oriented Methods. Addison Wesley.