Upload
darcy-haynes
View
215
Download
0
Embed Size (px)
DESCRIPTION
CADEC 2007, Agile prototyping using Naked Objects, Slide 3 Copyright 2007, Callista Enterprise AB The Problem Requirements that not relates to each other. Requirements that don’t reflects the reality. Not being able to explore the domain. Not being able to verify the domain model.
Citation preview
Agile prototyping using Naked Objects
Ola DeibitschCallista Enterprise AB
CADEC 2007, Agile prototyping using Naked Objects, Slide 2Copyright 2007, Callista Enterprise AB
Agenda
• The Problem• Introduction• Adapting to unforseable requirements...• The Naked Objects Pattern• Layers?• Enriching object domain• Summary• Q&A
CADEC 2007, Agile prototyping using Naked Objects, Slide 3Copyright 2007, Callista Enterprise AB
The Problem
• Requirements that not relates to each other.• Requirements that don’t reflects the reality. • Not being able to explore the domain.• Not being able to verify the domain model.
CADEC 2007, Agile prototyping using Naked Objects, Slide 4Copyright 2007, Callista Enterprise AB
Introduction
• A different and rapid approach in context of prototyping domain objects.
• All about prototyping POJOs.
• ”On the fly” exploration capabillities.• User interface is automatically driven by business object
definitions, i.e POJOs.• Helps to capture and modeling of business requirements.
CADEC 2007, Agile prototyping using Naked Objects, Slide 5Copyright 2007, Callista Enterprise AB
Demo
CADEC 2007, Agile prototyping using Naked Objects, Slide 6Copyright 2007, Callista Enterprise AB
Adapting to unforseable requirements...
• Adding relations– Order --> Customer– OrderLine --> Order
CADEC 2007, Agile prototyping using Naked Objects, Slide 7Copyright 2007, Callista Enterprise AB
Demo
CADEC 2007, Agile prototyping using Naked Objects, Slide 8Copyright 2007, Callista Enterprise AB
Naked Objects Pattern
• ”Behaviourally complete” domain objectsEncapsulate all the behaviour/functionality within the domain objects.
• Single point definitionAll the representations of a domain object such as user-interface, database-mapping, should be
derived automatically from the domain object class itself.
• Object-oriented user-interface (OOUI)By exposing behaviorally-complete objects, users can view and interact with underlying domain
objects, only by invoking its methods.
CADEC 2007, Agile prototyping using Naked Objects, Slide 9Copyright 2007, Callista Enterprise AB
Layers?
CustomerOrderOrderLineProduct
CustomerServiceOrderServiceProductService
CustomerDaoOrderDaoProductDao
CustomerFormCustomerActionOrderFormOrderActionProductForm ProductAction
3-Layer
Non-layered
CustomerDtoOrderDtoOrderLineDtoProductDto
CADEC 2007, Agile prototyping using Naked Objects, Slide 10Copyright 2007, Callista Enterprise AB
Enriching object behaviour
• Order– Add calculatePrice()
• OrderLine– Add calculatePrice()
• Product– Add getPrice(int quantity)
CADEC 2007, Agile prototyping using Naked Objects, Slide 11Copyright 2007, Callista Enterprise AB
Demo
CADEC 2007, Agile prototyping using Naked Objects, Slide 12Copyright 2007, Callista Enterprise AB
Summary
• A different and rapid approach in context of prototyping domain models.
• Helps in order to build an understanding of the domain and capture requirements.
• Simulates business tasks from the beginning of the modeling activity.
CADEC 2007, Agile prototyping using Naked Objects, Slide 13Copyright 2007, Callista Enterprise AB
Q&A
?