Slide 1

Slide 1 text

ιϑτ΢ΣΞઃܭͷ͢ʍΊ גࣜձࣾυϫϯΰ ٢ଜ૯Ұ࿠ (@sifue)

Slide 2

Slide 2 text

ιϑτ΢ΣΞઃܭΛ ͳͥ͢Δͷ͔ʁ

Slide 3

Slide 3 text

ͦ΋ͦ΋ઃܭͬͯ ඞཁͳͷʁ

Slide 4

Slide 4 text

ϓϩτλΠϐϯά͠ͳ͕Β࡞ͬͯ ͍͘ͳΒඞཁͳ͍Μ͡Όͳ͍ͷʁ

Slide 5

Slide 5 text

ͦ͏͡Όͳ͍৔߹΋͋Δ

Slide 6

Slide 6 text

ྫ͑͹ͲΜͳ͔࣌ ෳࡶͳཁ݅ΛѻΘͳͯ͘͸ͳΒͳ͍࣌ ߟྀͷൈ͚࿙Εͷ͠΍͍ෳࡶͳۀ຿༻݅ ແఀࢭϝϯςφϯεͳͲͷӡ༻ ଱ো֐ੑ ֦ுੑ ଟ͘ͷγεςϜͱ࿈ܞ

Slide 7

Slide 7 text

ෳࡶͳཁ݅Λ࣋ͭγεςϜ͸ɺ ݐங෺Ͱݴ͑͹ߴ૚ϏϧͷΑ͏ͳ΋ͷ ๲େͳݐங๏ ిؾ Ψε ۭௐ ؒऔΓͷ࢖͍উख (τΠϨͷ਺ʁ)

Slide 8

Slide 8 text

ෳࡶͳཁ݅ͷߟྀ͕ൈ͚͍ͯΔ৔߹ʹ͸ େ͖ͳίετΛ෷͏͜ͱʹͳΔ͜ͱ΋͋Δ

Slide 9

Slide 9 text

ݘখ԰ΛϓϩτλΠϐϯάͰ࡞ͬͯ ͦΕΛ֦ுɺվम͠ଓ͚Ε͹ߴ૚ϏϧʹͳΔ͔ʁ

Slide 10

Slide 10 text

ͳΒͳ͍ ౰ॳݘখ԰Ͱྑ͔ͬͨ΋ͷ͕ཁٻͷมߋͰ ߴ૚Ϗϧ͕ٻΊΒΕΔ൵͕ܶͦ͜ʹ͸͋Δ͕...

Slide 11

Slide 11 text

Ͱ͖Δͷ͸ϋ΢ϧͷಈ͘৓

Slide 12

Slide 12 text

க໋తͳ໰୊ʹͿͪ౰ͨΕ͹࡞Γ௚͕͠ඞཁ ͋Δ೔ಥવߟྀ࿙Εͷཁ݅ʹͿͪ౰ͨͬͯγεςϜఀࢭʹؕΔ͜ͱ΋

Slide 13

Slide 13 text

ɹͨͩٯʹཁ݅ͷিಥ͕ى͜Βͳ͍Α͏ͳ γϯϓϧͳཁ݅ͷϓϩμΫτͳΒ ϓϩτλΠϐϯάΛར༻ͨ͠ ΠϯΫϦϝϯτͳ։ൃ͸͔ͳΓ༗ޮ

Slide 14

Slide 14 text

ͱ͸͍͑ෳࡶͦ͏ͳ΋ͷ͸ ઃܭΛߟ͑Α͏

Slide 15

Slide 15 text

Ͱ΋ಥવιϑτ΢ΣΞઃܭ͠ΖͱݴΘ Εͯ΋ԿΛ͢Δ͔Α͘Θ͔Βͳ͍…

Slide 16

Slide 16 text

ͦΜͳํʹ͓͢͢ΊͷୈҰา

Slide 17

Slide 17 text

ਤΛॻ͍ͯΈΑ͏

Slide 18

Slide 18 text

ਤͱ͍ͬͯ΋ ॻ͖ํ͕Θ͔Βͳ͍…

Slide 19

Slide 19 text

ͦΜͳ͋ͳͨʹ ͓͢͢Ίͷه๏

Slide 20

Slide 20 text

UML

Slide 21

Slide 21 text

UMLͱ͸ ౷ҰϞσϦϯάݴޠ (Unified Modeling Language)ͱ͍͏ɺ1997೥ ʹબఆ͞Εͨੈքతʹར༻ Ͱ͖Διϑτ΢ΣΞͷͨΊ ͷઃܭਤͷॻ͖ํ ݱࡏ͸ɺUML 2.4.1͕࠷৽ Ͱ͋Γɺ13छྨͷਤͷॻ͖ ํΛར༻͢Δ͜ͱ͕Ͱ͖Δ

Slide 22

Slide 22 text

UML͕ͳ͍৔߹ͷਤ͸ ͲΜͳײ͔͡ʁ

Slide 23

Slide 23 text

࣮͸ಉ͡΋ͷΛද͍ͯ͠Δͷʹɺه๏͕ҧ͏ͨΊʹ࢛͕֯Ͳ ͏͍͏ҙຯͰɺؙ͕Ͳ͏͍͏ҙຯͰͱ͔ɺ྘ͷઢ͕͋ΕͰɺ ੨͍ઢ͕͋Εͱ͔Λຖճઆ໌͠ͳͯ͘͸͍͚ͳ͍ มಈඅ ࢧग़ ݻఆඅ ݄࣍ूܭαʔϏε Ոܭ฽ΞϓϦͷઃܭͷྫ

Slide 24

Slide 24 text

ͭΒ͍ ઃܭϨϏϡʔΛ͢Δલʹશһ͕ਤͷه๏Λཧղ͢Δ ͱ͜Ζ͔Β࢝·ΔɻઃܭϨϏϡʔʹ్த͔Β΍ͬͯ ͖ͨਓ͕ਤͷه๏͕Θ͔Βͳ͍...ɻ৽ͨʹjoinͨ͠ ϝϯόʔ΋ࢿྉΛݟͯҙຯ͕Θ͔Βͳ͍ɻ

Slide 25

Slide 25 text

UML͸ͦ͏͍͏໰୊Λ ղܾͯ͘͠Ε·͢ʂ

Slide 26

Slide 26 text

ͲΜͳਤ͕͋Δͷ͔ʁΑ͘࢖͏ͩΖ͏5ͭΛ঺հ Ϣʔεέʔεਤ: ཁ݅ͷߏ଄Λදݱ ίϯϙʔωϯτਤ: γεςϜߏ੒Λදݱ ύοέʔδਤ: ύοέʔδͷߏ੒Λදݱ Ϋϥεਤ: Ϋϥεͷؔ࿈Λදݱ ΞΫςΟϏςΟਤ: ϑϩʔνϟʔτͷΑ͏ͳ΋ͷ

Slide 27

Slide 27 text

Ϣʔεέʔεਤ Ոܭ฽ΞϓϦͷઃܭ

Slide 28

Slide 28 text

ίϯϙʔωϯτਤ Ոܭ฽ΞϓϦͷઃܭ

Slide 29

Slide 29 text

ύοέʔδਤ Ոܭ฽ΞϓϦͷઃܭ

Slide 30

Slide 30 text

Ϋϥεਤ Ոܭ฽ΞϓϦͷઃܭ

Slide 31

Slide 31 text

ΞΫςΟϏςΟਤ Ոܭ฽ΞϓϦͷઃܭ

Slide 32

Slide 32 text

͜Μͳ;͏ʹهड़Ͱ͖·͢

Slide 33

Slide 33 text

ਤ͸Θ͔͚ͬͯͲ ԿͰॻ͚͹ྑ͍ͷʁ

Slide 34

Slide 34 text

͓͢͢ΊͷUMLϞσϦϯάπʔϧ Gliffy Astah Community PlantUML

Slide 35

Slide 35 text

Gliffy ConfluenceͷϓϥάΠϯ ݁ߏ͖Ε͍ ਤ͕େ͖͘ͳΔͱॏ͍ ੍໿͕؇ΊͰUMLҎ֎ͷه ๏΋Ͱ͖Δ Ϋϥεਤͷྫ

Slide 36

Slide 36 text

Astah Community MacͱWinͰಈ͘Java੡ͷσ εΫτοϓΞϓϦ ϖʔδʹఴ෇͢Δͱ ConfluenceͰਤΛදࣔ΋Ͱ ͖Δ UMLʹҧ൓ͯ͠Δਤ͸ॻ͖ ʹ͍͘ Ϋϥεਤͷྫ

Slide 37

Slide 37 text

PlantUML ςΩετϕʔεͰUMLॻ͚ Δ(<|-- ͕ܧঝͱ͔) ࠷ۙྲྀߦͬͯΔ ConfluenceͰ΋هड़Մೳ GUIͷαϙʔτͳ͍ͷͰ UMLͷ࢓༷Λ஌͍ͬͯΔ ඞཁ͕͋Δ Ϋϥεਤͷྫ

Slide 38

Slide 38 text

Ҏ্঺հͨ͠πʔϧΛ࢖ͬͯιϑ τ΢ΣΞͷઃܭ΍ઃܭϨϏϡʔΛ ΍͍͖ͬͯ·͠ΐ͏ʂ

Slide 39

Slide 39 text

͓͢͢Ίຊ UMLͷຊͱ͍͏ΑΓ૯߹తͳιϑτ΢ΣΞ։ൃͷຊ

Slide 40

Slide 40 text

ઃܭͷ΍Γํ͸Θ͔͚ͬͨ Ͳɺ۩ମతʹԿ͢Δͷʁ

Slide 41

Slide 41 text

ઃܭͷ໨తͬͯԿʁ

Slide 42

Slide 42 text

ઃܭͱ͸ɺ ཁٻʹରͯ͠ɺૂͬͨཁ݅ΛઃఆͰ ͖ΔΑ͏ʹ͢Δ͜ͱɻਖ਼ղ͸ͳ͍ɻ

Slide 43

Slide 43 text

Α͘ग़ͯ͘Δઃܭϊ΢ϋ΢ γεςϜߏ੒ΛϨΠϠʔԽ͢Δ/͠ͳ͍ ϞδϡʔϧԽ͢Δ/͠ͳ͍ ϞδϡʔϧΛϨΠϠʔԽ͢Δ/͠ͳ͍ SOLIDݪଇΛकΔ/कΒͳ͍

Slide 44

Slide 44 text

γεςϜߏ੒ΛϨΠϠʔԽ͢Δ/͠ͳ͍ ଟ૚ΞʔΩςΫνϟ ϨΠϠ͝ͱ͸ૄ݁߹ʹ͢Δ ӈ͸3૚+LBͷྫ ϨΠϠຖʹ࠶ىಈߋ৽Ͱ͖Δ ϨΠϠ͝ͱͰ୆਺Λ૿΍͠ෛՙΛί ϯτϩʔϧͰ͖Δ ϨΠϠ͕૿͑Δͱ؅ཧίετ͸૿͑ Δ

Slide 45

Slide 45 text

ϞδϡʔϧԽ͢Δ/͠ͳ͍ ൚༻αϒϞδϡʔϧΛ͘͘Γग़ ͤɺॏෳ͕ݮͬͯอकίετ͕ Լ͕Δ Ϟδϡʔϧ͝ͱͰਓΛׂΓ౰ͯ ΔͷͰߋ৽িಥ͕গͳ͘ͳΔ ϞδϡʔϧԽ͢Δ͜ͱͰ։ൃί ετ͸૿͑Δ

Slide 46

Slide 46 text

ϞδϡʔϧΛϨΠϠʔԽ͢Δ/͠ͳ͍ DDDͷϨΠϠʔԽΞʔΩςΫ νϟͷྫ ϏδωεϩδοΫ(domain૚) ͕application૚΍ui૚ͷϑ ϨʔϜϫʔΫͷVerUP౳ͷมߋ Λ͏͚ͳ͍ ґଘؔ܎ͷڧ੍ΛकΔͨΊʹґ ଘؔ܎ͷٯసଇͱ͔Λ࢖Θͳ͘ ͯ͸͍͚ͳ͍ͳͲߴίετ

Slide 47

Slide 47 text

SOLIDݪଇΛकΔ/कΒͳ͍ ҎԼ͸ɺίετͱ࠶ར༻ੑͷτϨʔυΦϑͱͳΔ ୯Ұ੹຿ͷݪଇ: ͍Ζ͍Ζ΍ΔΫϥεΛ࡞Βͳ͍ ΦʔϓϯΫϩʔζυͷݪଇ: ঢ়ଶͷมߋ͔Β͸कΓɺΫϥε ͷࣗମͷ֦ுΛఏڙ͢Δ Ϧείϑͷஔ׵ݪଇ: ܧঝ͸ҙຯͱͯ͠਌ͱࢠͷަ׵ՄೳͰ ͋ΔΑ͏ͳΫϥεઃܭʹ͢Δ ґଘؔ܎ٯసͷݪଇ: ΠϯλʔϑΣʔεΛ࢖ͬͯϨΠϠؒͷ ґଘؔ܎ΛҰํ޲ʹ͢Δ ΠϯλʔϑΣʔεͷ෼཭ͷݪଇ: ಺෦࣮૷ΛӅ΃͍͢Δ

Slide 48

Slide 48 text

ґଘؔ܎ٯసͷݪଇͷྫ ΠϯλʔϑΣʔεΛ࡞ͬͯͦΕΛґଘઌͰ࣮૷͢Δ

Slide 49

Slide 49 text

ద੾ͳઃܭͷ໨తΛՌͨͨ͢Ίͷ ৭ʑͳύλʔϯ͕͋ΔͷͰͥͻ୳ͯ͠Έ͍ͯͩ͘͞ ϚʔνϯɾϑΝ΢ϥʔͷϦϑΝΫλϦϯά GoFͷσβΠϯύλʔϯ PoEAA ΤϦοΫɾΤϰΝϯεͷυϝΠϯۦಈઃܭ Lean architecture Microservices

Slide 50

Slide 50 text

ཁ݅࿙Ε/িಥ͕ى͜Βͳ͍Α͏ɺ։ൃऀ ͷૂ͍௨Γʹ։ൃ͍͚ͯ͠ΔΑ͏͔ͬ͠Γ ϨϏϡʔ͠ͳ͕Βߟ͍͖͑ͯ·͠ΐ͏ʂ

Slide 51

Slide 51 text

Ҏ্ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠