Skip to main content

ModuleInformation

CSC4002

Advanced Software Design

Course Contents

  • Building designs from use cases/requirements descriptions;
  • identifying classes, assigning responsibilities and determining collaborations between objects;
  • modelling and documenting software design;
  • Software Design patterns;
  • Software Architecture;
  • Model Driven Engineering;
  • Modern approaches to software design;
  • Practical exercises will involve the use of software tools to construct or modify designs as well as practical implementations to illustrate design principles and patterns and approaches.

Supplementary Notes

None

Learning Outcomes

  • Have a good knowledge of the software design process for object oriented software;
  • Describe software design principles and be able to choose from a range of software design patterns and to implement these singly or in compbination to solve specific problems;
  • Appreciate the application of Software Architecture design;
  • Appreciate current and possible future trends in Software Design;
  • Use appropriate modelling techniques and use software tools that support these.

Skills

Use of software tools; knowledge of software design processes and notations and their use.