Object-Oriented Software Engineering
Course Notes Main Page


This web site contains course notes for ( object-oriented ) software engineering.


  1. This version of these course notes was assembled Spring 2010 by John Bell, for CS 440 at the University of Illinois Chicago.
  2. These notes are based on the text "Object-Oriented Software Engineering", Third Edition by Bernd Bruegge and Allen Dutoit, and may include images from that text. All students enrolled in the course are expected to purchase their own copy of the required textbook.
  3. Some material may also be included from other sources.

Note: Any topic which does not have a page linked to it, or for which the linked page is unavailable, is under consideration and/or under development, and is subject to change.

Disclaimer: The following note pages are just that - notes. They serve as reminders to myself of what I want to talk about, but not much more. They do not replace the need for students to take their own notes during class, and they certainly do not replace reading and studying the material in the required textbook.

Even Bigger Disclaimer: At a first pass, these "notes" are really just an organized collection of visual aids to be used as the basis for classroom discussions, i.e. scans of the figures and tables from the book in outline form. As I have time I will add some additional commentary, but it may or may not happen this semester, and if it does happen this semester, it may or may not happen before the classroom discussion on that particular topic.

Course Notes, by Topic

  1. Introduction to Software Engineering
  2. Modeling with UML
  3. Project Organization and Communication
  4. Requirements Elicitation
  5. Analysis
  6. System Design: Decomposing the System
  7. System Design: Addressing Design Goals
  8. Object Design: Reusing Pattern Solutions
  9. Object Design: Specifying Interfaces
  10. Mapping Models to Code
  11. Testing
  12. Rationale Management
  13. Configuration Management
  14. Project Management
  15. Software Life-Cycle
  16. Methodologies: Putting It All Together
  17. Design Patterns
  18. Beyond the Scope of These Notes: