This advanced OOAD course follows on from COMP 2831 and is aimed at software analysts, designers and developers who already understand the Software development Life Cycle (SDLC). Through exercises and group work, students first perform Object Oriented Analysis (OOA) to produce a conceptual model of existing information using case studies to identify actors and primary use cases for documentation. Using Object Oriented Design (OOD) students learn how to identify classes and build the domain model. Round trip engineering, reverse engineering and code generation are practised in labs, where the design is converted to functional code. Topics include: design patterns, anti-patterns and General Responsibility Assignment Software Patterns (GRASP). The concepts of phases, iterations, activities and artifacts are emphasized throughout the course. Labs include the use of the Unified Process (UP) which is an extensible framework for iterative and incremental software development process, and the basis of all the modern “Agile methodologies”. Participants also gain hands-on experience using a case tool, Rational Rose Modeler, to draw most of the Unified Modeling Language (UML) diagrams necessary to support the OOAD activities. Students are introduced to manual and automated software testing. They will learn how to create and execute test scripts using a testing tool. Successful participants will be able to demonstrate the ability to analyse, design and construct sophisticated software applications to industry standards.
COMP 2831 and ability to write executable code in an object oriented programming language.
*(A)* STAT HOLIDAY: No class February 12 (Family Day) and April 2 (Easter). *(B)* IMPORTANT INFO: This course is 48 hours offered as a classroom (36 hours) AND online (12 hours) format. The class meets once per week for 3 hours face to face and requires an additional 1 hour per week online. Reading, home work and assignments may require an additional 6+ hours per week outside of class. The average total commitment for this course is 12 hours each week. *(C)* REGISTRATION: No registration is permitted after the course has started without department approval. The start and end dates have been changed from January 8 – March 26 to January 8 – April 9.
This course offering is in progress and full. Please check back next term, subscribe to receive email updates or
contact us with your comments or questions.
In Progress and Full
Below is one offering of this course for the Spring/Summer 2018 term.
IMPORTANT INFO: This course is 48 hours offered as a classroom (36 hours) AND online (12 hours) format. The class meets once per week for 3 hours face to face and requires an additional 1 hour per week online. Reading, home work and assignments may require an additional 6+ hours per week outside of class. The average total commitment for this course is 2 hours each week. REGISTRATION: No registration is permitted after the course has started without department approval.
This course offering is full. Please check back next term, subscribe to receive email updates or
contact us with your comments or questions.
Upon successful completion of this course, the student will be able to:
Understand the evolution from the Waterfall Development Process to the Agile Development Processes.
Understand iterations in the context of iterative development, including planning for an iteration, the steps, artifacts and activities inside of an iteration.
Identify Actors and Primary Use Cases from requirements and draw use case diagrams.
Write Use Case Documents in fully dressed format using Microsoft Word.
Identify business classes, attributes and relationships and construct the domain model as a class diagram using Rational Rose Modeler.
How to classify the Requirements using FURPS, intro to architectural analysis.
Be proficient using Rational Rose Modeler to represent both analysis and design models, including the following UML diagrams: use case, class, sequence, collaboration, activity and statechart diagrams.
Performing Responsibility Driven Design by recognizing and applying GRASP design patterns, anti-patterns and refactoring.
Identify Inheritance and refine the relationships between classes and objects to further extend the design as the use case realization is driving the completion of the design.
Understand the importance of functional code, analyze the user feedback to refine the design and grow the system with every new iteration.
Introducing the main types of software testing: unit testing, functional testing, regression testing, user acceptance testing, smoke test.
Introducing QA engineering concepts: test model, test plan, test case, test script, manual and automated testing tools, equivalence partitioning, Rational SQA scripts.
Effective as of Winter 2011
COMP 3831 is offered as a part of the following programs:
Books for Winter 2018 offerings of this course are available in the following BCIT
online bookstores. Please choose the bookstore appropriate for the offering
you are considering.
BCIT Burnaby Bookstore
If you are taking this course, but are not taking it through either Distance
Education or Online Learning, nor at the BCIT Downtown Campus (DTC), please purchase books for this course at the BCIT Burnaby Bookstore.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)
No information on books is currently available for Spring/Summer 2018 offerings of this course.
If you have a comment or question about this course, please complete and submit the form below.
Interested in being notified about future offerings of COMP 3831 - Object Oriented Analysis and Design?
If so, fill out the information below and we'll notify you by email when courses for each new term are displayed here.