Agile Software Development with Pragmatic MDA

Similar documents
Agile Project Management

Optimize tomorrow today.

BLU AGE 2009 Edition Agile Model Transformation

MDA for the Enterprise

DRAFT ARCHITECTURE DOCUMENT PROTEOMICS LABORATORY INFORMATION MANAGEMENT SYSTEM DOCUMENT NUMBER: V1.4 BY OLGA TCHUVATKINA - BIOINFORMATICS

Open Source egovernment Reference Architecture. Cory Casanave, President. Data Access Technologies, Inc.

Practical Model-Driven Development with the IBM Software Development Platform

Activities Common to Software Projects. Software Life Cycle. Activities Common to Software Projects. Activities Common to Software Projects

Qualitative ROI for MDA Projects. Ken Sayers - Chubb and Son, Inc. OMG UML Workshop San Francisco, CA October 21-24, 2002

All you need are models Anneke Kleppe, Klasse Objecten

Index. Add Diagram > Sequence Diagram command,

Architects: Anchors or Accelerators to Organizational Agility?

DEV427 MODEL-DRIVEN DEVELOPMENT USING PowerDesigner. Xiao-Yun WANG PowerDesigner Chief Architect

innoq Deutschland GmbH innoq Schweiz GmbH D Ratingen CH-6330 Cham Tel Tel

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Model Driven Architecture

The Process of Software Architecting

Introduction. Enterprise Java Instructor: Please introduce yourself Name Experience in Java Enterprise Edition Goals you hope to achieve

Appendix A - Glossary(of OO software term s)

* Corresponding Author

J2EE Application Development with WebSphere Studio

FREQUENTLY ASKED QUESTIONS

Software Development Process Models

Frustrated by all the hype?

Leverage SOA for increased business flexibility What, why, how, and when

J2EE Application Development : Conversion and Beyond Osmond Ng

Model Driven Architecture - The Vision

MDA for Enterprise Collaboration & Integration

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

Application Discovery and Enterprise Metadata Repository solution Questions PRIEVIEW COPY ONLY 1-1

Agile Engineering. and other stuff I m working on

Interface-based enterprise and software architecture mapping

Sales and Marketing Strategies That Work for Financial Services

We manage the technology that lets you manage your business.

INF5120 and INF9120 Modelbased System development

Final Exam CISC 475/675 Fall 2004

The ATCP Modeling Framework

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

Agile Database Techniques Effective Strategies for the Agile Software Developer. Scott W. Ambler

Model Driven Architecture

Introduction to. and. Scott W. Ambler Source Documents

COMP 6471 Software Design Methodologies

Packaging for Websphere Development Studio was changed with V6R1.

Defining Domain-Specific Modeling Languages

Vendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo

INTRODUCTION. Chapter #1

BUILDING the VIRtUAL enterprise

Tools to Develop New Linux Applications

Reengineering of Distributed Middleware Systems To a Model Driven Architecture (MDA)

MDSE PRINCIPLES. Chapter #2

<Insert Picture Here> Forms Strategies: Modernizing Your Oracle Forms Investment

JBuilder 2008 also now has full support for Struts 1.x applications including graphical editing and Web flow development.

How to Harvest Reusable Components in Existing Software. Nikolai Mansurov Chief Scientist & Architect

Integrating Legacy Assets Using J2EE Web Services

ClearPath Secure Java Overview For ClearPath Libra and Dorado Servers

Model driven Engineering & Model driven Architecture

Systems Analysis & Design

Schema Repository Database Evolution And Metamodeling

shortcut Tap into learning NOW! Visit for a complete list of Short Cuts. Your Short Cut to Knowledge

OMG Workshop MDA. Tool Chains for MDA? Let's consider leaving our tool chains behind us.

Object-Oriented Analysis and Design Using UML (OO-226)

index_ qxd 7/18/02 11:48 AM Page 259 Index

Standard SOA Reference Models and Architectures

Services Oriented Architecture and the Enterprise Services Bus

CBDIReport. Service Oriented Architecture and OptimalJ. 1 Introduction. 2 Service Oriented Architecture. 3 The Business Services Bus

Best Practices for Collecting User Requirements

CHAPTER 3 Implementation of Data warehouse in Data Mining

Conceptual Framework

Model Driven Architecture

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

Streaming Real-Time Data into Xcelsius Applications

MDA Journal. Toward a Business Process Platform A BPT COLUMN. David S. Frankel Lead Standards Architect - Model Driven Systems SAP Labs.

Testing in the Agile World

WebSphere MQ Update. Paul Dennis WMQ Development 2007 IBM Corporation

Requirement Engineering within an Agile Environment BY KEJI GIWA. Digital Bananas Technology

Which tools should you use to design? DESIGN FUNDAMENTALS

webmethods EntireX for ESB: Leveraging Platform and Application Flexibility While Optimizing Service Reuse

OBJECT-ORIENTED DESIGN

The Evolution of Data Warehousing. Data Warehousing Concepts. The Evolution of Data Warehousing. The Evolution of Data Warehousing

Role of Executable UML in MDA. Presented by Shahid Alam

One and a half hours. Appendix A is located at the back of the exam UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE

Introduction to MDE and Model Transformation

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX

(The obligatory second slide)

2 The IBM Data Governance Unified Process

iseries & WebSphere Express

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

1.264 Lecture 16. Legacy Middleware

A CONFUSED TESTER IN AGILE WORLD

Oracle Applications in a Changing Business World. Legacy Oracle Applications Won't Be Around Forever. Will You?

Systems Analysis & Design

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Comparative analysis of MDA tools

developer.* The Independent Magazine for Software Professionals

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

The 60-Minute Guide to Development Tools for IBM Lotus Domino, IBM WebSphere Portal, and IBM Workplace Applications

Object Analysis & Design in the textbook. Introduction to GRASP: Assigning Responsibilities to Objects. Responsibility-Driven Design

Caliber Data Training

SD-WAN. Enabling the Enterprise to Overcome Barriers to Digital Transformation. An IDC InfoBrief Sponsored by Comcast

Improving Military Information Technology Through Common Conceptual Models

Transcription:

CompuwareCorporation Agile Software Development with Pragmatic MDA Jon Kern Agile MDA Evangelist Jon.Kern@compuware.com http://blogs.compuware.com/cs/blogs/jkern/ http://javacentral.compuware.com/members/straight-talk/ V1.1

Page 2 What are Our S/W Dev Challenges? Ability to meet the demands of the business Shrinking business cycle Need for business agility Ability to meet the demands of development Crazy schedules Need for application agility Too many death marches Producing quality software Striving for effective process Gaining productivity Getting a return on the IT investment

Page 3 Easy Solution to Our Quest! Model app & svcs completely in UML Push some buttons in our MDA tool Presto-magic, your business app is done!

Page 4 How Is Software Built? People, Process, and Tools! In about that order Good people will trump poor/non-existent process Good people will either create tools or use tools in an effective manner Process and Tools cannot make up for inadequacies of the development staff Gray matter is a pre-requisite

Page 5 3 Keys to S/W Development Success Separation of Concerns Model the Business Keep technology separate Construction Consistency Application Architecture Consistent application of: Technical architecture Construction guidelines Standards & conventions Agile Development Environment Frequent, working, tangible results

Page 6 Separation of Concerns #1 Architectural best practice Keep business logic in one place Architect for the future Keep Technology at arm s length Isolate change User Interface Business/Problem Domain Persistence DB DB DB Legacy/Ext. Systems

Page 7 It s The Business! Protect the company s primary asset: Business Intellectual Property That is The UI is not the business J2EE/.NET is not the business Messaging is not the business WebServices is not the business DBMS is not the business Your Business is the Business! Architect to Protect!

Page 8 No Separation of Concerns? Older applications are brittle hard to change without causing breakage It takes 80% of the effort just to keep the lights on It is hard to add new features No one can really point to your business model It is very hard to train new developers to work on the application DBMS DB UI Domain Legacy

Page 9 Eliminate Technical Debt Software development makes it easy to build up a slow, insidious, internal poison How? Small infractions of writing spaghetti code Seem harmless at the time They accumulate over time (like rust, or barnacles on a boat) It can get so bad that You are no longer competitive You can t even service the debt You can go bankrupt Technical Debt

Page 10 Construction Craftsmanship #2 Application Arch. Variable Technical Arch. Client:PC Consistent Browser (IE) Request Response WebContainer:Tomcat ControllerServ :ControllerSer t View(JSP) SOA, Distr., Web App ActionServ...ControllerSer Right-click, choose "Hyperlink To" menu select the hyperlin watch what happens. Cashier Debit Point of Sale System Scan Product or "Identify" P Total Ite Product System Take in Payme Update Product Co Please refer to Doug Rosenberg's boo "Use Case Driven Object Modeling wit for more information on Robustness D Credit Check Cashier makes a sale Price Looku <<include>> lnksaledm SaleDM <<moment-interval (The <<include>> databas Determine Ta CashSale The entity Features Inventory Sys <<ui-component> POSFrame The std cashier DBMS:Solid Legacy Cobol, IMS, etc EntityEJB:BudgetCe (optional) EJBContainer:JBoss BusinessInterf BusinessDelegat SessionEJB If both contain are on one serv (e.g., WebLogic better performa can be achieved Construction Guidelines Working App! Patterns, Conventions

Page 11 Agile Development #3 A state of mind! Shrink waterfall cycle into small iterations Ensure working application and feature progress Make it simpler to embrace change Improve communication Test between business and IT Deliver business value faster and continuously Make change an asset! Deploy/Run Analysis Design Code

Page 12 Agile Manifesto Individuals and Interactions Working software Customer collaboration Responding to change over over over over Processes and Tools Comprehensive documentation Contract negotiation Following a plan While we value the things on the right, we value those on the left more http://agilemanifesto.org

Page 13 Running Software Necessary but not sufficient! Don t be fooled by running software alone It must be built on a good architectural foundation It must not incur technical debt It must be treated as an important asset Even poorly architected software can give the appearance of being good at the user interface level.

Page 14 Three Fundamentals #1 User Interface Business/Problem Domain Persistence DB DB DB Legacy/Ext. Systems Separation of Concerns Test Deploy/Run Analysis Agile OptimalJ MDA Right-click, choose "Hyperlink To" menu, select the hyperlink watch what happens. Cashier Debit Design Code Application Arch. Point of Sale System Scan Product or "Identify" Pro Total Item Agile #3 Development Product System Take in Payment Update Product Coun Please refer to Doug Rosenberg's book on "Use Case Driven Object Modeling with UML for more information on Robustness Diagra Credit Check Cashier <<include>> SaleDM (The <<include>> database) makes a sale Price Lookup lnksaledm <<moment-interval>> Determine Tax CashSale The entity Inventory Syste <<ui-component>> POSFrame The std cashier U #2 Dual Architecture Technical Arch. Client:PC DBMS:Solid Browser (IE) Legacy Cobol, IMS, etc. Request Response EJBContainer:JBoss EntityEJB:BudgetCente (optional) WebContainer:Tomcat ControllerServle :ControllerServl t View(JSP) BusinessInterfac BusinessDelegate SessionEJB ActionServle...ControllerServl If both containers are on one server (e.g., WebLogic), better performance can be achieved. Construction Guidelines Working App!

Page 15 What Needs to be Agile? Move at the Speed of Business Business model changes New requirements Allow for changes in technology! Framework refactoring Vendor changes Platform changes Mergers/Acquisitions How does Pragmatic MDA help?

Page 16 The Simplicity of Pragmatic MDA Meta Data Models are used for business Models are used for technical artifacts (e.g., DBMS, build.xml) Transformations Templates/Java used to transform the models to your desired architecture First pass is an Application Model (platform-specific) Second pass is the Code Model (i.e., working app) Intermediate Model Useful Permits using technology: J2EE Security EJB Finders DBMS Logical Model Etc. Transformation Rules Model-to-Model Model-to-Model Transformations Transformations Model-to-Code Model-to-Code Transformations Transformations OptimalJ OMG Domain Model Application Model Code Model P I M P S M C od e

Page 17 Meta Data Models Models about your models ( M2 ) Model of UML classes, etc. Yields the ability to model classes, Tables, UIs Ability to model custom metadata Your own unique artifact types Metamodel languagem3 Metamodels Models Data M2 M1 M0

Page 18 Transformations Transform a UML model to a Database model Model to Model Transform Database model to SQL Model to Code Classes Tables SQL Code Model-to-Model Model-to-Code

Page 19 Multi-Tier Models Platform Independent Model (PIM) Business, business rules, process Platform Specific Model (PSM) Technology features Architecture goes here; e.g.: JSP Struts EJB/CMP RDBMS Integration (DBMS, WSs, Cobol, MQ, etc.) Code Model (code ;=)

Page 20 How it Works in Practice Design the technical architecture Relative Participation Create Technical Architecture (Or re-use existing) Model the Business (Appl. Architecture) Work out breadth of application s features Each Iteration/Release Work out N# of features to be delivered. Work out Appl. Details (Coding, UI, Integration) Continuous Integration and Testing Conduct verification of high-risk issues (as often as needed) Development Cycle Duration / Time

Page 21 Recap: MDA/OJ Provides Dramatic Potential for improving application Development and lowering TCO Separation of Domain Model Concerns + Appl/Technical Architecture + Agile Development Technical Transformations End-to-end Working Application Open, flexible, agile, iterative environment that delivers pure source code Vendor neutral approach to DBMSs & App Servers, etc.

Page 22 Thank You! Feel Free to contact me: Jon.Kern@compuware.com People and software for business applications sm