- International Fees
International fees are typically three times the amount of domestic fees. Exact cost will be calculated upon completion of registration.
This hands-on course replaces COMP 3832 as of August 2023. It follows on from COMP 2601- Programming Fundamentals Part 3 (Object Design) and COMP 2831 Business Analysis and Systems Design. Object-Oriented Analysis and Design (OOAD) is aimed software designers and developers who already know how to code significant object-oriented software applications and who also understand the Software development Life Cycle (SDLC) related tools and processes. Exercises and lab work allow students to perform an Object-Oriented Analysis (OOA) based on given requirements. After first identifying business classes students then produce a business model which will be transformed into a design model through Object-Oriented Design (OOD). Topics include: use case analysis, domain model, business classes and relationships, design patterns, anti-patterns, refactoring, General Responsibility Assignment Software Patterns (GRASP), state machine diagrams and types of software architecture. An Agile iterative approach will be followed throughout the OOAD process. Labs include the use of a CASE tool to draw the Unified Modeling Language (UML) diagrams necessary to support the OOAD activities. COMP 3833 is a required course in the Advanced .NET Development, and the Advanced Java Development Associate Certificates, as well as the CST FLEX Diploma. Upon completion, successful students will be able to demonstrate how to analyze, design and construct software applications to industry standards. This course is offered twice per year in the fall (September) and spring (April) terms.
- Not offered this term
- This course is not offered this term. Please check back next term or subscribe to receive notifications of future course offerings and other opportunities to learn more about this course and related programs.
Upon successful completion of this course, the student will be able to:
- Explain iterative OOAD including planning for an iteration, detailing the steps, artifacts and activities inside of an iteration.
- Identify Actors and Primary Use Cases from requirements and draw Use Case Diagrams.
- Identify business classes, attributes and relationships and construct the business model.
- Apply the principles of "Object-Oriented Programming (OOP)": abstraction, encapsulation, polymorphism and inheritance.
- Use UML diagrams for analysis and design: use case, class, sequence, collaboration, activity and state-chart diagrams.
- Perform "Responsibility Driven Design (RDD)" by recognizing and applying "General Responsibility Assignment Software Patterns (GRASP)" design patterns, anti-patterns and refactoring.
- Identify Inheritance and refine the relationships between classes to further extend the design.
- Convert the design to code, reading and implementing the code by following the design sequence diagrams.
- Create Activity and State Machine diagrams to enhance the design.
- Describe Software Architecture types: n-tiered, event-driven, and microservices.
- Identify functional code.
- Analyze the user feedback to refine the design and grow the system with every new iteration.
Effective as of Spring/Summer 2023
Object Oriented Analysis and Design (COMP 3833) is offered as a part of the following programs:
School of Computing and Academic Studies
If you have a question or comment about this course, please complete and submit the form below.
Interested in being notified about future offerings of Object Oriented Analysis and Design (COMP 3833)? If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.
Programs and courses are subject to change without notice.