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

Slides:



Advertisements
Similar presentations
Unified process(UP) UP is an OO system development methodology offered by Rational(Rational Rose) s/w, now a part of IBM Developed by Booach,Rambaugh,Jacobson--
Advertisements

CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 2- Software Process Models and Project.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
CS487 Software Engineering Omar Aldawud
Chapter 3 Process Models
CHAPTER TWO Object Oriented System Analysis and Design 1.
Sharif University of Technology Session # 3.  Contents  Systems Analysis and Design Sharif University of Technology MIS (Management Information System),
Chapter 1 Object Oriented Analysis and Design. UML, Patterns, and Object-Oriented Analysis and Design  The essential skills for the creation of well-designed,
The Mythical Man-Month by Fred Brooks (I) Published 1975, Republished 1995 Experience managing the development of OS/360 in Central Argument –Large.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
No Silver Bullet Essence and Accidents of Software Engineering By Frederick P. Brooks Frederick P. Brooks Presentation by Yan Qi
Software Engineering.
CS 501: Software Engineering
03/12/2001 © Bennett, McRobb and Farmer Avoiding the Problems Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Andrew SuttonKent State University1 Software Modeling Andrew Sutton Department of Computer Science Kent State University.
Chapter 1 The Systems Development Environment
Essence and Accident in Software Engineering By: Mike Hastings.
Software Development Process
OOSD Using Java Lecture 1 Introduction. 8/19/04introduction2 Introduction  IST 350 – Tools & CSC 485 – OOD?  Software Development vs. Programming 
Chapter 2: Approaches to System Development
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
INTROSE Introduction to Software Engineering Raymund Sison, PhD College of Computer Studies De La Salle University Software: Definitions,
Conquering Complex and Changing Systems Object-Oriented Software Engineering Chapter 1, Introduction to Software Engineering.
FH Augsburg - FB Informatik 1 CADUI' June FUNDP Namur Software Life Cycle Automation for Interactive Applications: The AME Design Environment.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
Chapter 1 The Systems Development Environment
The Rational Unified Process
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
No Silver Bullet. CS460 - Senior Design Project I (AY2004)2 No silver bullet "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 27. Review UML dynamic view – State Diagrams.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Prescriptive Process Models Jon Walker. Prescription? What does prescriptive mean?
Content The system development life cycle
Session 9 Component and Deployment. OOAD with UML / Session 9 / 2 of 17 Review State Diagrams represent the software entities in terms of their states.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 UML Distilled 3e by Martin Fowler Chapter 1 Introduction to UML.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
Rational Unified Process Mr Hisham AlKhawar. Iterative versus Waterfall  We need to use a life cycle model in order to approach developing a system easily,
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
1 Introduction to UML. 2 What is UML? UML is an acronym for Unified Modeling Language. Unified –Combines the best from existing object- oriented software.
 What is Modeling What is Modeling  Why do we Model Why do we Model  Models in OMT Models in OMT  Principles of Modeling Principles of Modeling 
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
“No Silver Bullet”. No Silver Bullet  "No Silver Bullet" –– a paper by Fred Brooks, Professor of Computer Science at University of North Carolina in.
The Rational Unified Process 1 EECS810: Software Engineering.
1 Software Engineering: A Practitioner’s Approach, 7/e Chapter 2 Process: A Generic View Software Engineering: A Practitioner’s Approach, 7/e Chapter 2.
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN Objectives Describe the book goals and scope Define OOA/D (Object-Oriented Analysis and Design) Illustrate.
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
The System and Software Development Process Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Chapter 2 – Software Processes Lecture 1 1Chapter 2 Software Processes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
By David Sanders Title Explanation  Werewolves are quite terrifying, simply because they transform unexpectedly into horrors. To kill werewolves,
Unified OO becomes commonly used in the late 1980s Various analysis and design methods The “three amigos” join forces in Rational Software Also include.
Interface Types and Models Dr. Dania Bilal IS 588 Spring 2008.
Copyright (C), No Magic, Inc Welcome to No Magic!
Unified Process Software Development Darren Roback/Ravali Kallem CMIS Fall 2009.
RUP RATIONAL UNIFIED PROCESS Behnam Akbari 06 Oct
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
RATIONAL UNIFIED PROCESS PROCESS FRAMEWORK OVERVIEW.
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Informatics 43 – March 31, 2016.
Introduction to Software Engineering
Introduction to UML.
Software engineering -1
Presentation transcript:

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

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May 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.

THALESRAYTHEONSYSTEMS PROPRIETARY May 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.

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May Fred Brooks IBM OS/360 project manager: 1965 The Mythical Man-Month : No Silver Bullet: Essence and Accidental in Software Engineering: MMM Second Edition: No Silver Bullet Refired

THALESRAYTHEONSYSTEMS PROPRIETARY May Werewolves in V cycle Documentation And mock-up Phase

THALESRAYTHEONSYSTEMS PROPRIETARY May Werewolves in V cycle Documentation And mock-up Phase werewolves Silver Bullet

THALESRAYTHEONSYSTEMS PROPRIETARY May 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

THALESRAYTHEONSYSTEMS PROPRIETARY May 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.

THALESRAYTHEONSYSTEMS PROPRIETARY May Essential And Accidental in V cycle Essential Accidental Design

THALESRAYTHEONSYSTEMS PROPRIETARY May Essential And Accidental Gain Ratio The costs spring from the design Potential Gain 90% Potential Gain 10% Essential: Design Accidental: Development

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May E=MC² Creation of stars and planets, Michelangelo, Sistine Chapel Simple Unifying Principles.

THALESRAYTHEONSYSTEMS PROPRIETARY May Human Creation ? No Simple Unifying Principles. Software is a human creation Software

THALESRAYTHEONSYSTEMS PROPRIETARY May 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.

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May Mythical Man Month (MMM= 3M) t t Man T

THALESRAYTHEONSYSTEMS PROPRIETARY May Mythical Man Month (MMM= 3M) t t Man T T/3

THALESRAYTHEONSYSTEMS PROPRIETARY May Mythical Man Month (MMM= 3M) The Bearing of a child takes nine months, no matter how many women are assigned. =

THALESRAYTHEONSYSTEMS PROPRIETARY May Mythical Man Month (MMM= 3M) t t Man 9 months 3 months =

THALESRAYTHEONSYSTEMS PROPRIETARY May Division Case Division (A/B) Division (B = 0) Division (B <> 0) = Brass Bullet

THALESRAYTHEONSYSTEMS PROPRIETARY May Factory Division (A/B) Division (B = 0) Division (B <> 0) Create() Factory =

THALESRAYTHEONSYSTEMS PROPRIETARY May The design pattern seminal book Ralph, Erich, Richard, and John at OOPSLA 1994 The Gang of Four

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May Great Designers: Dual Ladder Managerial Ladder Technical Ladder Senior member of the technical staff

THALESRAYTHEONSYSTEMS PROPRIETARY May Thales People First Dual Ladder Senior member of the technical staff

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May 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.

THALESRAYTHEONSYSTEMS PROPRIETARY May Grady Booch: OOAD

THALESRAYTHEONSYSTEMS PROPRIETARY May Management Process Technical Process Dual Track Process CMMI DOD498 For example :RUP (Rational Unified Process) SSS ICD SSDD IRS SRS Business/Domain Model (UML) Sys-EM

THALESRAYTHEONSYSTEMS PROPRIETARY May

THALESRAYTHEONSYSTEMS PROPRIETARY May Barry W. Boehm spiral Pair Review

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental time

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental Incremental Iterative

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental Not This !

THALESRAYTHEONSYSTEMS PROPRIETARY May Use Case Prototyping Cycle Prototyping Refactoring Review Start Here Halfway break

THALESRAYTHEONSYSTEMS PROPRIETARY May Typical learning Increment Quick And Dirty Prototyping And Modelling Code and Model Refactoring Review Break

THALESRAYTHEONSYSTEMS PROPRIETARY May Martin Fowler

THALESRAYTHEONSYSTEMS PROPRIETARY May Typical Prototyping Increment Rapid Prototyping And Modelling Model Refactoring Objective: Use Case Basic Functions Secondary Functions Review Objective: Use Case Basic Functions Secondary Functions Break

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental Learning Modelling/Prototyping Building

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental time Specifications Redaction Common V Cycle Learning And prototyping

THALESRAYTHEONSYSTEMS PROPRIETARY May Iterative and Incremental CMMI Pair Review High Quality steady Level

THALESRAYTHEONSYSTEMS PROPRIETARY May 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

THALESRAYTHEONSYSTEMS PROPRIETARY May Conclusion Thank You For Your Attention Questions are welcome Contacts :