1 Timothy D. Korson Model Driven Development: A New Symbiotic Relationship Between Developers and Testers.

Slides:



Advertisements
Similar presentations
January 30, 2014 Copyright Jim Farley Beyond JDBC: Java Object- Relational Mappings Jim Farley e-Commerce Program Manager GE Research and Development
Advertisements

1 Title slide Future for Functional Test Automation? TM Forum – April 2006 Susan Windsor Insight Through Intelligence WMHL Consulting Limited, MD.
Alternate Software Development Methodologies
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
© 2004 Visible Systems Corporation. All rights reserved. 1 (800) 6VISIBLE Holistic View of the Enterprise Business Development Operations.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
Amit, Keyur, Sabhay and Saleh Model Driven Architecture in the Enterprise.
Secure Middleware (?) Patrick Morrison 3/1/2006 Secure Systems Group.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
OMG Meeting, Helsinki Model Driven Architecture An Alternative Implementation Approach Werner Froidevaux
Course Instructor: Aisha Azeem
MDD Tutorial for managers Eclipse ECESIS Project A presentation of MDD basics Model-driven development (MDD) tutorial for managers EUROPEAN SOFTWARE INSTITUTE,
Applying MDA in the ATM: A practical approach Teodora Bozheva, Terry Bailey (ESI) Julia Reznik, Tom Ritter (Fraunhofer FOKUS)
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
ARCH-6: UML Modeling with Enterprise Architect Phillip Magnay Technical Architect.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
MDA Guide Version CYT. 2 Outline OMG Vision and Process Introduction to MDA How is MDA Used? MDA Transformations Other MDA Capabilities Using the.
Software Engineering Muhammad Fahad Khan
CPTE 209 Software Engineering Summary and Review.
Chapter 2 The process Process, Methods, and Tools
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Compuware Corporation Business Driven SOA Edwin Schumacher Director of Product Management
MDA and QVT  Tom Gullion, Director of Product Management, Together Products.
1 Timothy D. Korson Model Driven Development: Hype or Reality.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
3 April SOA: Services Oriented Architecture MDA: Model Driven Architecture.
Introduction to MDA (Model Driven Architecture) CYT.
Secure Systems Research Group - FAU Securing Service-Oriented Architectures using a Model-driven Approach Nelly A Delessy.
Copyright © 2004 InteliData A Real-World Example of MDA without Automation Ed Seidewitz 26 August 2004.
Alignment of ATL and QVT © 2006 ATLAS Nantes Alignment of ATL and QVT Ivan Kurtev ATLAS group, INRIA & University of Nantes, France
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
CSE 219 Computer Science III Program Design Principles.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
On the Role of Abstract Platform in Model Driven Development* Marten van Sinderen Centre for Telematics and Information Technology, University of Twente,
CEN5011, Fall CEN5011 Software Engineering Dr. Yi Deng ECS359, (305)
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Software Development Life Cycle (SDLC)
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Science and Technology Norwegian University of NTNU Rolv Bræk, January Introduction to Systems Engineering by Rolv Bræk NTNU.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Creating competitive advantage Copyright © 2003 Enterprise Java Beans Presenter: Wickramanayake HMKSK Version:0.1 Last Updated:
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Witchcraft MDA Oreon Consulting Inc Model Driven Design Advantages of an assembly line approach vs handcrafting Cartridges & Extensions.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Model Driven Architecture MDA SE-548 Lale Doğan
A service Oriented Architecture & Web Service Technology.
The Development Process of Web Applications
The Software Development Cycle
Software Design and Architecture
WEBINAR: Becoming Agile In Software Testing: The Government Edition
Component-Based Software Engineering: Technologies, Development Frameworks, and Quality Assurance Schemes X. Cai, M. R. Lyu, K.F. Wong, R. Ko.
Evaluating Compuware OptimalJ as an MDA tool
Constructing MDA-based Application Using Rational XDE for .NET
Model Driven Software Development
SOFTWARE DEVELOPMENT LIFE CYCLE
Presentation transcript:

1 Timothy D. Korson Model Driven Development: A New Symbiotic Relationship Between Developers and Testers

Copyright © 2006 Korson-Consulting 2 of 35 MDD Premise Generate systems from models

Copyright © 2006 Korson-Consulting 3 of 35 Blueprints to Buildings It is like having a team of Robots that could automatically construct a building from a detailed set of blueprints

Copyright © 2006 Korson-Consulting 4 of 35 Blueprints to Buildings Vendors OMG

Copyright © 2006 Korson-Consulting 5 of 35 Poll #1 What background do you have with MDD?

Copyright © 2006 Korson-Consulting 6 of 35 Natural Progression Assembler FORTRAN Ada Java Middleware Components … MDA

Copyright © 2006 Korson-Consulting 7 of 35 State of Software Development Lots of advances, but programmers still spend and inordinate amount of time on details that could be automated Distribution mechanisms GUI layout Database structure and access mechanisms And there is still a huge disconnect between requirements, architecture and code

Copyright © 2006 Korson-Consulting 8 of 35 Corporate Architecture multiple industry standards-CORBA, EJB/J2EE,.NET, XML/SOAP, These become “MDA compiler options” instead of “Bet the Company” decisions

Copyright © 2006 Korson-Consulting 9 of 35 MDA: OMG’s Current Brainchild Scope makes MDA Unique

Copyright © 2006 Korson-Consulting 10 of 35 Family of OMG Standards MDA is an umbrella over a growing family of standards that now includes the UML V2.0, the Meta Object Facility (MOF), the Common Warehousing Model, and the Software Process Engineering Metamodel (SPEM), among others. Model Driven Development is a more generic term that includes approaches that do not adhere to the MDA standards

Copyright © 2006 Korson-Consulting 11 of 35 Current Problems in Software Development Portability/new technologies Rapid pace of change Interoperability Maintenance and documentation Lack of documentation Any documentation one does have is out of date Too much overhead

Copyright © 2006 Korson-Consulting 12 of 35 MDA Process Business Analysis Use Cases Computation Independent Model Systems Definition Platform Independent Model Design Transformation Platform Specific Model Code Transformation code Deployment executables Transformation Tool Transformation Tool Business Analysis Systems Definition

Copyright © 2006 Korson-Consulting 13 of 35 MDA Benefits Productivity Automated transformation tools Portability Multiple PSMs for a given PIM Interoperability PSM bridges Maintenance and Documentation Maintenance is done directly on the models so the models cannot get out of sync with the code. The models are no longer overhead

Copyright © 2006 Korson-Consulting 14 of 35 MDA Advantages 1. The business logic for PIMs can be developed, and validated, by business analysts with little or no technical background. Some MDA tools even let you “run” a PIM on a virtual machine to test it. 2. There is full traceability from PIM through PSM and the ultimate deployed software. This provides a great deal of quality assurance. 3. Subsequent changes in either the business model or the technology platform can be gracefully accommodated. Changes in the technology don’t require changes to the PIM. Changes to the PIM can be traced to determine their likely impact on the PSM and ultimate deployed implementation.

Copyright © 2006 Korson-Consulting 15 of 35 Not Your Father’s UML Most UML modeling tools generate code One UML class – one Java class MDA tools are model-driven, pattern- based One UML class – many code artifacts MDA tools intelligently generate infrastructure from models

Copyright © 2006 Korson-Consulting 16 of 35 From a Customer Class in UML A good MDA tool can generate (for example): The appropriate Data definition language to create, delete, and init the RDBMS table. A Data Access Object or Enterprise JavaBeans data access layer A SessionFacade to access the bean A ServiceLocator to find the bean A set of Data Transfer Objects to pass to the web tier A Struts-based framework to perform CRUD operations on a "Customer" All the security, logging, exception and other hooks that one would expect to use

Copyright © 2006 Korson-Consulting 17 of 35 Focus Changes from Coding to Modeling Business analysts will not need IT skills in order to stay involved in systems development from beginning to end Geeks will focus on building the MDA transformation tools Business applications will be build by analysts and architects skilled in modeling

Copyright © 2006 Korson-Consulting 18 of 35 Agile MDA Incremental techniques work well with MDA Most XP practices such as “pair programming” extend naturally to MDA The PIM replaces what “code” is to agile development teams

Copyright © 2006 Korson-Consulting 19 of 35 Increased importance Inspections CIM PIM

Copyright © 2006 Korson-Consulting 20 of 35 System testing still needed With MDA software developers can generate far more code than with traditional techniques Testers are already faced with more work than they can handle How will testers keep up with MDA developers???

Copyright © 2006 Korson-Consulting 21 of 35 If You Can’t Beat Them, Join Them An automated test suite is a software system So use MDA UML testing profile (U2TP) The models that developers use to generate the application are useful to the testers This will have a major impact on the skills required of testers and the test process itself.

Copyright © 2006 Korson-Consulting 22 of 35 Generated Code Should be Bug Free Focus can be on testing business logic rather than the middleware and other system code and interactions. We assume the C compiler doesn’t introduce translation bugs into the assembly code Community at large finds these errors

Copyright © 2006 Korson-Consulting 23 of 35 MDA for Prototyping Repeat Model Generate prototype using MDA Evaluate prototype Until stakeholders are happy with prototype Build system using traditional techniques

24 MDA Hype versus Reality

Copyright © 2006 Korson-Consulting 25 of 35 MDA Compliant Vendors make MDA claims whenever their tool implements one of the many standards in the MDA family of standards This is misleading An MDA environment should be able to turn a PIM into a running system

Copyright © 2006 Korson-Consulting 26 of 35 Current Tools There are only a handful of vendors that produce full fledged MDA tools. If you see a long list anywhere – it just isn’t correct

Copyright © 2006 Korson-Consulting 27 of 35 Current Tools Don’t Always Generate All the Code

Copyright © 2006 Korson-Consulting 28 of 35 They Do Generate the Messy Error Prone Code Generated Middleware Business objects Data Base stuff Objects and method stubs Default GUI Typically Not Generated Customization to the GUI Method Bodies for the Business algorithms Transformation Tool Transformation Tool

Copyright © 2006 Korson-Consulting 29 of 35 Two step Process Transformation Tool Transformation Tool Most of the development Certain architectural configuration and GUI customization Custom business logic

Copyright © 2006 Korson-Consulting 30 of 35 Controlled Study

Copyright © 2006 Korson-Consulting 31 of 35 Case Study Conclusions 35% gain in development productivity Up to 70% gains in maintenance productivity

Copyright © 2006 Korson-Consulting 32 of 35 Poll #2 Will you consider using full code generation from a modeling tool which includes method bodies, for your project?

Copyright © 2006 Korson-Consulting 33 of 35 Crystal Ball MDA is not the only game in town. Neither the problems that plague the software industry, nor the principles of good software engineering are secrets known only to the MDA elite. All the tool vendors out there are searching to find solutions that will win in the marketplace. At the same time that MDA environments are starting to mature, IDEs are becoming more and more powerful and multi- use components more widespread. My personal opinion is that both the IDE style programming approach and the MDA style modeling approach will exist side by side during the next decade. MDA will not take over the application development space, but it will play an important role there. Two of the biggest risks to the future of MDA are: Will the development community be patient with MDA while the MDA tools mature, and Will the OMG find the “right” way to specify business logic at the PIM level in a timely manner.

Copyright © 2006 Korson-Consulting 34 of 35 Conclusions MDA is a natural step in raising the level of abstraction at which we develop systems. MDA embodies the basic engineering concept of separation of concerns. It is clear both intuitively and anecdotally that MDA can lead to important gains in productivity, portability, and the ability to focus on business functionality as opposed to technology details. Most importantly, MDA is not a proprietary vendor initiative, but is a technology enabled by a family of standards developed by the OMG consortia of computing users and vendors. The implications to testers of a move to MDA style development are especially significant.

Copyright © 2006 Korson-Consulting 35 of 35 Thank you for attending Please feel free to contact me with any follow up questions or comments Timothy Korson

Copyright © 2006 Korson-Consulting 36 of 35