COMP62532 Component-based Software Development syllabus 2019-2020
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:
- To introduce the basic concepts and the goals of the CBD paradigm
- To provide an overview of current CBD approaches
- To provide an in-depth exposition of key representative CBD approaches
- Basic concepts
- component models
- The CBD process
- component life cycle
- system life cycle
- Survey of current component models
- categories based on components
- categories based on composition mechanisms
- Component models based on objects
- objects as components
- method call as a composition mechanism
- Enterprise JavaBeans, JavaBeans
- Component models based on architectural units
- architectural units as components
- port connection as a composition mechanism
- Acme/ArchJava, UML2.0
- Component models based on encapsulated components
- encapsulated components
- coordination as a composition mechanism
- web services, X-MAN
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).
- Assessment written exam (2 hours)
- Lectures (20 hours)
- Practical classes & workshops (15 hours)
- Analytical skills
- Group/team working
- Oral communication
- Problem solving
- Written communication
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.
|Component-based software engineering : putting the pieces together||null||0201704854||Addison-Wesley||2001.|
|An introduction to component-based software development||Lau, K.-K. (Kung-Kiu), 1953- author.||9789813221871||World Scientific||2018 [i.e. 2017|
|Component software : beyond object-oriented programming||Szyperski, Clemens.||0201745720||ACM||2002.|
Course unit materials
Links to course unit teaching materials can be found on the School of Computer Science website for current students.