Design For Changes


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Design For Changes

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