Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 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 http://www.jot.fmhttp://www.jot.fm (Journal of Object Technology) – Mars / April 2006 http://www.jot.fmhttp://www.jot.fm (Journal of Object Technology) – July / August 2005 http://www.bpmg.orghttp://www.bpmg.org (Business Process Management Group) other presentations of the « Goal-Driven Development » on http://www.omg.orghttp://www.omg.org and http://www.goobiz.comhttp://www.goobiz.com … (*) BMM : Business Motivation Model - voted by the OMG in September 2005 http://www.businessrulesgroup.org/second_paper/BRG-BRMM.pdf http://www.businessrulesgroup.org/second_paper/BRG-BRMM.pdf

2 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 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 4 Relationships between Goals,Courses of Actions, Rules, Processes… from the Business Motivation Model (BMM) - voted by the OMG in September 2005 http://www.businessrulesgroup.org/second_paper/BRG-BRMM.pdf http://www.businessrulesgroup.org/second_paper/BRG-BRMM.pdf

5 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 » 3.1 3.2 3.3 3.2 3.3 1.1 1.2 1.1 1.2 Java Code PIM) Behaviours (CIM) GUI ENTITY USE CASE GOAL CASE 5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURAL COMPONENTS Birol Berkem - © 2005-2007 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 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 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 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 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 3.2.6 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

10 10 5 - 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 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 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 13 …transform CIM level behaviours into PIM level software comment lines in order to guide developers… 3.1 3.2 3.3 3.2 3.3 1.1 1.2 1.1 1.2 CORRESPONDING JAVA CODE at the PIM DESIRED BEHAVIOURS USING ACTIONS and OBJECTS at the CIM

14 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 15 1 – Describe Impacts of the changes (V2) on Goal Cases

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

17 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 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 » 3.1 3.2 3.3 3.2 3.3 1.1 1.2 1.1 1.2 Java Code PIM) Behaviours (CIM) GUI ENTITY USE CASE GOAL CASE 5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURAL COMPONENTS Birol Berkem - © 2005-2007 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


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

Similar presentations


Ads by Google