[.] DejaVU Online: -- The OO Lectures
[.] [up] introduction projects cases technology conclusions assignments material

Technology and Trends


UML
Risks
Java
Frameworks
Contracts
CORBA
Patterns
DOT

slide: The Trends and Technology Matrix

UML


The Unified Modeling Language


For some background see: Ch. 11: Methods and Tools


slide: UML

UML - Quick Reference and Overview

See the Rational Rose Quick Reference at http://www.rational.com/uml

Contracts


Design by Contract

see
Ch. 3, Contracts
slide: Design by Contract

Frameworks


Frameworks = Components + Patterns

Ralph Johnson, CACM Nov. 1997

Self-documentation Principle

Bertrand Meyer, OO Software Construction 2nd ed.

the designer of a module should strive to make all information about the module part of the module itself ...


slide: Frameworks = Components + Patterns


The benefits of frameworks stem from the inversion of control

A Framework defines an Architecture?


slide: The benefits ...


Software Architecture = a set of rules, guidelines, interfaces, and conventions used to define how components and applications communicate and interoperate with eachother ...

see patterns


slide: Software Architecture

Patterns


A Catalogue of Design patterns

see the GOF Design Patterns and the Patterns Homepage


slide: A Catalogue of Design patterns


The Pattern Schema

structure

Name - handle

Problem - when to apply

Solution - general arrangement

Consequences - tradeoffs


slide: The Pattern Schema


Causes for Redesign

design for change

  1. creating an object by specifying a class explicitly -- Abstract Factory, Factory Method, Prototype
  2. dependence on specific operations Chain of Responsibilty, Command
  3. dependence on hardware & software platforms -- Abstract Factory, bridge
  4. dependence on object implementation or representation Abstract Factory, Bridge, Memento, Proxy
  5. algorithm dependence -- Builder, Iterator, Strategy, Template Method, Visitor
  6. extending functionality by subclassing -- Bridge, Chain, Composite, Decorator, Observer
  7. tight coupling -- Abstract Factpry, Bridge, Chain of Responsibilities, Command, Facade, Mediator, Observer
  8. inability to alter classes conveniently -- Adaptor, Decorator, Visitor

slide: Causes for Redesign


Kinds of Patterns

see also

see UML


slide: Kinds of Patterns

Java


If
Java
is the Answer,
What is
the Question?

see Ted Lewis, IEEE Computer, March 1997, p. 136


slide: What is the Question?


The dream: UNCOL

UNCOL = Universal Common Language

if todays languages are inadequate for Software then Java must be inadequate too ...


slide: The dream: UNCOL


Hostages of legacy code


slide: Hostages of legacy code


Is Java doomed to repeat history?


slide: Is Java doomed to repeat history?


Java = watered-down C++, retrofitting Pascal

Problems


slide: Java = ...


Java: a better mousetrap?


slide: Java: a better mousetrap?

CORBA


CORBA

See Ch 6: Component Technology and

see frameworks


slide: CORBA

Risk Avoidance Patterns


Dimensions of Risks

Don't discuss risks, unless you know how to do Project Management


slide: Dimensions of Risks


Risk Reduction Strategies


slide: Risk Reduction Strategies



slide: Knowledge


teaming


slide: Teaming


productivity


slide: Productivity


ownership


slide: Ownership


distraction


slide: Distraction


training


slide: Training


[.] [up] introduction projects cases technology conclusions assignments material
Hush Online Technology
hush@cs.vu.nl
11/25/99