Home Skills Resume Portfolio Contact
 

 

 

HUMBER SCHOOL OF INFORMATION TECHNOLOGY

COURSE OUTLINE

ACADEMIC YEAR FALL '02 TO SUMMER '03

COURSE NUMBER CPAN 523
   
COURSE NAME Object Oriented Analysis and Design 
  (formerly Object Oriented Design & Programming)
   
CREDITS 6
   
PRE-REQUISITES CPAN 322 Java Application Programming (formerly Advanced Java)
  Database and SQL Knowledge
  CPAN 331 Requirements Analysis and Process Modeling
TEXT REQUIRED (A) Systems Analysis & Design, An Object Oriented Approach with UML
  Alan Dennis, Barbara Haley Wixom, David Tegarden
  Wiley
ISBN 0-471-41387-9
   
LAB REFERENCE (B)  Visual Modeling with Rational Rose 2002 and UML (Used for Reference only)
  Terry Quatrani
  Addison-Wesley
ISBN 0-201-72932-6
   
TEXT REQUIRED (C)  UML Distilled  (Second Edition)
  Booch, Jacobson, Rumbaugh
  Addison-Wesley
ISBN 0-201-65783-X
   
REFERENCE WEBSITE www.hal.humberc.on.ca/~goussev/cpan523
  www.rational.com/index
   
SOFTWARE Rational Rose 2000
   
ORIGINATED BY: Muhammad Khan DATE: May 10, 2000
     
REVISED BY: Alexandre Goussev DATE: May 15, 2001
REVISED BY:  Muhammad Khan DATE: December 02, 2002

 

 

COURSE DESCRIPTION

This course provides students with essentials of Object Oriented (O-O) Analysis and Design technology. Key O-O concepts and methods are explained within the Unified Modeling Language (UML) framework. Rational Rose is used throughout the O-O iterative life cycle of applications as the modeling tool in planning, analysis, design and implementation activities. The nine UML diagrams are discussed in detail. The use cases technique is applied to create communication scenarios. A group project will be used to demonstrate the UML diagrams to show development cycle for small and middle-size businesses. The same O-O technique is used in the initial life cycle's iteration for big businesses. Advanced Java programming tools are employed in the implementation of the project.

LEARNING OUTCOMES

Upon completion of this course, the successful student will be able to:

1. Define the terms associated with the Object Oriented Paradigm.
2. Introduce O-O methodology for Systems Analysis and Requirement Analysis models.
3. Identify O-O Requirements and Domain Analysis.
4. Create Use Cases for Object Oriented Models.
5. Apply O-O concepts to identify Objects and Classes, their relationships and their hierarchy.
6. Identify scenarios of system behaviour with Sequence Diagrams.
7. Represent an object behaviour using State Diagrams.
8. Represent the interaction between objects with Collaboration Diagrams.
9. Display a sequence of actions within a system with Activity Diagrams.
10. Describe software components and their dependencies with Component diagrams.
11. Show the run-time architecture of processors, devices, and the software components with Deployment Diagrams.
12. Extend the UML with Constraints, Stereotypes, Tagged Values and Properties.
13. Model Patterns in UML.
14. Define O-O Architecture Design, Detailed Design and User-Interface Design.
15. Use Rational Rose as a modeling tool in the O-O Development Life Cycle
16. Write O-O programs using design phase diagrams in the framework of Java Integrated Development Environment (IDE).
17. Apply O-O Software Testing and Quality Assurance methods to the Verification and Validation activities of the O-O Software Development Life Cycle.
18. Understand O-O database systems.

GENERIC SKILLS

The following generic skills will be acquired and/or enhanced:

COMMUNICATION

  • Write clear, concise sentences and paragraphs, use clear relationships within and between paragraphs.
  • Communicate in written, oral and diagrammatic form, using appropriate formal and informal vocabulary and format.
  • Demonstrate ability to respond to oral instructions.
  • Use an appropriate level of work-related terminology in report correspondence and discussions.
  • Read and comprehend reports, standard reference material, manuals, diagrams, drawings, schedules and graphs, and summarize the information.
  • Interpret a broad range of complex technical instructions (e.g. program specifications).
  • Write technical reports, including abstracts, tables, figures, drawings in an appropriate format

MATHEMATICS

  • Apply the fundamentals of mathematics (addition, subtraction, division and multiplication, integers, signed integers, averages, fractions and percentages) to the solution of problems within the discipline.
  • Apply appropriate formulae to solve common business problems (e.g. present value)
  • Define precision and accuracy in mathematical calculations and use the rule for significant figures.
  • Simplify and add, subtract, multiply and divide algebraic expressions and algebraic fractions.
  • Represent information in a graphical format that is visually accurate.

INTERPERSONAL

  • Complete projects as an effective member of a team.
  • Participate effectively in group discussions on technical problems and design.
  • Work with others by co-operating, sharing ideas and constructively resolving conflicts.
  • Demonstrate understanding of the need to respect the rights of individuals.

CURRICULUM DETAIL:

Class materials etc. are made available to students on the website. Students are expected to visit the website regularly to read/download these materials, as directed by their professor(s).

 
Reference
1.

Introduction to O-O Analysis and Design Process 

Upon completion of this unit, the student will be able to:

  • Identify the Software life cycle
  • Differentiate between the conventional and O-O process of Systems Analysis and Requirements gathering
  • Identify the roles within Project Teams and their skills
  • Explain the benefits of Iterative Development
  • Explain where Analysis and Design fit into the Life-Cycle
  • Explain how the UML fits into the Development Process
A (Ch. 1)

C (Ch. 1)

2.

Review of Project Management techniques

Upon completion of this unit, the student will be able to:

  • Explain how projects are initiated
  • Define the project work flow
  • Explain the terms Technical Feasibility, Economic Feasibility and Organizational Feasibilities
  • Create work plans for a project
  • Explain the issues related to Project Staffing, Controlling and Directing a project
A (Ch. 2, Ch. 3)

C (Ch. 2)

3. O-O Systems Analysis

Upon completion of this unit, the student will be able to: 

  • Explain the business process automation
  • Identify ways of business process improvements
  • Develop and apply an Analysis plan
  • Analyze risks and identify alternate plans
A (Ch. 4)
4. Requirements Gathering

Upon completion of this unit, the student will be able to:

  • Identify the methods of requirements gathering
  • Extract appropriate requirements from the data gathered through the process of Interviews, Questionnaires, Document Analysis and Application designs
A (Ch. 5)
5.

Use-Case Modeling

Upon completion of this unit, the student will be able to

  • Explain the purpose of a Use Case
  • Explain the concept of an Actor in a Use Case
  • Identify and define key Use Cases
  • Create Use Cases in the UML notation using Rational Rose
A (Ch. 6)

C (Ch. 3)

6.

Class and Object Diagrams (Structural Modeling)

Upon completion of this unit, the student will be able to:

  • Explain the purpose of Class and Objects Diagrams
  • Start to build a Logical Model by identifying Classes
  • Produce a basic Class Diagram in the UML notation using Rational Rose
  • Add Attributes and Operations to Class Diagrams
  • Document the relationships between Classes using the UML notation and Rational Rose:
    • Association
    • Aggregation
    • Composition
    • Inheritance
  • Name Associations and Roles
  • Add Cardinality and Navigation to a Class diagram
  • Recognize the parallels between Class and Object diagrams
A (Ch. 7, Ch. 14)

C (Ch. 4, Ch. 6)

7.

System Behaviour - System Sequence & Collaboration Diagram

Upon completion of this unit, the student will be able to:

  • Explain the purpose of Sequence & Collaboration Diagrams
  • Identify the Activities and Dependencies involved in creating Sequence Diagrams
  • Define System Behaviours. Draw System Sequence Diagrams in the UML using Rational Rose
  • Identify and Name System Events and Operations
  • Understand how the System Boundary affects System Events
A (Ch. 8)

C (Ch. 5)

8.

Modeling Behaviour using State & Activity Diagrams

Upon completion of this unit, the student will be able to

  • Define Events, States and Transitions and know their UML notation
  • Create State & Activity Diagrams in Rational Rose
  • Create Use Case State Diagrams
  • Create System State and Activity Diagrams
  • Explore Types That Need State Diagrams
  • Illustrate External and Internal Events
  • Use Additional State Diagram Notation
A (Ch. 8)

C (Ch. 8, Ch. 9)

9.

Physical Architecture

Upon completion of this unit, the student will be able to:

  • Create Packages and package diagrams
  • Create Components Diagrams with Compile-Time Components, Link-Time Components, and Run-time Components
  • Create Deployment Diagrams with Nodes, Connections, Components, and Objects
  • Allocate Components to Nodes
A (Ch 9, Ch 10) 

C (Ch. 7, Ch. 10)

10. User Interface Structure Design

Upon completion of this unit, the student will be able to:

  • Understand the underlying principles and aesthetics of UI designs
  • Understand how to structure the UI interface structure
  • Identify the UI Standards

 

A (Ch. 11)
11. Object Oriented Persistence Design 

Upon completion of this unit, the student will be able to:

  • Understand different implementations of object persistence formats
  • Explain the difference between the O-O databases and Relational databases
  • Optimize RDBMS-based Object Storage
A (Ch. 13)
12. Construction (Implementation), Testing and Debugging

Upon completion of this unit, the student will be able to:

  • Plan the construction phase of the software life cycle
  • Identify the need of Testing and Debugging the Software
  • Understand the concept of Quality Assurance in Software Engineering
  • Understand Unit Testing
  • Understand Integration Testing
  • Understand System Testing
  • Design the Documentation process

 

A (Ch. 15)
13.

Design Patterns and UML

Upon completion of this unit, the student will be able to:

  • Model Patterns in UML
  • Parameterize Collaborations
  • Show Patterns in UML Diagrams
  • Show Patterns in Use Cases
 Handouts
14. There will be a Group Project for this course, in which the team of students will analyze the system. The team will then do the Requirement Analysis for the case, model the static and dynamic diagrams and implement the Software Solution for the case, where necessary. A, B and C

ASSESSMENT AND EVALUATION

An average of 60% must be achieved on the tests for the assignments to be counted for the final mark.

The Marking distribution is as follows:

MIDTERM 30%
FINAL 30%
QUIZ 1 5%
QUIZ 2 5%
CASE STUDY AND PROJECT 30%

Please note: The Distance Learning version of this course (if available) may have a different grading scheme than the classroom version. Check the information page of the Distance Learning version for details. Students must pass the proctored final exam for any other test and lab assignments to count towards their final mark.

 

PRIOR LEARNING ASSESSMENT

College PLA requirements must be followed. PLA consists of a challenge exam and if successful, a case study will follow.

ACADEMIC REGULATIONS

It is the responsibility of each student to be knowledgeable of the Humber College Academic Regulations and the School of Information, Technology and Accounting Academic Standards and Regulations. Copies of the standards are available in the School of Information Technology and Accounting main office H221. It is the student's responsibility to retain course outlines for possible future use in support of applications for transfer credit to other educational institutions. **A charge of $5.00 per course outline may apply for additional copies.**

DISCLAIMER

Every effort will be made by the instructor of the course to cover all the material listed. However, in the event of special circumstances (i.e. time constraints due to inclement weather, sickness, technology problems or changes, etc) the order, content and/or evaluation may be changed with prior notification to students and approval from the Dean/Associate Dean