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:
- Introduction to object-oriented Software Engineering (SE) Concepts
- Large Scale software development process
- Software development phases
- SE analysis and design methodologies: Object-oriented analysis and design,
evolvable rapid prototyping
- Object-oriented modelling: Requirement analysis,
Object-oriented specification, object-oriented design process,
object-oriented implementation
- Use cases, CRC cards
- The UML (Unified Modelling Language)
- Design Patterns
- Object-oriented layered software architectures
- Development and mapping of user interface layer onto domain layer
- Introduction to software verification and validation
- 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
-
www.rational.com/uml (uml and their rational rose software for it)
See for instance whitepapers by Booch, Rumbaugh, uml quick guide and uml reference.
-
www.c2.com (Extreme Programming , Portland Pattern Repository)
See eg paper on CRC cards: click "Published Papers" then "OOPSLA89"
-
www.taligent.com (folds you into IBM Java group)
Get some impression of the Object Oriented SE literature
Some specific influential SE texts
-
Jacobson I., Christerson M., Jonsson P. and Övergaard G. (1992) Object-Oriented Software Engineering: a use case driven
approach, Addison-Wesley.
- The Mythical Man-Month
- Dijkstra
- ...