design for changes

45
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C2 Architect

Upload: emmanuel-fuchs

Post on 16-Apr-2017

2.020 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Design For Changes

Delivering peace of mind

Architecting for Changes with UML

Emmanuel FUCHS

C2 Architect

Page 2: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 3: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

What, Why, How

Facts: There Is No Way to Make a Simplified Software System Specification. Design Is Complex Because of Human to Human Communication.

What: Apply Object Technologies for System Design : UML Object Domain Model.

Why: The Costs Spring From the Design Not From the Construction

How: Dual Ladder Of Advancement for Experts Recognizing. Dual Process Management and Technical Process. Spiral Use Case Driven Prototyping and Refactoring Process.

Page 4: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Business/Domain modeling

1986: Ada OOD Grady Booch.

1990: OSI level 7 Application Service Element (ASE).

1992: NAOS: DCE IDL, Boehm Spiral.

1994: CORBA IDL.

1996: European Commission, Eurocontrol, ATC domain model.

1997: OMG transportation domain task force.

2001: OMG Radar Interface Standard definition.

2003: OMG Architecture Driven Modernization (ADM).

2004: Air Operations training and simulation.

Page 5: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 6: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Fred Brooks

IBM OS/360 project manager: 1965

The Mythical Man-Month : 1975.

No Silver Bullet: Essence and Accidental in Software Engineering: 1986.

MMM Second Edition: 1995. No Silver Bullet Refired

Page 7: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Werewolves in V cycle

DocumentationAnd mock-up

Phase

Page 8: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Werewolves in V cycle

DocumentationAnd mock-up

Phase

werewolvesSilverBullet

Page 9: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Well Known Silver Bullets

Ada

OSI telecom

CORBA

Relation Data Base

….

They all failed because of the lack of domain model (essence).

No Silver Bullet Refired: OOD Brass Bullet

Page 10: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Essential VS Accidental

Real gains are in the design not in the construction: Essential Task:

The fashioning of complex conceptual structures that compose the abstract software entity.

Accidental Task: The representation of the abstract software entities in programming language.

The costs spring from the design (The Essential) Essential = Design. Accidental = Development.

Page 11: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Essential And Accidental in V cycle

Essential

Accidental

Design

Page 12: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Essential And Accidental Gain Ratio

The costs spring from the design

PotentialGain 90%

PotentialGain 10%

Essential: Design

Accidental: Development

Page 13: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 14: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

E=MC²

Creation of stars and planets, Michelangelo, Sistine Chapel

Simple Unifying Principles.

Page 15: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Human Creation

?

No Simple Unifying Principles.

Software is a human creation

Software

Page 16: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Brook Suggestions and remarks

Buy Versus Build: COTS, Open Source. Components Based Development.

Requirement refinement and rapid Prototyping: Use Case driven. Early Operational Handbook. Based on COTS. Refactoring.

Incremental development-grow no build: Spiral iterative and incremental development. Functional Value Analysis

Great Designers: Dual Ladder of advancement Architects of the future.

Page 17: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 18: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Mythical Man Month (MMM= 3M)

t

t

Man

T

Page 19: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Mythical Man Month (MMM= 3M)

t

t

Man

Man T

T/3

Page 20: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Mythical Man Month (MMM= 3M)

The Bearing of a child takes nine months, no matter how many women are assigned.

=

Page 21: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Mythical Man Month (MMM= 3M)

t

t

Man

Man

9 months

3 months

=

Page 22: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Division Case

Division (A/B)

Division(B = 0)

Division(B <> 0)

=

Brass Bullet

Page 23: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Factory

Division (A/B)

Division(B = 0)

Division(B <> 0)

Create()Factory

=

Page 24: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

The design pattern seminal book

Ralph, Erich, Richard, and John at OOPSLA 1994

The Gang of Four

Page 25: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 26: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Great Designers: Dual Ladder

Managerial Ladder

Technical Ladder

Senior member of the technical staff

Page 27: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Thales People First Dual Ladder

Senior member of the technical staff

Page 28: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 29: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Modeling method

Grady Booch: Object Oriented Analysis and design with application.

“A modeling method is a disciplined process for generating a set of models that describe various aspects of a software system under development using some well-defined notation.”

UML is “only” the notation.

We need a process: a modeling process.

Page 30: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Grady Booch: OOAD

Page 31: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

ManagementProcess

TechnicalProcess

Dual Track Process

CMMI

DOD498

For example :RUP(Rational Unified Process)

SSSICD

SSDDIRSSRS

Business/DomainModel(UML)

Sys-EM

Page 32: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Content

What to Model ? Object Domain Model.

There Is No Silver Bullet: Software Is Complex by Essence.

Why is software complex ?

There Is No Silver Bullet Refired: Object Technologies a Brass Bullet.

Promote Great Designers: Dual Ladder Of Advancement

Technical Process And Management Process for High Quality Software.

Design For Changes: Iterative and Incremental Development Process (Spiral).

Page 33: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Barry W. Boehm spiral

PairReview

Page 34: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

time

Page 35: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

Incremental

Iterative

Page 36: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

Not This !

Page 37: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Use Case Prototyping Cycle

Prototyping

Refactoring

Review Review

Start Here Halfwaybreak

Page 38: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Typical learning Increment

Quick And DirtyPrototyping

And ModellingCode and Model

Refactoring

Review

Review

Break

Page 39: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Martin Fowler

Page 40: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Typical Prototyping Increment

RapidPrototyping

And ModellingModel

Refactoring

Objective: Use CaseBasic Functions

Secondary Functions

Review

Review

Objective: Use CaseBasic Functions

Secondary Functions

Break

Page 41: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

Learning

Modelling/Prototyping

Building

Page 42: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

time

SpecificationsRedaction

Common V CycleLearning

And prototyping

Page 43: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Iterative and Incremental

CMMIPair

Review

High Quality steady Level

Page 44: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Conclusion

Domain modeling Discover domain essential objects. Dual management ladder for expert recognizing Dual process management and technical process Spiral global process

Domain process modeling

SOA: Require Business/Domain model. Web Service. Work Flow, orchestration.

WEB 2.0 Browser DOM example: IDL

Page 45: Design For Changes

THALESRAYTHEONSYSTEMS PROPRIETARYMay 23 2006

Conclusion

Thank You For Your Attention

Questions are welcome

Contacts :

[email protected]