Object orientation for executives

Introduction to object orientation

  • Complexity of software and structure of complex systems
  • Object-oriented approach and its benefits
  • Terms, inheritance, aggregation, association, reuse, etc.

Object-oriented analysis and design

  • Objectives and approach
  • Elementary system modules
  • Isolation of system components and defining interfaces

Object-oriented programming

  • Maintainability and reusability
  • Class libraries
  • Overview of key OO programming languages (C++ and JAVA)

Methods and notations

  • Unified Modelling Language (UML) as a standard for OO notation

Additional guidance

  • Overview of key OO programming languages (C++ and JAVA)
  • Distributed programming RPC/DCE, CORBA, RMI, DCOM
  • Component models COM, ActiveX and JavaBeans


Object orientation and object-oriented analysis

Introduction to object orientation

  • Complexity of software and structure of complex systems
  • Object-oriented approach and object-oriented lifecycle
  • Development, elements and application of the object model
  • Objects and relations between them, classes and relations between them
  • Explanations, inheritance, aggregation, association, reuse, multiple inheritance
  • Collaboration of objects and classes, methods and attributes
  • Classification and abstraction, detecting classes and objects
  • Polymorphism, genericness, subsystems, interfaces

Methods and notations

  • Unified Modelling Language (UML) as a standard for OO notation
  • Object-oriented analysis and object-oriented design, Peter Coad, Edward Yourdon
  • Overview of other methods, for example
  • Object-oriented modeling and designing, Rumbaugh and others
  • Object-oriented software engineering, Jacobson and others
  • Object-oriented analysis and design, Grady Booch

Object-oriented analysis

  • Objectives and approach
  • Static, dynamic and functional model of the system
  • Class, state, sequence and package diagrams
  • Meaningful use of use cases for requirements analysis
  • Classes, responsibilities and cooperation, technical concepts with CRC cards
  • Grammar analysis
  • Explorative prototyping
  • Process model: application case driven, iterative incremental and architecture-oriented


Object-oriented design

Object-oriented design

  • Differences and boundary to the object-oriented analysis
  • Results of the design phase
  • Elementary system modules
  • Isolation of system components and defining interfaces
  • Construction of the software architecture
  • Use of class libraries
  • Modeling of helper classes
  • Problem domain component
  • Communication component
  • Data management component
  • Task management component


Object-oriented programming

Object-oriented programming

  • Object-oriented programming overview
  • Overview of the most important OO programming languages C++ and JAVA
  • OO tools and developer tools
  • Component models COM, ActiveX, and JavaBeans
  • Distributed programming RPC/DCE, CORBA, RMI, DCOM
  • Classes for COM objects
  • Maintainability and reusability
  • Use of class libraries
  • Class libraries for C++ and JAVA


Workshop object orientation and Rational Rose

What is Rational Rose?

  • Purpose of visual modeling
  • Aspects of UML in Rational Rose

Application case-oriented view

  • Developing use cases
  • Creation of use case diagrams with Rational Rose
  • Definition of relationships between use cases
  • Exercise for application modeling
  • Activity diagrams
  • Scenarios
  • Objects
  • Cooperation charts

Modeling the static view

  • Classes and class relations
  • Class structures

Modeling the dynamic view

  • Sequence diagrams

Modules

  • Insert a module in Rational Rose
  • Re-routing of classes in modules
  • Adding modules in class diagrams


Two-day introduction object-oriented design by Grady Booch

Concepts

  • Complexity of software and structure of complex systems
  • Development, elements and application of the object model
  • Objects and relations between them
  • Classes and relations between them
  • Collaboration of objects and classes
  • Classification und abstraction
  • Detection of classes und objects

Methods

  • Notation for class diagrams and state transitions
  • Objects, modules, processes
  • Application as design process

Examples in selection

  • Home Heating System
  • Database for the solution
  • Traffic management system