Course Aims:
This course aims to:
• Indicate which underlying object oriented design principle(s) it is based on.
• Explain the reasoning for each object oriented design principle.
• Explain what specific object oriented design problem the pattern solves.
• Provide a specific context for each pattern in which it can be applied.
• Draw a high level class diagram in UML for each pattern.
• Explain how the different components of the pattern collaborate with each other.
• List the consequences of applying each pattern to the overall software quality of a system.
• List which patterns are related to this pattern and what type pattern each pattern is.
• Implement this pattern in Java to a real world problem.
• Be able to mix patterns with each other and understand the consequences of mixing patterns on the overall quality of a system.
Course outcomes:
Upon completion of this course, the student should be able to:
• Rise to design challenges through use of tools and methodologies.
• Reduce business risks associated with building technical solutions.
• Address stakeholder requirements and satisfy both functional and quality requirements.
• Refer to international standards to help structure your architect team and projects.
• Hard and software engineering.