Agile Domain Driven DevelopmentGenuin Objects x. x. 2009<br />Genuin Object principles<br />
Page 2<br />2008-01-11<br />Agenda<br />Agile process and its variations<br />Object-Oriented paradigm its meaning is comp...
Agile development <br />Counterstrick to waterfall design <br />
OO paradigm<br />Complete world view<br />
Page 5<br />2008-01-11<br />Logical 2-tier achtitecture<br />application<br />GUI<br />Same functionality<br />Is implemen...
Application<br />Objects<br />Persistent<br />Objects<br />GUI<br />Business<br />Objects<br />Logical 3-tier structure of...
Page 7<br />2008-01-11<br />Restaurant class diagram<br />
Page 8<br />2008-01-11<br />Restaurant collaboration diagram<br />
Page 9<br />2008-01-11<br />Why collaboration is simpler<br />Functional decomposition<br />Object collaboration<br />A<br...
Page 10<br />2008-01-11<br />Combining ER- and process models<br />OO-model<br />Two separate model higly difficult to com...
Page 11<br />2008-01-11<br />The overall viewpoint is dominative in nature  <br />OO viewpoin leads to collaborative  agen...
Abstract model and 3-tiear solutuions<br />More controle of complexity<br />
Page 13<br />2008-01-11<br />Abrstract model – intersection of business dimensions<br />
Page 14<br />2008-01-11<br />Close (almost one-to-one) correlation with reality (simulation model) =&gt; easy to understan...
Abstract Domain Driven Development<br />
Page 16<br />2008-01-11<br />Explotion of complexity<br />definition<br />design<br />implementation<br />Domain <br />imp...
small<br />big<br />semantic content<br />abstraction level<br />high<br />low<br />amount of semantics<br />The paradox o...
Agility with model<br />reality<br />Development process<br />Abstract core model 5 -15 dyas<br />Design<br />Implementati...
GUI<br />Application<br />Objects<br />Business<br />Objects<br />Persistent<br />Objects<br />Business objective<br />1<b...
GUI<br />Application<br />Objects<br />Business<br />Objects<br />Persistent<br />Objects<br />Generate<br />100%<br />10%...
Upcoming SlideShare
Loading in …5
×

Agile DDD Genuin Objects

406 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
406
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Agile DDD Genuin Objects

  1. 1. Agile Domain Driven DevelopmentGenuin Objects x. x. 2009<br />Genuin Object principles<br />
  2. 2. Page 2<br />2008-01-11<br />Agenda<br />Agile process and its variations<br />Object-Oriented paradigm its meaning is complexity management<br />3-layer architecture and code generation<br />Abstract Domain Driven Development<br />
  3. 3. Agile development <br />Counterstrick to waterfall design <br />
  4. 4. OO paradigm<br />Complete world view<br />
  5. 5. Page 5<br />2008-01-11<br />Logical 2-tier achtitecture<br />application<br />GUI<br />Same functionality<br />Is implemented almost the same way<br />many times<br />(aprox. repetition~ 10 )<br />Explotion<br />of complexity<br />RelaatioTK<br /><ul><li>Complicates the implementation over welmingly </li></ul>liiketoiminta<br />sovellustoiminta<br />
  6. 6. Application<br />Objects<br />Persistent<br />Objects<br />GUI<br />Business<br />Objects<br />Logical 3-tier structure of application<br />
  7. 7. Page 7<br />2008-01-11<br />Restaurant class diagram<br />
  8. 8. Page 8<br />2008-01-11<br />Restaurant collaboration diagram<br />
  9. 9. Page 9<br />2008-01-11<br />Why collaboration is simpler<br />Functional decomposition<br />Object collaboration<br />A<br />D<br />Trick A1<br />Trick A2<br />Trick D1<br />Trick D2<br />B<br />C<br />Trick B1<br />Trick B2<br />Trick C1<br />Trick C2<br />A<br />D<br />B<br />C<br />Two layer encapsulated and<br />collaborative complexity<br />Flat layer connection complexity<br />
  10. 10. Page 10<br />2008-01-11<br />Combining ER- and process models<br />OO-model<br />Two separate model higly difficult to combine<br />ER - model<br />Process model<br />
  11. 11. Page 11<br />2008-01-11<br />The overall viewpoint is dominative in nature <br />OO viewpoin leads to collaborative agent solution <br />Functional decomposition lead to timebase functiona decomposition and 2- layer soultions<br />Paradigm principle of Object Orientation<br />These approaches are mutually exclusive and<br /> can not be combined by their very paradigm nature<br />
  12. 12. Abstract model and 3-tiear solutuions<br />More controle of complexity<br />
  13. 13. Page 13<br />2008-01-11<br />Abrstract model – intersection of business dimensions<br />
  14. 14. Page 14<br />2008-01-11<br />Close (almost one-to-one) correlation with reality (simulation model) =&gt; easy to understand and verify<br /> Multy layer encapsulation bring order to chaos=&gt; object encapsulation collapses complexity<br />Inheritance expands possibilities=&gt;representation several abstraction levels in one model<br />The net result: the overall complexity of the model drops to square root or cubic root of the original<br />Priorities of Object-Oriented principles<br />
  15. 15. Abstract Domain Driven Development<br />
  16. 16. Page 16<br />2008-01-11<br />Explotion of complexity<br />definition<br />design<br />implementation<br />Domain <br />implemenstation<br />Application additions<br />Abstract domain modeling<br />Comparison between agile and waterfall project principal <br />Waterfall<br />implementation<br />definition<br />design<br />Tradition agile<br />Agile model driven<br />developmet<br />
  17. 17. small<br />big<br />semantic content<br />abstraction level<br />high<br />low<br />amount of semantics<br />The paradox of abstraction<br />
  18. 18. Agility with model<br />reality<br />Development process<br />Abstract core model 5 -15 dyas<br />Design<br />Implementations<br />
  19. 19. GUI<br />Application<br />Objects<br />Business<br />Objects<br />Persistent<br />Objects<br />Business objective<br />1<br />Abstract domain model<br />Business processes<br />Workflows<br />3<br />Use cases<br />Implementation<br />2<br />4<br />Implementation<br />Development process<br />
  20. 20. GUI<br />Application<br />Objects<br />Business<br />Objects<br />Persistent<br />Objects<br />Generate<br />100%<br />10%<br />80 %<br />Development process<br />
  21. 21. Business logic<br />Application logic<br />Business<br />Objects<br />Application<br />Objects<br />Screens<br />Persistence<br />Asymmetrically tightly coupled<br />Structure of 3-tier architecture<br />
  22. 22. Page 22<br />2008-01-11<br />Into the hard core of things<br />Understanding<br />Of Object<br />paradigm<br />1<br />Controled abstraction<br />and 3-tier architecture<br />2<br />Agility<br />3<br />Code <br />generation<br />4<br />

×