ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA

Slides:



Advertisements
Similar presentations
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
Advertisements

Unified Modeling Language
David Harrison Senior Consultant, Popkin Software 22 April 2004
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
Unified Modeling Language, Version 2.0
1 SYS366 Lecture Visual Modeling and Business Use Case Diagrams.
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
1 COMP 350: Object Oriented Analysis and Design Lecture 1Introduction References: Craig Larman Chapter 1.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
UML as a Specification Language for Embedded Systems. By, Mir Ahmed Ali, Asst. Professor, ECM department, SNIST. By, Prof. Narsiah sir, Director of School.
Michael Schloh von Bennewitz 1. Oktober 2002 The Unified Modeling Language Overview of theory and practice of the OMG Unified Modeling.
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
1 Unified Modeling Language, Version 2.0 Chapter 2.
UML - Development Process 1 Software Development Process Using UML.
Copyright (C), No Magic, Inc Welcome to No Magic!
1 SYS366 Week 2 - Lecture 2 Visual Modeling & UML.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
UML. Model An abstract representation of a system. Types of model 1.Use case model 2.Domain model 3.Analysis object model 4.Implementation model 5.Test.
SWE 214 (071) Introduction to UML Slide 1 Introduction to UML.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
Slide 1 Unified Modeling Language, Version 2.0 Object-Oriented SAD.
Use Cases UML. Use Cases What are Use Cases?  A statement of the functionality users expect and need, organized by functional units  Different from.
Introduction to UML.
UML Diagrams By Daniel Damaris Novarianto S..
Chapter 1: Introduction to Systems Analysis and Design
Evolution of UML.
Object-Oriented Analysis and Design
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
Object-Oriented Techniques
Systems Analysis and Design With UML 2
Unified Modeling Language
System Development Process
Introduction to Unified Modeling Language (UML)
Introduction to Unified Modeling Language (UML)
Systems Analysis and Design With UML 2
University of Central Florida COP 3330 Object Oriented Programming
UML Diagrams Jung Woo.
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
Software Architecture & Design Pattern
Introduction to Object Oriented Analysis, Design and Unified Modeling Language (UML) Shanika Karunasekera.
A tool for presentation of Architecture
A tool for presentation of Architecture
Unified Modeling Language
Chapter 1, Introduction to Software Engineering
Introduction to UML.
Chapter 20 Object-Oriented Analysis and Design
Object oriented analysis and design
Appendix A Object-Oriented Analysis and Design
UML profiles.
Analysis models and design models
Software Design Lecture : 15.
Software Design Lecture : 14.
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Chapter 1: Introduction to Systems Analysis and Design
Design Yaodong Bi.
Uml diagrams In ooad.
Chapter 1: Introduction to Systems Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA Frank Beusenberg Sr. Technical Consultant

Theory vs Practice Be pragmatic! The difference between theory and practice is that, in theory, there is no difference between theory and practice! Just pointing out that UML can be a source of very ‘academic’ discussions much like you can have with ‘relational algebra’. Try to be pragmatic about UML and its usage. ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Shu - Learn Ha - Understand & Apply Ri - Create Shu – Ha - Ri Learning Curve… Shu - Learn Ha - Understand & Apply Ri - Create Just pointing out that you have to learn the UML rules first (so know what they are), after which you could understand UML and start using it and at the end you could even create your own standards. This is taken from Japanese Martial Arts and serves as a model for learning in general. ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Agenda Introduction UML 2.0 Diagrams MDA Introduction Guidelines Q&A ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Introduction UML = Unified Modeling Language First UML spec in 1997 What is UML? Some facts… UML = Unified Modeling Language First UML spec in 1997 Current version = 2.0 Object Management Group (OMG) Graphical language Object Oriented in nature Has Syntax Extensible NOT a methodology! ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Introduction What is UML? Evolution… Object Oriented Analysis & Design Grady Booch Object Oriented Modeling & Design Jim Rumbauch OOSE (Use Case driven approach) Ivar Jacobsen UML is not something that has been made up new. It is an evolutionary mix of three main modeling and design ‘languages’. ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Introduction Why model? Manage Complexity Mitigate Risk Facilitate Communication Modeling provides ability to visualize entire systems, assess options and designs Software has grown from do-it-yourself into highly complex systems Software is integral part of business process, so has to be well planned Software has become capital equipment that cannot just be removed/changed ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Introduction The Software Development Life Cycle Planning Analysis Design Build Test Deploy COMPRESS Planning Test Deploy Analysis Design Build ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Introduction Why UML? Specify, visualize, and document models of software systems Current and New Systems Structure and Design Behavior and Interaction De Facto Standard (Tool Support!) Unambiguous and Consistent Notation Documentation ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Agenda Introduction UML 2.0 Diagrams MDA Introduction Guidelines Q&A ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

UML 2.0 Diagrams Commonly used… Diagram Behavior Use Case Activity Interaction Sequence Communication Structure Class Component Deployment Commonly used… ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Behavior – Use Case Diagram Describe Functional Requirements ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Behavior – Activity Diagram Describe (Business) Process & Workflow ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Behavior – Sequence Diagram Describe Chronological Message Flow between Objects ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Behavior – Communication Diagram Describe Chronological Message Flow between Objects ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Structure – Class Diagram Describe Logical Structure of the System ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Structure – Component Diagram Describe Physical Structure of the System ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Structure – Deployment Diagram Describe How and Where the System will be deployed ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Agenda Introduction UML 2.0 Diagrams MDA Introduction Guidelines Q&A ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

UML Modeling Logical View Implementation View Use Case View Dynamic View Deployment View ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Model-Driven Architecture (MDA) Computation-Independent Model CIM >> PIM Platform-Independent Model PIM >> PSM Platform-Specific Model PSM >> Code Code Code Code ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Model-Driven Architecture (MDA) Objective and Purpose Decouple the way that application systems are defined from the technology they run on. This is in order to ensure that the investments made in building systems can be preserved even when the underlying technology platforms change. ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Agenda Introduction UML 2.0 Diagrams MDA Introduction Guidelines Q&A ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guidelines Create Use Case Diagram(s) Create Activity Diagram(s) Natural Order… Create Use Case Diagram(s) Create Activity Diagram(s) Create Class Diagram(s) Create Sequence Diagram(s) Create Component Diagram(s) Create Deployement Diagram(s) ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline - Use Case View Describe System Functionality Gathering requirements Functional & non-functional requirements Document functional requirements UML Use Case Diagram Use Case Description Documents Identify actor(s) and association to use case Create different levels of use cases (re-use!) ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Use different abstraction levels when appropriate Use Case Example - AutoEdge Use different abstraction levels when appropriate ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Manage Dealer Use Case ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline - Use Case View Describe Use Case Scenarios Scenario = Use Case Activity Flow Basic Scenario Alternate Scenario(s) UML Activity Diagram Describe *what* happens, not *how*! ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Manage Dealer Activity ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline - Use Case View Describe Test Scenarios Identify paths in activity diagram Create minimal test-scenarios (using each path once) NOTE: Test should test use case, not fooling around in the system! ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Logical View Describe and design the System Structure Identify entities/things used in use case Identify attributes Identify operations Identify entity relations Identify multiplicity Create class diagram ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Logical Data Model – Process Testdrive Requests Class Example - AutoEdge Logical Data Model – Process Testdrive Requests ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Dealership Business Entity Class ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Logical View Identify and use Patterns “A pattern is a proven solution for a problem in a context.” ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example – AutoEdge Client-Side Business Entity Pattern ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Dynamic View Describe Behavior Identify objects involved Identify interactions (messages) Only show public operations Describe how things work (together) Identify missing classes and/or operations Ty back into class diagram ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Entity Creation within AutoEdge Architecture Sequence Example - AutoEdge Entity Creation within AutoEdge Architecture ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Implementation View Describe Physical Software Artifacts Identify Physical Software Artifacts Source & Compiled files Identify Packages & Libraries ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Example - AutoEdge Dealer Business Entity Component ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Deployment View Describe Software on Physical Hardware Identify Location of Software Artifacts Identify how Hardware is related Identify (minimum) hardware requirements ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Guideline – Deployment View Describe Software on Physical Hardware ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

In Summary… Model & Design Use UML Manage complexity Minimize risk Facilitate communication Use UML De facto standard Unambiguous Documentation ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Literature UML Distilled Third Edition Addison-Wesley Object Technology Series UML Distilled Third Edition Martin Fowler – ISBN 0-321-19368-7 Use Case Driven Object Modeling with UML Doug Rosenberg – ISBN 0-201-43289-7 Developing Software with UML Bernd Oestereich – ISBN 0-201-75603-X ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Materials Complete AutoEdge Kit Modeling & Model Driven Architecture Materials available on PSDN Complete AutoEdge Kit www.psdn.com/library/kbcategory.jspa?categoryID=298 Modeling & Model Driven Architecture www.psdn.com/library/kbcategory.jspa?categoryID=247 ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Resources Check with local subsidiary for UML training Training & Information Check with local subsidiary for UML training UML Resource Page www.uml.org MDA Resource Page www.omg.org/mda ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Questions? ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA

Thank you for your time

ARCH-5 - Modeling – From Design to Implementation in OpenEdge using UML and MDA