CISC 475 : Object-Oriented Software Engineering


Catalog Description:
Introduction to object-oriented software engineering concepts, methodologies and tools. Requirement analysis, design and implementation of object-oriented software development process using UML. Real-life examples and homework projects to cover all aspects of object-oriented lifecycle, from requirements to coding in C++ and/or Java.

Current Texts:
UML Distilled, Second Edition, A Brief Guide to the Standard Object Modeling Language
Martin Fowler with Kendall Scott
Addison-Wesley, 2000

Design Patterns, Elements of Reusable Object-Oriented Software
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
Addison-Wesley, 1995

further references

Goals:
To study, understand and implement the fundamental object-oriented software engineering concepts and gain knowledge in depth of object-oriented specification, design, and coding of complex software systems by using the Unified Modeling Language (UML) and design patterns.

Content:

  1. Introduction to object-oriented Software Engineering (SE) Concepts
  2. Large Scale software development process
  3. Software development phases
  4. SE analysis and design methodologies: Object-oriented analysis and design, evolvable rapid prototyping
  5. Object-oriented modelling: Requirement analysis, Object-oriented specification, object-oriented design process, object-oriented implementation
  6. Use cases, CRC cards
  7. The UML (Unified Modelling Language)
  8. Design Patterns
  9. Object-oriented layered software architectures
  10. Development and mapping of user interface layer onto domain layer
  11. Introduction to software verification and validation
  12. Homeworks, a major group project, as well as three formal exams (UML, Patterns, Final).

Required Background: CISC220 and CISC 280. Good programming skills, especially on C++ and Java. Senior or first year graduate standing in CIS or EE.

Recommended Background: CISC 320, 361, 370, 470

Recent Instructors: Saunders [Fall 2000] Saydam [Fall 1997 and 1998, Spring 1998 and 1999].


Further sources

Get some impression of SE methodology companies
Get some impression of the Object Oriented SE literature Some specific influential SE texts