Validating Requirements with Executable Domain Models Presentation to
Validating Requirements with Executable Domain Models Presentation to readers of UML China 9/17/2021 © Gorilla Logic, Inc. 2004
Presentation Agenda l Introduction l Why IT Projects Fail l Our Solution: Executable UML Domain Models for functional prototyping l How it works l Screen shot demo l Summary l Questions © Gorilla Logic, Inc. 2004 2
About Gorilla Logic l Founded last year by the former executive management of Sun Microsystems’ Java Technology and e. Business Consulting Practices l We provide tools, methodologies, and services to simplify the e. Business application development process © Gorilla Logic, Inc. 2004 3
Communication Failures Plague IT l 66% of IT projects are not a success, representing $55 Billion of U. S. project waste – Standish Group l Poor requirements gathering, analysis and management lead to 60 -70% of G 2000 project failures in the U. S. - Meta Group l Outsourcing exacerbates requirements gathering problems due to geographic, language, cultural and other barriers l We can help bridge the gap between business and IT! © Gorilla Logic, Inc. 2004 4
Why Projects Fail: The traditional project lifecycle Analyst Use Case s Functional Specification s Domai n Model Business User Over the Wall Requirements © Gorilla Logic, Inc. 2004 5
Why Projects Fail: The traditional project lifecycle Analyst Use Case s Domai n Model Business User Functional Specification s Change Requests Acceptance Package Developers Expensive rework late in the project © Gorilla Logic, Inc. 2004 6
Executable Domain Models for Rapid Prototyping Domain Model Draw Model (“blueprint”) in Any Popular Modeling Tool Directly Execute Gorilla Execution Engine (GXE) imports diagram (“XMI”) from modeling tool Validate and Verify Complete Application: • User Interface • Business Logic • Web Services © Gorilla Logic, Inc. 2004 7
The Gorilla Logic Design Edition: Truly Agile Modeling l The interactivity and risk-reduction of iterative, rapid prototyping l Helps domain modelers to: – visualize their designs – validate requirements with end users – communicate functional specifications with developers and testers l With the design rigor and clarity of model-driven development l When the delivery team is not co-located with users © Gorilla Logic, Inc. 2004 8
The Gorilla Process Analyst Use Case s Fully Functional Prototype Domai n Model Gorilla Execution Engine Business User Model-Driven Rapid Prototyping… © Gorilla Logic, Inc. 2004 Instantaneous, WSYWYG feedback right from the model, on business user’s desktop 9
The Gorilla Process Analyst Use Case s Fully Functional Prototype Domai n Model Validated Functional Specification s Gorilla Execution Engine Business User …for unambiguous Acceptance specifications and Package acceptance criteria © Gorilla Logic, Inc. 2004 Developers Clear, concise specs for developers and testers 10
Advantages of the Gorilla Execution Engine l Standards-based – l l 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 l The ultimate means of communicating functionality l No need to change modeling tools © Gorilla Logic, Inc. 2004 11
So, how does it work? © Gorilla Logic, Inc. 2004 12
This is the source code Our sales force automation application – Go © Gorilla Logic, Inc. 2004 13
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. © Gorilla Logic, Inc. 2004 14
With Gorilla Logic, The Model Is The Code. If you’re not skeptical, perhaps you don’t understand what we’re saying… © Gorilla Logic, Inc. 2004 15
Keyed access to critical entities Complete Functionality… Pipeline by LOB Optional org chart info Pipeline by sales rep Dynamic rollups Contact history Searchable note history Multiple Relationship Types Automated reminders …specified in the domain model © Gorilla Logic, Inc. 2004 Automated, standardized pipeline discounting 16
Executable Domain Models l l l 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 © Gorilla Logic, Inc. 2004 17
A Few key features of the Gorilla Execution Engine l Transaction management l Support for complex Business Rules l User interface generation and customization l Interactive shell for debugging l XML message model mapping Lets drill down a bit… © Gorilla Logic, Inc. 2004 18
Ownership business ownership semantics for - access control - process choreography Gorilla Logic Domain Model Setoriented expression evaluation Aggregate functions Business rules as constraints Nested namespace partitions Derived values Events True enumerated types - views - exists when - workflow - created when - state transitions - on condition © Gorilla Logic, Inc. 2004 Built-in modelmapping support for XML/email messaging 19
HTML Screen Options l l Auto generate – Driven from model structure – Model hints Customize – JSPs – Taglibs © Gorilla Logic, Inc. 2004 20
Primary App Screen Flow select entity Home create/edit row List search… display result set Detail Link/unlink/brows existing search… Link Query © Gorilla Logic, Inc. 2004 21
Interactive Shell for Ad-hoc Query/Debug © Gorilla Logic, Inc. 2004 22
Model-Driven Web Services with XML message mapping Manufacturer Internal Manufacturing Business Model XML Schema/WSDL are imported as UML models, mapped semantically, and deployed © Gorilla Logic, Inc. 2004 Distributors Any Partner using the same XML protocol 23
Outbound Model Mapping © Gorilla Logic, Inc. 2004 24
Inbound Model Mapping © Gorilla Logic, Inc. 2004 25
Go Sell – List Prospects Attributes of the Prospect Types Add a new Prospect © Gorilla Logic, Inc. 2004 26
Go Sell – Add a Prospect Detail Business rule: initiate contact every 7 days A Prospect can have only one rep Lets add (link to) a new Opportunity for this prospect © Gorilla Logic, Inc. 2004 27
Go Sell – Add a Sales Opportunity Enumerated Type This opportunity is linked to Prospect George © Gorilla Logic, Inc. 2004 28
Go Sell – Constraint Enforcement Constraint enforcement: an Opportunity can’t have more than one Prospect © Gorilla Logic, Inc. 2004 29
Go Sell – Pending Contacts Linked to Sales Rep Column Sort View Detail © Gorilla Logic, Inc. 2004 30
Product Timeline l l l 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 © Gorilla Logic, Inc. 2004 31
Gorilla Logic Delivers! l 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 l Verify functionality before any coding begins l Enables cost-effective IT development without the risk of failure © Gorilla Logic, Inc. 2004 32
Testimonial "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. Project References © Gorilla Logic, Inc. 2004 33
Thank you! Contact us with any questions: Mmoffatt@gorillalogic. com www. gorillalogic. com © Gorilla Logic, Inc. 2004 34
- Slides: 34