51a1dea4098435f4616405d07cfa0d1a.ppt
- Количество слайдов: 45
Delivering peace of mind Architecting for Changes with UML Emmanuel FUCHS C 2 Architect
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
What, Why, How n Facts: n n n There Is No Way to Make a Simplified Software System Specification. Design Is Complex Because of Human to Human Communication. What: n n Why: n n Apply Object Technologies for System Design : UML Object Domain Model. The Costs Spring From the Design Not From the Construction How: n n Dual Process Management and Technical Process. n May 23 2006 Dual Ladder Of Advancement for Experts Recognizing. Spiral Use Case Driven Prototyping and Refactoring Process. THALESRAYTHEONSYSTEMS PROPRIETARY
Business/Domain modeling n 1986: Ada OOD Grady Booch. n 1990: OSI level 7 Application Service Element (ASE). n 1992: NAOS: DCE IDL, Boehm Spiral. n 1994: CORBA IDL. n 1996: European Commission, Eurocontrol, ATC domain model. n 1997: OMG transportation domain task force. n 2001: OMG Radar Interface Standard definition. n 2003: OMG Architecture Driven Modernization (ADM). n 2004: Air Operations training and simulation. May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Fred Brooks n IBM OS/360 project manager: 1965 n The Mythical Man-Month : 1975. n No Silver Bullet: Essence and Accidental in Software Engineering: 1986. n MMM Second Edition: 1995. No Silver Bullet Refired May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Werewolves in V cycle Documentation And mock-up Phase May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Werewolves in V cycle Documentation And mock-up Phase werewolves May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY Silver Bullet
Well Known Silver Bullets n Ada n OSI telecom n CORBA n Relation Data Base n …. n They all failed because of the lack of domain model (essence). n No Silver Bullet Refired: OOD Brass Bullet May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Essential VS Accidental Real gains are in the design not in the construction: n Essential Task: n n Accidental Task: n n The fashioning of complex conceptual structures that compose the abstract software entity. The representation of the abstract software entities in programming language. The costs spring from the design (The Essential) n n May 23 2006 Essential = Design. Accidental = Development. THALESRAYTHEONSYSTEMS PROPRIETARY
Essential And Accidental in V cycle Design Essential Accidental May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Essential And Accidental Gain Ratio The costs spring from the design Potential Gain 90% Essential: Design Accidental: Development May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY Potential Gain 10%
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
E=MC² Creation of stars and planets, Michelangelo, Sistine Chapel Simple Unifying Principles. May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Human Creation ? Software is a human creation No Simple Unifying Principles. Software May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Brook Suggestions and remarks n Buy Versus Build: n n n COTS, Open Source. Components Based Development. Requirement refinement and rapid Prototyping: n n Early Operational Handbook. n Based on COTS. n n Use Case driven. Refactoring. Incremental development-grow no build: n n n Spiral iterative and incremental development. Functional Value Analysis Great Designers: n n May 23 2006 Dual Ladder of advancement Architects of the future. THALESRAYTHEONSYSTEMS PROPRIETARY
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Mythical Man Month (MMM= 3 M) Man t T t May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Mythical Man Month (MMM= 3 M) Man t T Man T/3 t May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Mythical Man Month (MMM= 3 M) The Bearing of a child takes nine months, no matter how many women are assigned. = May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Mythical Man Month (MMM= 3 M) Man t 9 months Man = t 3 months May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Division Case Brass Bullet Division (A/B) = Division (B = 0) May 23 2006 Division (B <> 0) THALESRAYTHEONSYSTEMS PROPRIETARY
Factory Division (A/B) Create() = Division (B = 0) May 23 2006 Division (B <> 0) THALESRAYTHEONSYSTEMS PROPRIETARY
The design pattern seminal book Ralph, Erich, Richard, and John at OOPSLA 1994 The Gang of Four May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Great Designers: Dual Ladder Managerial Ladder Technical Ladder Senior member of the technical staff May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Thales People First Dual Ladder Senior member of the technical staff May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Modeling method n Grady Booch: Object Oriented Analysis and design with application. n “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. ” n UML is “only” the notation. n We need a process: a modeling process. May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Grady Booch: OOAD May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Dual Track Process Management Process Technical Process CMMI For example : RUP (Rational Unified Process) DOD 498 Sys-EM May 23 2006 Business/Domain Model (UML) SSS ICD SSDD IRS SRS THALESRAYTHEONSYSTEMS PROPRIETARY
May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Barry W. Boehm spiral Pair Review May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental time May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental Iterative Incremental May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental Not This ! May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Use Case Prototyping Cycle Prototyping Halfway break Start Here Review Refactoring May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Typical learning Increment Break Review Quick And Dirty Prototyping And Modelling Code and Model Refactoring Review May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Martin Fowler May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Typical Prototyping Increment Objective: Use Case Basic Functions Secondary Functions Break Objective: Use Case Basic Functions Secondary Functions Review Rapid Prototyping And Modelling Model Refactoring Review May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental Building Learning Modelling/Prototyping May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental Learning And prototyping Common V Cycle time Specifications Redaction May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY
Iterative and Incremental High Quality steady Level Pair Review May 23 2006 CMMI THALESRAYTHEONSYSTEMS PROPRIETARY
Conclusion n Domain modeling n Discover domain essential objects. n Dual management ladder for expert recognizing n Dual process management and technical process n Spiral global process n Domain process modeling n SOA: Require Business/Domain model. n n n May 23 2006 Web Service. Work Flow, orchestration. WEB 2. 0 Browser DOM example: IDL THALESRAYTHEONSYSTEMS PROPRIETARY
Conclusion Thank You For Your Attention Questions are welcome Contacts : emmanuel. fuchs@thalesraytheon-fr. com May 23 2006 THALESRAYTHEONSYSTEMS PROPRIETARY