Object-Oriented Analysis & Design
605.704
Course Description
This course introduces the fundamental principles of object-oriented approaches to modeling software requirements and design. Topics include strategies for identifying objects and classes of objects, specification of software requirements and design, the design of class hierarchies, software reuse considerations, graphical notations, system implementation using object-oriented and object-based programming languages, and comparison of object-oriented approaches to more traditional approaches based on functional decomposition. Case studies are used to illustrate and reinforce the underlying concepts.
Syllabus
- Object-oriented Concepts, Traditional vs. OO Approaches
- Requirements Elicitation, Use Case Models
- Steps & Techniques in Analysis, UML Package Diagrams
- Class Diagrams, Analysis Patterns, OO Specifications
- Mid-term Exam
- OO Design Process, OO Design Architecture, UML Interaction Diagrams
- Design Patterns, Modeling System Behavior
- Implementing Associations, Implementing Persistence
- Additional UML Topics, Class Presentations
- Final Exam
Prerequisites
605.404 Object-Oriented Programming with C++. Note: the prerequisite may be waived with approval of instructor.
Instructor
Joseph M. Demasco is the president of Decision Support Consultants, Inc., a management consulting firm in Bethesda, MD. He has more than 25 years of experience developing software applications, and provides consulting and mentoring services to help organizations implement software engineering technologies and industry best practices.
Computer Lab Requirements
No specific computer requirements are necessary for this course.
Textbooks
Applying UML and Patterns: An Introduction to Object-Oriented
Analysis and Design by C. Larman, Prentice-Hall, 1998
The Unified Modeling Language User Guide by Booch, Rumbaugh, Jacobson,
Addison-Wesley, 1999
Applying Use Cases: A Practical Guide by
Schneider, Winters, Jacobson, Addison-Wesley, 1998
Return to
Computer Science Courses | Computer
Science | Part-Time Engineering
Summer 2000-01