概念モデリング再入門 + ddd

Download 概念モデリング再入門 + DDD

Post on 17-Aug-2015

257 views

Category:

Software

1 download

Embed Size (px)

TRANSCRIPT

  1. 1. ULS Powered byCopyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential + DDD
  2. 2. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by DDD()
  3. 3. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 1. 2. DDD 3. 3
  4. 4. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by
  5. 5. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by UML () ()
  6. 6. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 1. 2. 3. 4. 6
  7. 7. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 7
  8. 8. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 8 // B/S (B/S: Balance Sheet) P/L (P/L: Profit and Loss Statement)
  9. 9. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 9
  10. 10. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by )2 10
  11. 11. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by
  12. 12. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by NG(1) UML (=) 12 1 11 0..1 0..* 1 0..1
  13. 13. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by NG(2) 2 2 () () 13
  14. 14. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by NG(3) 3 1. 2. 3. 2 14 - - - - * + 1 * + 1 1 * 1 * - - - * + 1 * + 1+ 1 * * + 1 * + 1 * + 1 + 1 * * + 1
  15. 15. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (1) 5W3H 5W3H 15 5W3H When() Who) Whom() What() Where() How() How much() How many() - - - - - 1 * *1 *0..1 * 1 * 1 * 1 - - - - - 1 * * 1 * + 1..* * + 1 + 1* 1 * *1 1 * 5W3H
  16. 16. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (2) 2 16 1 * ** 1 * *1
  17. 17. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (3) () 17 1( ) * 1 * 1 * * 1
  18. 18. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (4) 2 2 18 2 1 * 1 * 1 0..1 1 0..1 1 * 1 + * 1 +0..1
  19. 19. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (5) 19 3 3 * + 1 * + 1 * + 0..1 *1 *1 *1 UML 1 () 1 * * + 1 + 1 * * + 1 1 *
  20. 20. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (6) 20 () () 1 * 1 * () - - () - VIN - - () US (&) / 1 + * 10..11 0..1 1 * 1 * 1 *
  21. 21. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (7)-(1) 21 - - - - - + 1 * * + 1 1 * * + 1 *1 1 1..* * 1 1 1..* *0..1 * + 1
  22. 22. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (7)-(2) 22 - - - - - 1 * * + 1 + 1 * 1 * * + 1 * + 1 1 * 1 * 1 0..1 1 * 1 * *0..1 1 * 0..1 * 1 *
  23. 23. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (8)-(1) () 23 1 * 1 0..* 10..* 1 * 1 * 1 * 1 *
  24. 24. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by (8)-(2) 24 1 * * 1 * 1 * 1 10..* 1 * 1 * 1 * 1 0..* 1 * 1 * * 1
  25. 25. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by 1 2 & 1 * *1 1 * 1 1..2 1 * 1 * * 1 (8)-(3) 25
  26. 26. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by
  27. 27. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by
  28. 28. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Why DDD? DRY(Dont Repeat Yourself) PofEAA(Pattern of Enterprise Application Architecture)3 DRY (Transaction Script) (Table Module) (Domain Model) DDD
  29. 29. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by DDD DDD EntityValueObject2 DomainService DomainService 29 DDD Application Service Domain Service Entity Value Object RepositoryFactory
  30. 30. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by GRASP 30 Entity, Value Object Entity(Aggregation) Application Service Domain Service GRASP(General Responsibility Assignment Software Patterns) UML Information Expert
  31. 31. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Value Object (10) Stringsubstring (Value Object)is()is ()substring 1 3 ValueObject EntityEntity Entity ()Value Object 31
  32. 32. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Entity(1) Entitygetter, setter Entity Entity DDD Entity 32
  33. 33. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Entity(2) 33 Entity - - - - - (, ) + (, , , ) - getEntity() - getAllEntity() + () + (, ) + () + () - getEntity() + get() - getEntity() + get() + get() + get() + calc() + calc() + is() + is() + is() + is() + is() + is() + is() - - - - - - - - - - - - - getEntity() + get() + calc() + is() + () - - * 1 1..* 1 *1 * 1
  34. 34. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Entity(3) EntityDont talk to strangers. ()Entity Entity 34 1 1.Entity1Entity 2.EntityEntity 3.Entity UI 1.getEntity() 2.getEntity() 3.get() (, ) 3
  35. 35. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Entity(4) GRASPInformation ExpertEntity EntityDDDAggregation Dont talk to strangers. 35 1 UI 1 1.Entity1 1.1.Entity1Entity 1.2.Entity 1.2.1EntityEntity 1.2.2.Entity 1.get() 1.1.getEntity() 1.2.get() 1.2.1.getEntity() 1.2.2.get() (, )
  36. 36. ULS Copyright 2015 UL Systems, Inc. All rights reserved. Proprietary & Confidential Powered by Entity(5) setter Entitysetter GRASPCreatorEntity ()Entity() 36 Entitysetter UI 1 1.Entity 1.1.Entity 1.1.1.Entity() 1.1.1.Entity1Entity 1.1.3.Entity) [] 1.2.Entity1Entity 1.3.EntityEntity 1.3.1.Entity) [] 1.3.2.Entity 1.3.3.Entityupdate (, , ) 1.(, ) 1.1.is() 1.1.1.is() 1.1.3.is() 1.1.2.getEntity() [True]:1.2.getEntity() 1.3.() 1.3.1.is() [False]:1.3.2.setValue() 1.3.3.update()