UCL Home Page
Home Admissions Students Alumni Research Business People Help
 

 


| STUDENTS > Advanced Analysis and Design |

Advanced Analysis and Design

Note: Whilst every effort is made to keep the syllabus and assessment records correct for this course, the precise details must be checked with the lecturer(s).


Code: 4022 (Also taught as: GS02)
Year:4
Prerequisites:Successful completion of years 1 and 2 of the MSci/MEng Computer Science programme, and an understanding of software engineering equivalent to COMP3015.
Term: 1
Taught By: David Rosenblum (100%)
Aims:The course will train students in the principles and techniques of software systems architecture and design, with an emphasis on the specification and analysis of design models. The training will be at an intellectually demanding level and will cover not only the state-of-the practice in architecture and design, but also the most significant trends, problems and results in research in architecture and design.
Learning Outcomes:On completion of the course unit, the successful student should have a good knowledge and understanding of the Unified Modeling Language (UML), local and distributed component models, the Model Driven Architecture (MDA), architectural styles and design patterns. The successful student should also be able to specify a software system's architecture using informal notations (such as boxes and arrows), to specify a software system's architecture using a formal notation (such as an architecture description language), and to specify a software system's architecture, design structure, and design behavior at multiple levels of abstraction using semi-formal notations (such as UML).

Content:

Fundamentals of Software DesignCourse Introduction
Object Orientation
The Unified Modeling Language
Object-Oriented Analysis
Object-Oriented Design
Advanced Object-Oriented Analysis and DesignDesign-by-Contract
Design-by-Contract Examples
Behavioural Subtyping
Lightweight Extension Mechanisms for UML
Heavyweight Extension Mechanisms for UML
UML Modelling Examples
Software Architecture and Design PatternsSoftware Architecture
Architectural Styles
Service-Oriented Architectures
Design Patterns I
Design Patterns II
Software Architectural ModellingArchitectural Description Languages
Architectures and OO Analysis
Behavioural Analysis of Architectures
The Model Driven Architecture (MDA)
Synthesis of Design Models
Challenges in Software Design

Method of Instruction:

Lectures, lab sessions, coursework.The coursework comprises 2 graded assessments (9% each) and 7 binary-marked assessments (1% each).

Assessment:

The course has the following assessment components:

  • Written Examination (2.5 hours, 75%)
  • Coursework Section (3 pieces, 25%)
To pass this course, students must:
  • Pass the Written Examination (40% or more)
  • Obtain an overall pass mark of 40% for all sections combined
The examination rubric is:
Answer all THREE questions. The questions are weighted 45:45:10. N.B. This course is examined in the pre-Easter examination session.

Resources:

E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Addison Wesley, 1995.

M. Shaw and D. Garlan, Software Architecture: Perspectives on an Emerging Discipline: Prentice-Hall, 1996.

J. Palsberg and M.I. Schwartzbach, Three Discussions on Object-Oriented Typing, ACM SIGPLAN OOPS Messenger, vol. 3, no. 2, pp. 31-38 1992.

D.E. Perry and A.L. Wolf, Foundations for the Study of Software Architecture, ACM SIGSOFT Software Engineering Notes, vol. 17, no. 4, pp. 40-52, October 1992.

B. Meyer, Applying 'Design by Contract', IEEE Computer, vol. 25, no. 10, pp. 40–51, October 1992.

B.H. Liskov and J.M. Wing, A Behavioral Notion of Subtyping, ACM Transactions on Programming Languages and Systems, vol. 16, no. 6, pp. 1811-1841, November 1994.

D. Garlan, R. Allen, and J. Ockerbloom, Architectural Mismatch: Why Reuse Is So Hard, IEEE Software, vol. 12, no. 6, pp. 17-26, November 1995.

J. Arlow and I. Neustadt, UML 2 and the Unified Process, second edition. Addison Wesley, 2005.

Lecture notes

 
Last updated: 14 July, 2006 Maintained by Jill Saunders