13
Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

Agile prototyping using Naked Objects Ola Deibitsch Callista Enterprise AB

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

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

?