Skip to navigation | Skip to main content | Skip to footer

This is an archived syllabus from 2013-2014

COMP61521 Component-based Software Development syllabus 2013-2014

COMP61521 Component-based Software Development

Level 6
Credits: 15
Enrolled students: 31

Course leader: Kung-Kiu Lau

Additional staff: view all staff

Assessment methods

  • 50% Written exam
  • 50% Coursework
Sem 1 P2 Lecture Collab 1 Thu 09:00 - 09:00 -
Sem 1 P2 Lab 2.25 (a+b) Thu 14:00 - 14:00 -
Themes to which this unit belongs
  • Software Engineering 1


Instead of building monolithic systems from scratch, Component-based Software Development (CBD) aims to construct systems by assembling ready-made components, and thereby reduce production cost and time-to-market, whilst increasing software reuse. The cornerstone of a CBD approach is the underlying component model, which defines what components are and how they can be composed. Current component models do not yet achieve the aforementioned objectives of CBD. In this course, we will study current component models and how they measure up to the goals of CBD.


The aims of this course are:

  1. To introduce the basic concepts and the goals of the CBD paradigm
  2. To provide an overview of current CBD approaches
  3. To provide an in-depth exposition of key representative CBD approaches


  1. Basic concepts
    • components
    • composition
    • component models
  2. The CBD process
    • component life cycle
    • system life cycle
  3. Survey of current component models
    • categories based on components
    • categories based on composition mechanisms
  4. Component models based on objects
    • objects as components
    • method call as a composition mechanism
    • Enterprise JavaBeans, JavaBeans
  5. Component models based on architectural units
    • architectural units as components
    • port connection as a composition mechanism
    • Acme/ArchJava, UML2.0
  6. Component models based on encapsulated components
    • encapsulated components
    • coordination as a composition mechanism
    • web services, X-MAN

Feedback methods

Feedback in lectures is given interactively both verbally and via Classroom Presenter - a software system for interactive lectures. Feedback in labs is given both interactively (verbally) and in written form. Feedback on group presentations is given interactively (verbally).

Study hours

  • Assessment written exam (2 hours)
  • Lectures (20 hours)
  • Practical classes & workshops (15 hours)

Employability skills

  • Analytical skills
  • Group/team working
  • Oral communication
  • Problem solving
  • Research
  • Written communication

Learning outcomes

Programme outcomeUnit learning outcomesAssessment
A1 A2An understanding of the basic concepts and the goals of the CBD paradigm.
A1 A2A knowledge of current CBD approaches.
A1 A2An in-depth knowledge of representative CBD approaches.
B2 C3Ability to apply key representative approaches.

Reading list

Component software: beyond Object-Oriented Programming (2nd edition)Szyperski, Clemens (with Dominik Gruntz and Stephan Murer)9780201745726Addison Wesley2002
Component-based software engineering: putting the pieces togetherHeineman, G.T. and W.T. Councill9780768682076Addison Wesley2001

Additional notes

Course unit materials

Links to course unit teaching materials can be found on the School of Computer Science website for current students.