Course Description:
The objective of this course is to study the principles behind
the patterns of software and to then apply a number of basic
patterns. This course covers fundamental aspects of large scale
software architecture, defined frameworks, design patterns, and
ways of developing and establishing systems based on
components. The purpose of this course is: (1) to know the
classical styles of software pattern and the need for a language
to describe the architecture, (2) to understand how to express
the qualities we want our architecture to provide to the system
or systems we are building from it, and (3) to know how to
achieve software qualities using TACTICS. Topics include
envisioning architecture (architecture business cycle),
architectural patterns, reference models, reference architectures,
understanding quality attributes, achieving qualities using
tactics, and how to document software architecture.
Class Schedule
Lab/Tutorial 90 minutes 1 times/week
Meet 50 minutes 3 times/week or 80 minutes 2 times/week
Course Learning Outcomes (CLO)
By completion of the course the students should be able to
- Generate code from class diagrams and vice versa (2)
- Identify any GoF creational design patterns for code or scenario or design (2)
- Design and implement GoF creational design patterns (2)
- Identify any GoF structural design patterns for code or scenario or design (2)
- Design and implement GoF structural design patterns (2)
- Identify any GoF behavioural design patterns for code or scenario or design (2)
- Design and implement GoF behavioural design patterns (2)
- Desing and Implement an application that simulate a medium size project as part of a group (6)
- Detect the appropriate design patterns in class diagrams (2)
- Recognize the design patterns from code
- Produce a pattern based design that maps the requirements of a given scenario using design patterns (6)
- Implement code that maps the requirements of a given scenario or designs (6)
- Compound Patterns (6)
- Model View Controller Pattern (6)
Textbook
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, , "Design Patterns", Addison-Wesley; 2 edition (2003-09)
ISBN-13 9780582844421 ISBN-10 0582844428
Grade Distribution
Week
|
Assessment
|
Grade %
|
2
|
Graded Lab Work 1
|
2
|
4
|
Homework Assignments 1
|
2
|
6
|
Graded Lab Work 2
|
2
|
7
|
Exam 1
|
30
|
8
|
Homework Assignments 2
|
2
|
13
|
Graded Lab Work 3
|
2
|
15
|
Lab Exam
|
10
|
15
|
Group Project
|
20
|
16
|
Comprehensive Final Exam
|
30
|
|
|
|