COMP2171
Course Title:
Object Technology
Credits:
3
Educational Level:
II
Semester offered:
II
Associated Programme:
B.Sc. CS
Core Course:
yes
Syllabus:
- Fundamentals of Object Orientation, Abstraction, Encapsulation, Information hiding, Coupling, Cohesion, Law of Demeter.
- Identifying Classes: Domain Analysis, Systems Analysis, Class/Responsibility/Collaboration Cards (CRC Cards), Noun Verb Analysis.
- Identifying Class Relationships: Dependencies, Associations, Aggregations, Compositions, Association Classes.
- Objects and relationships between objects: Links and object diagrams.
- Modelling: History of Modelling, Modelling Benefits, Agile Modelling, UML Diagrams: Use Case, Sequence, Communication, State, Activity, Class, Component, Deployment, Timing etc., Views: 4+1 views, Dynamic vs. Static etc. Design Patterns, Object Constraint Language.
- Tools: e.g. Rational Software Architect, StarUML, Enterprise Architect, Visual Paradigm, Validating models, Other useful features of modelling tools.
- Software Architecture: Definition, rationale, benefits, business, and technical impact, etc., Architectural patterns Emerging Topics in Object Oriented Design, Model Driven Engineering.
Course Assessment:
- Final Written Examination (2 hours) 40%
- Coursework: 60%
- Online Activities 10%
- In-course Test 15%
- Group Presentations 35%
Students will be required to pass both the coursework and the final examination to pass the course.
Course Prerequisites:
COMP1161 - Object-Oriented Programming AND COMP2140 - Software Engineering.