Skip to main content

Search Bar Icon Close Menu

Master Syllabus

Print this Syllabus « Return to Previous Page

Administrative Unit: Computer and Mathematical Sciences Department
Course Prefix and Number: CISS 438
Course Title: Object-Oriented Design and Analysis
Number of:
Credit Hours 3
Lecture Hours 3
Lab Hours 0
Catalog Description: An introduction to object-oriented (OO) analysis, design, and modeling. Topics include techniques for mapping real-world systems onto an OO representation, use case design, OO methodology for software development, identifying patterns, building conceptual models, and OO implementation issues. The Unified Modeling Language will be used as a modeling tool. Prerequisite: CISS 350 or CISS 358.
Prerequisite(s) / Corequisite(s): CISS 350 or CISS 358.
Course Rotation for Day Program: Offered even Spring.
Text(s): Most current editions of the following:

Textbooks listed are not necessarily the textbook(s) used in the course.

Object-Oriented Analysis and Design with Applications
By G. Booch (Addison-Wesley)
UML Distilled: A Brief Guide to the Standard Object Modeling Language
By M. Fowler (Addison-Wesley)
Design Patterns
By E. Gamma, R. Helm, R. Johnson, J. Vlissides (Addison-Wesley)
The Unified Software Development Process
By I. Jacobson, et. al. (Addison-Wesley)
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
By C. Larman (Prentice Hall)
Design Patterns Explained: A New Perspective on Object-Oriented Design
By A. Shalloway, J.R. Trott (Addison-Wesley)
Course Objectives
  • To develop a strong foundation in object-oriented analysis, design, and implementation of software systems.
  • To use UML notation in the design of systems.
  • To choose appropriate design patterns for common design problems.
    Measurable Learning
  • Discuss the properties of good software design.
  • Compare and contrast object-oriented analysis and design with structured analysis and design.
  • Evaluate the quality of multiple software designs based on key design principles and concepts.
  • Select and apply appropriate design patterns in the construction of a software application.
  • Perform requirements analysis and create a use case model from user requirements.
  • Create an OO software design for a software product from a software requirement specification using UML.
  • Conduct a software design review using appropriate guidelines.
  • Evaluate a software design from the perspective of reuse.
  • Implement an OO software design using an OO programming language.
    Topical Outline:
  • Review of object-oriented programming
  • Comparison of structured and OO methodologies
  • Requirements analysis
    - Use case model
  • OO Analysis
    - Domain model
    - Conceptual classes
    - Associations and links
    - Class responsibility and CRC
    - Contracts with pre- and post-conditions
  • OO Design
    - Design model
    - Design analysis
    - Data model
    - Object persistence
  • OO Implementation
    - Mapping design to code
    - Optimization
    - Components
    - Deployment
  • UML
    - Use case diagram
    - Class diagram
    - Object diagram
    - Sequence diagram
    - Communication (collaboration) diagram
    - Composite structure diagram
    - Activity diagram
    - Interaction overview diagram
    - State machine diagram
    - Component diagram
    - Timing diagram
    - Package diagram
    - Deployment diagram
  • Design Patterns
  • Unified and XP Processes

    Recommended maximum class size for this course: 20

    Library Resources:

    Online databases are available at the Columbia College Stafford Library.  You may access them using your CougarTrack login and password when prompted.

    Prepared by: Yihsiang Liow Date: May 11, 2005
    NOTE: The intention of this master course syllabus is to provide an outline of the contents of this course, as specified by the faculty of Columbia College, regardless of who teaches the course, when it is taught, or where it is taught. Faculty members teaching this course for Columbia College are expected to facilitate learning pursuant to the course objectives and cover the subjects listed in the topical outline. However, instructors are also encouraged to cover additional topics of interest so long as those topics are relevant to the course's subject. The master syllabus is, therefore, prescriptive in nature but also allows for a diversity of individual approaches to course material.

    Office of Academic Affairs


    Request info