Transcript
Page 1: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

Agile prototyping using Naked Objects

Ola DeibitschCallista Enterprise AB

Page 2: Agile prototyping using Naked Objects Ola Deibitsch Callista 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

Page 3: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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.

Page 4: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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.

Page 5: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 5Copyright 2007, Callista Enterprise AB

Demo

Page 6: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 6Copyright 2007, Callista Enterprise AB

Adapting to unforseable requirements...

• Adding relations– Order --> Customer– OrderLine --> Order

Page 7: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 7Copyright 2007, Callista Enterprise AB

Demo

Page 8: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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.

Page 9: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 9Copyright 2007, Callista Enterprise AB

Layers?

CustomerOrderOrderLineProduct

CustomerServiceOrderServiceProductService

CustomerDaoOrderDaoProductDao

CustomerFormCustomerActionOrderFormOrderActionProductForm ProductAction

3-Layer

Non-layered

CustomerDtoOrderDtoOrderLineDtoProductDto

Page 10: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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)

Page 11: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 11Copyright 2007, Callista Enterprise AB

Demo

Page 12: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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.

Page 13: Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

CADEC 2007, Agile prototyping using Naked Objects, Slide 13Copyright 2007, Callista Enterprise AB

Q&A

?