Post on 20-Jan-2016
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