Department: BSc Computer Science (SE)
Module Description: This course provides an introduction to the design and implementation of software systems using object oriented techniques. The techniques we consider are oriented to creating component based designs. The course will review basic object oriented techniques and how they support the creation of component based designs. We also consider the high level modelling of systems as a means of supporting the Software Engineering process. Here we study the Unified Modelling Language (UML), which provides programming language independent notations for design.
Rigby, M. (2016). Component-based software engineering: software architecture. CreateSpace Independent Publishing Platform.
David C. Kung, D.C. (2013). Object-oriented software engineering: an agile unified methodology. McGraw Hill.
Stevens, P. and Pooley, R. J. (2008). Using UML: software engineering with objects and components. 2nd edn. Harlow: Addison-Wesley.
Bourque, P. and Fairley, R.E. (2014). Guide to the software engineering body of knowledge. Los Alamitos, CA: IEEE Computer Society.