© Gorilla Logic, Inc. 2004 Validating Requirements with Executable Domain Models Presentation to...

Post on 20-Jan-2016

217 views 0 download

transcript

© Gorilla Logic, Inc. 2004

Validating Requirements with Executable Domain

Models

Presentation to readers of UML China

2© Gorilla Logic, Inc. 2004

Presentation Agenda Introduction

Why IT Projects Fail

Our Solution: Executable UML Domain Models for functional prototyping

How it works

Screen shot demo

Summary

Questions

3© Gorilla Logic, Inc. 2004

About Gorilla Logic

Founded last year by the former executive management of Sun Microsystems’ Java Technology and eBusiness Consulting Practices

We provide tools, methodologies, and services to simplify the eBusiness application development process

4© Gorilla Logic, Inc. 2004

66% of IT projects are not a success, representing $55 Billion of U.S. project waste – Standish Group

Poor requirements gathering, analysis and management lead to 60-70% of G2000 project failures in the U.S. - Meta Group

Outsourcing exacerbates requirements gathering problems due to geographic, language, cultural and other barriers

We can help bridge the gap between business and IT!

Communication Failures Plague IT

5© Gorilla Logic, Inc. 2004

Over the Wall Requirements

UseCase

s

Domain

Model

FunctionalSpecificatio

ns

Business User

Analyst

Why Projects Fail: The traditional project lifecycle

6© Gorilla Logic, Inc. 2004

Why Projects Fail: The traditional project lifecycle

UseCase

s

Domain

Model

FunctionalSpecificatio

ns

Business User

Analyst

Developers

Acceptance

Package

ChangeRequests

Expensive rework late in the project

7© Gorilla Logic, Inc. 2004

Executable Domain Models for Rapid Prototyping

Draw Model Draw Model (“blueprint”)(“blueprint”)in in Any Any PopularPopular Modeling Modeling ToolTool

Gorilla Execution Gorilla Execution Engine (GXE) Engine (GXE) imports diagram imports diagram (“XMI”) from (“XMI”) from modeling toolmodeling tool

Complete Complete Application:Application:

•User InterfaceUser Interface

•Business LogicBusiness Logic

•Web ServicesWeb Services

Domain Domain ModelModel

Directly Directly ExecuteExecute

Validate and Validate and VerifyVerify

8© Gorilla Logic, Inc. 2004

The Gorilla Logic Design Edition:Truly Agile Modeling

The interactivity and risk-reduction of iterative, rapid prototyping

Helps domain modelers to:

– visualize their designs

– validate requirements with end users

– communicate functional specifications with developers and testers

With the design rigor and clarity of model-driven development

When the delivery team is not co-located with users

9© Gorilla Logic, Inc. 2004

GorillaExecutio

nEngine

Model-Driven Rapid

Prototyping…

UseCase

s

Domain

Model

FullyFunctionalPrototype

Business User

Analyst

Instantaneous, WSYWYG feedback right from the

model, on business user’s desktop

The Gorilla Process

10© Gorilla Logic, Inc. 2004

UseCase

s

Domain

Model

FullyFunctionalPrototype

ValidatedFunctionalSpecificatio

ns

Business User

Analyst

Developers

Acceptance

Package

GorillaExecutio

nEngine

…for unambiguous specifications

and acceptance criteria Clear, concise

specs for developers and

testers

The Gorilla Process

11© Gorilla Logic, Inc. 2004

Advantages of the Gorilla Execution Engine

Standards-based

– Little incremental effort for immediate results

Users can “drive” the application simulation and suggest improvements

– “I’ll know it when I see it”

– Verify functionality before coding begins

No effort is lost to create a prototype

– the result is a complete and correct functional specification

The ultimate means of communicating functionality

No need to change modeling tools

12© Gorilla Logic, Inc. 2004

So, how does it work?

13© Gorilla Logic, Inc. 2004

This is the source code

Our sales force automation application – Our sales force automation application – Go SellGo Sell

14© Gorilla Logic, Inc. 2004

Directly Executed model, fully functional app

Go Sell is a complete Contact Management/Sales Forecasting application.Time to model: 4 hours. Time to implement: 12 seconds.Time to model: 4 hours. Time to implement: 12 seconds.

15© Gorilla Logic, Inc. 2004

With Gorilla Logic,

The Model Is The Code.

If you’re not skeptical, perhaps you don’t understand what we’re saying…If you’re not skeptical, perhaps you don’t understand what we’re saying…

16© Gorilla Logic, Inc. 2004

Complete Functionality…

Pipeline by sales

rep

Pipeline by LOB

Automated

reminders

Contact history

Keyed access to

critical entities

Dynamic rollups

Searchable note history

Automated, standardized pipeline

discounting

Optional org chart

info

Multiple Relationship

TypesAutomat

ed reminder

s

…specified in the domain model

17© Gorilla Logic, Inc. 2004

Executable Domain Models The domain model contains the most important part of

business systems: Business concepts!– Relationships, Ownership

– Business rules

– No implementation structures

And yet, in the traditional view, a domain model is:– A picture in a document on a shelf

– Incomplete, ambiguous, imprecise, out-of-date

– Only code is “real”, because it really does something

Gorilla Logic view– The domain model is the program

– Executable, verifiable, testable

18© Gorilla Logic, Inc. 2004

A Few key features of the Gorilla Execution Engine

Transaction management

Support for complex Business Rules

User interface generation and customization

Interactive shell for debugging

XML message model mapping

Lets drill down a bit…

19© Gorilla Logic, Inc. 2004

Gorilla Logic Domain Model

Nested namespac

e partitions

Built-in model-mapping

support for XML/email messaging

Events- views - exists when- workflow - created when- state transitions - on condition

Business rules as

constraints

Ownershipbusiness ownership semantics for- access control- process choreography

Derived values

True enumerated types

Set-oriented expressio

n evaluatio

n

Aggregate

functions

20© Gorilla Logic, Inc. 2004

HTML Screen Options

Auto generate

– Driven from model structure

– Model hints

Customize

– JSPs

– Taglibs

21© Gorilla Logic, Inc. 2004

Primary App Screen Flow

select entity create/edit row

Link/unlink/brows existing

search…

search…

display result set

Query

Home List Detail

Link

22© Gorilla Logic, Inc. 2004

Interactive Shell for Ad-hoc Query/Debug

23© Gorilla Logic, Inc. 2004

Model-Driven Web Serviceswith XML message mapping

ManufacturerDistributors

XML Schema/WSDL are imported as UML models, mapped semantically, and

deployed

InternalManufacturing Business

ModelAny Partner using the same XML protocol

24© Gorilla Logic, Inc. 2004

Outbound Model Mapping

25© Gorilla Logic, Inc. 2004

Inbound Model Mapping

26© Gorilla Logic, Inc. 2004

Go Sell – List Prospects

Types

Attributes of the Prospect Type

Add a new Prospect

27© Gorilla Logic, Inc. 2004

Go Sell – Add a Prospect Detail

Business rule: initiate contact every 7 days

Lets add (link to) a new Opportunity for this prospect

A Prospect can have only one rep

28© Gorilla Logic, Inc. 2004

Go Sell – Add a Sales Opportunity

Enumerated Type

This opportunity is linked to Prospect George

29© Gorilla Logic, Inc. 2004

Go Sell – Constraint Enforcement

Constraint enforcement: an Opportunity can’t have more than one Prospect

30© Gorilla Logic, Inc. 2004

Go Sell – Pending Contacts Linked to Sales Rep

View Detail

Column Sort

31© Gorilla Logic, Inc. 2004

Product Timeline Design Edition – Apr 04

– Desktop single user

– Prototyping, model exploration

– Full model execution capabilities

Prototyping Server – July 04

– Multi-party messaging

– Multiple developer licenses

– Multi user, but limited scalability

Enterprise Edition – Dec 04

– Enterprise Deployment Platform

– Production model execution

32© Gorilla Logic, Inc. 2004

Gorilla Logic Delivers!

The business specifications are the program– The Gorilla Execution Engine directly executes

highly declarative business model diagrams

– The only product that generates complete systems from business-centric UML domain models, instead of line-by line creation of huge bodies of code

Verify functionality before any coding begins

Enables cost-effective IT development without the risk of failure

33© Gorilla Logic, Inc. 2004

Project References

"I was very impressed with the ability to get feedback from customers on a design immediately. Gorilla Logic's offering has the potential to be a high-value, low learning curve toolset not just in Inception but throughout the software lifecycle. "

-Tim Seltzer, Senior Java Architect, Sun Microsystems Inc.

Testimonial

34© Gorilla Logic, Inc. 2004

Thank you!

Contact us with any questions:

Mmoffatt@gorillalogic.com

www.gorillalogic.com