COMP 2171
COURSE CODE: COMP 2171
COURSE TITLE: Object Oriented Design and Implementation
SEMESTER: 2
CREDITS: 3
RESTRICTION: FOR BSc SOFTWARE ENGINEERING STUDENTS ONLY
COURSE CONTENT:
1. Fundamentals of Object Orientation, Abstraction, Encapsulation, Information hiding, Coupling, Cohesion, Law of Demeter.
2. Identifying Classes: Domain Analysis, Systems Analysis, Class/Responsibility/Collaboration Cards (CRC Cards), Noun Verb Analysis.
3. Identifying Class Relationships: Dependencies, Associations, Aggregations, Compositions, Association Classes.
4. Objects and relationships between objects: Links and object diagrams.
5. 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.
6. Tools: e.g. Rational Software Architect, StarUML, Enterprise Architect, Visual Paradigm, Validating models, Other useful features of modelling tools.
7. Software Architecture: Definition, rationale, benefits, business and technical impact etc., Architectural patterns Emerging Topics in Object Oriented Design, Model Driven Engineering.
ASSESSMENT
Coursework | 60% |
Final Examination (2 Hours) | 40% |