The development of object-oriented technology has often been compared to the industrial revolution, which changed the way in which hardware systems (e.g. cars) were designed and produced. A similarly dramatic increase in productivity, quality and rate of product development is currently experienced in the software industry.
Software is now assembled from stand-alone, interchangeable and reusable components which have been individually tested to comply to certain specifications. Soon we will have a software components industry which will, in many ways, resemble the electronic components industry. During the design stage programmers will assemble their design from abstract components and during the implementation stage concrete components will be selected from catalogs published (most probably electronically) by software component manufacturers. At each hierarchical level the system is again viewed as a component (e.g. the entire break system is a component of a car) complying to certain interface and performance specifications.
This course gives a step-for-step introduction into object oriented analysis and design via numerous example programs which solve real-life problems. For many of the problems we show how the design can be mapped onto C++ and Java classes and programs. We also discuss the connection of UML and XML.
The participants will receive a complete set of course notes. Throughout the course we will use the UML (Unified Modeling Language) notation for object-oriented analysis and design developed by Rumbaugh and Booch and Jacobson. This notation has become the de-facto standard in object-oriented modeling and is supported by most major companies like HP, IBM, Oracle, Platinum and since July 1997 even by Microsoft. UML has been submitted to the OMG (Object Modeling Group) for certification as a standard in object-oriented modeling. The certification process should be completed by the end of 1997 or the beginning of 1998.
1. The Vocabulary of Object Technology
2. A Simple Object-Oriented Methodology
3. The Unified Modeling Language
4. Business Process Reengineering
5. Use Case Diagrams and Ideal Object Models
6. CRC Cards
7. UML Class and Object Diagrams
8. UML Sequence and Collaboration Diagrams
9. UML State and Activity Diagrams
10. Designing an Object-Oriented System
11. Coding Applications in Java and C++