450 likes | 470 Views
Learn how to apply object technologies, specifically UML, for system design and improve the cost-effectiveness of software development. Explore the essential versus accidental tasks in the design process and discover the benefits of domain modeling.
E N D
Architecting for Changes with UML Emmanuel FUCHS C2 Architect
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.
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.
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
Werewolves in V cycle Documentation And mock-up Phase
Werewolves in V cycle Documentation And mock-up Phase Silver Bullet werewolves
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
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.
Essential And Accidental in V cycle Design Essential Accidental
Essential And Accidental Gain Ratio The costs spring from the design Potential Gain 90% Essential: Design Potential Gain 10% Accidental: Development
E=MC² Creation of stars and planets, Michelangelo, Sistine Chapel Simple Unifying Principles.
Human Creation ? Software is a human creation No Simple Unifying Principles. Software
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.
Mythical Man Month (MMM= 3M) Man t T t
Mythical Man Month (MMM= 3M) Man t T Man T/3 t
Mythical Man Month (MMM= 3M) The Bearing of a child takes nine months, no matter how many women are assigned. =
Mythical Man Month (MMM= 3M) Man t 9 months Man = t 3 months
Division Case Brass Bullet =
Factory Create() =
The design pattern seminal book Ralph, Erich, Richard, and John at OOPSLA 1994 The Gang of Four
Great Designers: Dual Ladder Managerial Ladder Technical Ladder Senior member of the technical staff
Thales People First Dual Ladder Senior member of the technical staff
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.
Dual Track Process Management Process Technical Process CMMI DOD498 For example :RUP (Rational Unified Process) Business/Domain Model (UML) SSS ICD SSDD IRS SRS Sys-EM
Barry W. Boehm spiral Pair Review
Iterative and Incremental Iterative Incremental
Iterative and Incremental Not This !
Use Case Prototyping Cycle Prototyping Halfway break Start Here Review Review Refactoring
Typical learning Increment Break Review Quick And Dirty Prototyping And Modelling Code and Model Refactoring Review
Typical Prototyping Increment Objective: Use Case Basic Functions Secondary Functions Objective: Use Case Basic Functions Secondary Functions Break Review Rapid Prototyping And Modelling Model Refactoring Review
Iterative and Incremental Building Learning Modelling/Prototyping
Iterative and Incremental Learning And prototyping Common V Cycle time Specifications Redaction
Iterative and Incremental High Quality steady Level Pair Review CMMI
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
Conclusion Thank You For Your Attention Questions are welcome Contacts : emmanuel.fuchs@thalesraytheon-fr.com