This topic focuses on the design phase of the software development lifecycle, that is, the process of defining the internal structure of a software system that will serve as a basis for its construction. Software design strategies and methods will be covered with an emphasis on object-oriented analysis and design. Design patterns, quality assurance approaches and the need for systematic documentation will also be emphasised. The use of UML (unified Modelling Language) as a tool for structural and behavioural modelling will be introduced.
This topic introduces the process, techniques, and methods of software design with a particular emphasis on the object oriented paradigm. The aims are to extend students’ understanding of the nature and the role of architecture, component, interface, and design pattern in the context of software system design, and the need to take multiple perspectives and use modelling tools, such as UML (the Unified Modelling Language) to arrive at an optimal design. Opportunities to practice the application of tools, principles and methodologies will be provided to further students’ understanding of object-oriented analysis and design, as well as further developing their problem solving, teamwork and structured documentation skills.