How to increase your business reactivity using the « Goal-Driven Development » Process according to MDA and BMM (*) ? A step by step presentation on a.

Slides:



Advertisements
Similar presentations
Object-Oriented Application Frameworks Much of the cost and effort stems from the continuous re- discovery and re-invention of core concepts and components.
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
<<Titre du cours>>
Design by Contract.
© GooBiz.com Agile System Modeling on the basis of Marketing Requirements and the Project Vision How to assure MRD - PSD traceability and deal.
© GooBiz.com Agile System Modeling using UML and SysML How to assure MRD - PSD traceability and deal with changes using a Goal-Driven Modeling.
ARCH-05 Application Prophecy UML 101 Peter Varhol Principal Product Manager.
How to increase Business Agility by aligning SOA with your « Business Architecture » ? To visualize presentation slides, please use the full screen mode.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
1 Tutorials plan CS Tutorials plan. 2 Week by week W1+W2: Modularity Code generation via Rose Writing use cases Drawing use-cases Relationships.
University of Southern California Enterprise Wide Information Systems Functionality and the Reference Model Instructor: Richard W. Vawter.
IMS1805 Systems Analysis Topic 3: Doing Analysis (continued from previous weeks)
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
The Use of Zachman Framework Primitives for Enterprise Modeling
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Chapter 7: The Object-Oriented Approach to Requirements
Introduction To System Analysis and design
Systems Analysis and Design in a Changing World, Fifth Edition
UML - Development Process 1 Software Development Process Using UML (2)
Systems Analysis and Design in a Changing World, Fifth Edition
Copyright by Dr. Clarence Lau, IVE(TY)
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Formal Analysis of Problem Domain Workflows Uldis Donins Riga Technical University Baltic DB & IS 2012, July 8-11, Vilnius, Lithuania This work.
12 Systems Analysis and Design in a Changing World, Fifth Edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 3rd Edition
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
ARCH-2: UML From Design to Implementation using UML Frank Beusenberg Senior Technical Consultant.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
ANALYSIS - II REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Welcome Experiences in the Use of MDA and UML in Developing NATO Standards 16 July 2008 Chris Raistrick, Kennedy KC.COM.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
PRJ566 Project Planning & Management Software Architecture.
CSC480 Software Engineering Lecture 8-9 September 20, 2002.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
TK2023 Object-Oriented Software Engineering CHAPTER 8 LOGICAL ARCHITECTURE.
Governing Agile on the basis of « Business Values »
Use Case Model Use case description.
Aligning Business Process Architecture and Enterprise Architecture: A Model Driven - Service Oriented Approach Chris Capadouca Business Solutions Architect.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Lecture 5 Introduction to Use Case Analysis and the Analysis Model Introduction to the UML.
Chapter 7 Lecture 1 Design and Implementation. Design and implementation Software design and implementation is the stage in the software engineering process.
TOGAF 9 and ArchiMate 2.0 for aligning SOA with Changing Strategies and Capabilities using Sparx EA A presentation on a short Case Study using Sparx EA.
How to increase Business Agility by Aligning IT with your « Business Architecture » ? To visualize presentation slides, please use the full screen mode.
1 Acquisition Automation – Challenges and Pitfalls Breakout Session # E11 Name: Jim Hargrove and Allen Edgar Date: Tuesday, July 31, 2012 Time: 2:30 pm-3:45.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
CIS 339 Entire Course (UOP) FOR MORE CLASSES VISIT CIS 339iLab 1 System Requirements CIS 339 iLab 2 of 7 CIS 339iLab 3 - Structural.
© 2009 – 2010 GooBiz.com Agile and Smart Modeling with UML and SysML on the basis of your Project Vision Goal-Driven Modeling to assist Agile Methods (*)
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Engineering Quality Software Week02 J.N.Kotuba1 SYST Engineering Quality Software.
Object-Orientated Analysis, Design and Programming
Physical Data Model – step-by-step instructions and template
Unified Modeling Language
Week 10: Object Modeling (1)Use Case Model
The Object Oriented Approach to Design
Software Architecture & Design Pattern
CIS 339 Competitive Success/snaptutorial.com
CIS 339 Education for Service/snaptutorial.com
CIS 339 Teaching Effectively-- snaptutorial.com
ARCH-5: From Design to Implementation in OpenEdge® using UML and MDA
CS310 Software Engineering Dr.Doaa Sami
Design Tips.
Analysis models and design models
Engineering Quality Software
Uml diagrams In ooad.
Please click to visualize next…
Presentation transcript:

How to increase your business reactivity using the « Goal-Driven Development » Process according to MDA and BMM (*) ? A step by step presentation on a case study using Enterprise Architect… Birol Berkem (Goobiz.com) Last References (Journal of Object Technology) – Mars / April (Journal of Object Technology) – July / August (Business Process Management Group) other presentations of the « Goal-Driven Development » on and … (*) BMM : Business Motivation Model - voted by the OMG in September

2 SYSTEM Manage Customer Steps of the « Use Case driven » development Use Cases : Services required from a system by its users : Business Goals are not considered ! Summary Description / UC Title: Fill Order Actors: Operator, Customer Description:UC started when the operator receives a call… Expanded Description / UC Title: Fill Order Actors:.. Description:… Actor Syst. Response. 1. actor asks.. 2. system identifies.. 3. Actor fills.. REQUIREMENTSREQUIREMENTS CODECODE Identify Customer Fill Order... Activity or State / Transition Diagrams for UCs scenarios and objects life cycle Sequence diagram in O.O analysis Logical Architecture of the System (Domain Model) Order LineCust > UCs-Fill Order..;C li > Fill Order Identify Cust() ….() :UC- 01: MHI Fill Order() Identify Cust() ….() :Cde02: UC 01: MHI :DBC de ….() Sequence Diagram in O.O Design Sequence diagram for capturing needs :System Identify Cust() Fill Order() Technical Architecture of the System (Updated by design level choices ) Fill Order; Mng.Cust MHI_Cli MHI_Order... > DB_Order DB_Custo > Operator Customer Customer Service Agent Use Case : Actor / System Interactions and rules that realise the goal of the actor are mixed ! INVISIBLE BUSINESS RULES : DISSIMULATED BEHIND ACTOR / SYSTEM INTERACTIONS OF THE « USE CASES » High Maintenance Efforts in face of changes on the business rules and goals Logical Architecture : Weak longevity because based on the entities instead of the « GOALS » ! Fill Order What is wrong ?

3 Use Case Driven Development with UML (Summary) Efficient for capturing requirements on the basis of usage scenarios (based on the goals of the users) Focus on the actor / system interactions depending on the choices of the users O.O approach based on objects of the real world discovered on the basis of requirements and use cases (UC) Lack of traceability with the business goals !  GAP between business requirements and those of the users ! Lack of visibility of the business rules that support these interactions  important maintenance efforts in face of change of the business goals and their supporting rules ! « 1 to N » relationship between use cases (functional) and objects : Difficult maintenance : Object models difficult to evolve in face of changes on the requirements Impossible to confer longevity to O.O Architectures that are built upon tightly coupled business objects … AdvantagesInconvenience Difficult adaptation of the IT applications in face of changes  high level cost  weak business reactivity !

4 Relationships between Goals,Courses of Actions, Rules, Processes… from the Business Motivation Model (BMM) - voted by the OMG in September

5 ENTITY USE CASE GOAL CASE BUSINESS GOAL 1.GROUP REQUIREMENTS USING GOALS : DISCOVER THE « GOAL-DRIVEN USE CASES » 3/4. FORMALISE RULES & ACTIONS / ASSIGN RESPONSIBILITES TO PARTICIPANTS GOAL CASE USE CASE BUSINESS GOAL GUI GOAL CASE USE CASE ENTITY BUSINESS GOAL REAL. 2. DRAFT THE BACKBONE OF THE « GOAL-DRIVEN SERVICE ORIENTED ARCHITECTURE » Java Code PIM) Behaviours (CIM) GUI ENTITY USE CASE GOAL CASE 5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURAL COMPONENTS Birol Berkem - © GOObiz.com ® Overview : Steps for aligning IT with the changes using the « Goal-Driven Development » process according to BMM 6. INTEGRATE COMPONENTS INTO THE ARCHITECTURE & TEST ENTITY BUSINESS GOAL REAL. RESPONSIBILITY ACTION RULE PROCESS

6 1.1 Group Requirements using Goals BUSINESS GOAL « GOAL CASE » RULES GC-Register Visitor Register Visitor :Visitor :Systeme Visitor (from Business Goal Cases) «Goal Case» Register Visitor G3.2 <<Realize » <<invoke » GOAL CASE : Set of requirements that belong to a goal unit of the system directly achievable by the participation of actors. (To be realised, goal cases require participation of actors via USE CASES)

7 (from Business Goal Cases) «Goal Case» Present Products on the Web G1.1 R1.2.1.a (from Business Goal Cases) «Goal Case» Review Product Presentation Present Products Review Product Presentation Review Questionnaire Turn Visitor into Buyer «invokes» Consult Products Marketing_Mgr (from Actors) Internet_Visitor (from Actors) Sales_Mgr (from Actors) > Register Visitor «invokes» (from Business Goal Cases) «Goal Case» Turn Visitor into Buyer G4 (from Business Goal Cases) Consult «Goal Case» Products G1.2 (from Business Goal Cases) «Goal Case» Register Visitor G3.2 (from Business Goal Cases) «Goal Case» Review Questionnaire R3.2.2.a GOAL CASE USE CASE BUSINESS GOAL BUSINESS GOAL BUSINESS GOAL 1.2…discover « Goal-Driven Use Cases » at the CIM :Visitor :Systeme GC-Register Visitor UC-Register Visitor

8 2 - Generate the PIM level « Architectural Backbone » of the system ENTITIES USE CASE BUSINESS GOAL GOAL CASE RESPONSIBILITY RULE BUSINESS GOAL «BUC_Comp» Visitor_Registration:: Visitor_Entry -complete_fields: boolean -form_incomplete: boolean -visitor_entered: boolean -complete_fields() : void +enter_visitor() : void -fill_form() : void {pre : visitor_entered} -thanks_for_entry() : void > «BGC_Comp» Visitor_Registration:: Visitor_Entry -entry_processed: boolean -entry_requested: boolean -form_registered: boolean -form_validated: boolean +enter_visitor() : void - process_entry() : void {pre: entry_requested} -register_form() : void -validate_form() : void ? ?

9 GC-Consult Products GC-Review Product Presentation GC-Present Products on the Web :Marketing_Mgr [Prod_Review] :Marketing_Mgr [Present_Prod] :Visitor [Consult_Prod] GC-Register Visitor GC-Notify Visitors GC-Fill Questionnaire GC-Enter Visitor :Visitor [Registration] GC-Turn Visitors into Buyers :Sales_Mgr [Turn into buyer] GC-Review Questionnaire :Marketing_Mgr [Review Quest] R3.2.2.a Abandon_rate> 30% Notif linked Form linked R3.1.1 Incite visitors to register while consulting products Registration [requested] ENTITY BUSINESS GOAL REALISATION RESPONSIBILITY ACTION RULE PROCESS 4- Assign responsibilities required from participants… BUSINESS GOAL REALISATION BUSINESS GOAL REALISATION R When registration Is completedOK inform Sales Abandon Abandon R1.2.1.a : Abandon Rate > 50% after 4 mn. Review products 3 -Formalise actions and rules that realise business goals

Describe underlying behaviours of previous actions then transform them as components for the PIM GUI (Presentation) ENTITiES (Persistance) USE CASE (Application Logic) UCGC GOAL CASE (Business Logic) «BUC_Comp» Visitor_Registration:: Visitor_Entry -complete_fields: boolean -form_incomplete: boolean -visitor_entered: boolean -complete_fields() : void +enter_visitor() : void -fill_form() : void {pre : visitor_entered} -thanks_for_entry() : void «BGC_Comp» Visitor_Registration:: Visitor_Entry -entry_processed: boolean -entry_requested: boolean -form_registered: boolean -form_validated: boolean +enter_visitor() : void - process_entry() : void {pre: entry_requested} -register_form() : void -validate_form() : void UC GC GUI

11 …test integration of the corresponding PIM level components to plug into the architecture backbone Entity/ Persistance Layer Business Layer Application Layer Presentation Layer UCGC

12 «BGC_Comp» Visitor_Registration:: Visitor_Entry -entry_processed: boolean -entry_requested: boolean -form_registered: boolean -form_validated: boolean +enter_visitor() : void - process_entry() : void {pre: entry_requested} -register_form() : void -validate_form() : void Data Model for Register Visitor + Catalog Notification + Visitor Entry_Form Product Questionnaire Registration_Info (from Data Model) UI_Comp for Visitor_Entry + UI-Ctrl Fields to Complete Fill Form Thanks for entry (from Visitor_Entry) «BUC_Comp» Visitor_Registration:: Visitor_Entry -complete_fields: boolean -form_incomplete: boolean -visitor_entered: boolean -complete_fields() : void +enter_visitor() : void -fill_form() : void {pre : visitor_entered} -thanks_for_entry() : void WebServer::servlet Client::Browser > 6 – Plug-in behaviours of the components into the « Goal- Driven Architecture » ENTITIES GOAL CASE USE CASE GUI UC GC

13 …transform CIM level behaviours into PIM level software comment lines in order to guide developers… CORRESPONDING JAVA CODE at the PIM DESIRED BEHAVIOURS USING ACTIONS and OBJECTS at the CIM

14 How to manage changes using the Goal-Driven Service Oriented Architecture (GD-SOA) ? Changes on the Business Goal (V2) : « Motivate visitors to register using a bonus and lotery systems » … New Business Objective (V2) : 100 registrants / week Before V2 After V2

15 1 – Describe Impacts of the changes (V2) on Goal Cases

16 2/3 – Trace impacts (V2) on actions, rules and responsibilities of the participants

17 4 – Capitalize on your business knowledge and increase your business reactivity to changes using the stable and traceable architecture backbone «BGC_Comp» Visitor_Registration_V2 -added_to_lottery: boolean -bonus_assigned: boolean -new_state: boolean -questionnaire_filled: boolean -state: char -transaction_aborted: boolean -visitor_notified: boolean -visitor_registered: boolean -abort_transaction() : void -add_to_lottery() : boolean -assign_bonus() : boolean -enter_visitor() : void -fill_questionnaire() : void -notify_visitor() : boolean +register_visitor() : void >

18 ENTITY USE CASE GOAL CASE BUSINESS GOAL 1.GROUP REQUIREMENTS USING GOALS : DISCOVER THE « GOAL-DRIVEN USE CASES » 3/4. FORMALISE RULES & ACTIONS / ASSIGN RESPONSIBILITES TO PARTICIPANTS GOAL CASE USE CASE BUSINESS GOAL GUI GOAL CASE USE CASE ENTITY BUSINESS GOAL REAL. 2. DRAFT THE BACKBONE OF THE « GOAL-DRIVEN SERVICE ORIENTED ARCHITECTURE » Java Code PIM) Behaviours (CIM) GUI ENTITY USE CASE GOAL CASE 5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURAL COMPONENTS Birol Berkem - © GOObiz.com ® Overview : Steps for aligning IT with the changes using the « Goal-Driven Development » process according to BMM 6. INTEGRATE COMPONENTS INTO THE ARCHITECTURE & TEST ENTITY BUSINESS GOAL REAL. RESPONSIBILITY ACTION RULE PROCESS