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

This is an archived syllabus from 2019-2020

COMP62532 Component-based Software Development syllabus 2019-2020

COMP62532 Component-based Software Development

Level 6
Credits: 15
Enrolled students: 22

Course leader: Kung-Kiu Lau

Additional staff: view all staff

Assessment methods

  • 70% Written exam
  • 30% Coursework
Sem 2 P3 Lecture 2.15 Mon 09:00 - 13:00 -
Sem 2 P3 Lab 2.25 (A+B) Mon 14:00 - 17:00 -
Themes to which this unit belongs
  • Software Engineering 2
  • Computer Science units for ACSwITM students (semester 2)


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

On successful completion of this unit, a student will be able to:

  • Describe the different kinds of components and compositions used in current CBD approaches.
  • Describe the idealised component life cycle for a generic CBD approach 
  • Analyse, evaluate and classify a CBD approach according to the idealised component life cycle. 
  • Apply a given CBD approach to the construction of a real software system.

Reading list

Component-based software engineering : putting the pieces together undefined0201704854Addison-Wesley2001.
An introduction to component-based software development Lau, K.-K. (Kung-Kiu), 1953- author.9789813221871World Scientific2018 [i.e. 2017
Component software : beyond object-oriented programming Szyperski, Clemens.0201745720ACM2002.

Additional notes

Course unit materials

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