Share
Embed
ソフトウェアアーキテクチャ・ ハードパーツ: Software Architecture The Hard Parts
ソフトウェアアーキテクチャ・ハードパーツ - Forkwell Library #12 での発表資料です
https://forkwell.connpass.com/event/265858/
動画: https://www.youtube.com/watch?v=6eCiC8oISYc
#Forkwell_Library
Koji SHIMADA PRO
November 29, 2022
Video
Transcript
64 slides
-
Vision IT Systems Teams Organization Management Execution Management Business Process
Talent Development ENISHI TECH INC. -
ʰιϑτΣΞΞʔΩςΫνϟͷجૅʱ ୈ*෦جૅ ɾΞʔΩςΫνϟࢥߟ ɾϞδϡʔϧੑ ɾΞʔΩςΫνϟಛੑ ɾΞʔΩςΫνϟಛੑΛ໌Β͔ʹ͢Δ ɾΞʔΩςΫνϟಛੑͷܭଌͱ౷੍ ɾΞʔΩςΫνϟಛੑͷείʔϓ ɾίϯϙʔωϯτϕʔεࢥߟ ୈ**෦ΞʔΩςΫνϟελΠϧ
ɾϨΠϠʔυΞʔΩςΫνϟ ɾύΠϓϥΠϯΞʔΩςΫνϟ ɾϚΠΫϩΧʔωϧΞʔΩςΫνϟ ɾαʔϏεϕʔεΞʔΩςΫνϟ ɾΠϕϯτۦಈΞʔΩςΫνϟ ɾεϖʔεϕʔεΞʔΩςΫνϟ ɾΦʔέετϨʔγϣϯۦಈαʔϏεࢦΞʔΩςΫνϟ ɾϚΠΫϩαʔϏεΞʔΩςΫνϟ ɾదͳΞʔΩςΫνϟελΠϧΛબͿ ୈ***෦ςΫχοΫͱιϑτεΩϧ ɾΞʔΩςΫνϟܾఆ ɾΞʔΩςΫνϟ্ͷϦεΫΛੳ͢Δ ɾΞʔΩςΫνϟͷਤղϓϨθϯςʔγϣϯ ɾޮՌతͳνʔϜʹ͢Δ ɾަবͱϦʔμʔγοϓͷεΩϧ ɾΩϟϦΞύεΛ։͘ -
ιϑτΣΞΞʔΩςΫνϟ্ͷܾఆࠔʢϋʔυʣ w ΞʔΩςΫτ͕໘͢Δͷɺࣄۀ৫తͳڥʹظతʹӨڹΛ༩͑ɺ૬ޓʹӨڹΛ ༩͑߹͏ࠔͳ w lΞʔΩςΫνϟͱɺ(PPHMFͰ͑Λݟ͚ͭΒΕͳ͍ͷͩ ιϑτΣΞΞʔΩςΫνϟݎ͍ʢϋʔυʣ w ιϑτΣΞΞʔΩςΫνϟͱɺιϑτΣΞͷιϑτͳ෦ͷͱͳΔϋʔυͳ෦ w
lιϑτΣΞΞʔΩςΫνϟͱɺޙ͔Βมߋ͢Δͷ͕͍͠෦ͷ͜ͱͰ͋Δ lιϑτΣΞΞʔΩςΫνϟɾϋʔυύʔπz -
ιϑτΣΞΞʔΩςΫνϟ্ͷܾఆࠔʢϋʔυʣ w ΞʔΩςΫτ͕໘͢Δͷɺࣄۀ৫తͳڥʹظతʹӨڹΛ༩͑ɺ૬ޓʹӨڹΛ ༩͑߹͏ࠔͳ w lΞʔΩςΫνϟͱɺ(PPHMFͰ͑Λݟ͚ͭΒΕͳ͍ͷͩ ιϑτΣΞΞʔΩςΫνϟݎ͍ʢϋʔυʣ w ιϑτΣΞΞʔΩςΫνϟͱɺιϑτΣΞͷιϑτͳ෦ͷͱͳΔϋʔυͳ෦ w
lιϑτΣΞΞʔΩςΫνϟͱɺޙ͔Βมߋ͢Δͷ͕͍͠෦ͷ͜ͱͰ͋Δ lιϑτΣΞΞʔΩςΫνϟɾϋʔυύʔπz Ͳ͏ͬͯม͍͔͑ͯ͘ Ͳ͏͍͔ͬͯ͑ͯ͘ -
4ZTPQT4RVBEαʔΨ Λଟ๊͑ͨ͘ϨΨγʔͰେنͳϞϊϦγοΫγεςϜͷΛʢࢄγεςϜʹ͢Δ͜ ͱͰʣͲ͏ղܾ͍͔ͯ͘͠ ސ٬ 4ZTPQT4RVBEΤΩεύʔτ ผγεςϜ Ϛωʔδϟʔ γεςϜཧऀ w Ϣʔβʔొ
w νέοτ࡞ w Ξϯέʔτొ w νέοτׂΓͯ w νέοτྃ w φϨοδϕʔεݕࡧ w Ϣʔβʔཧ w ΤΩεύʔτཧ w Ϩϙʔτ࡞ w ٻॲཧ -
ɹষʮϕετϓϥΫςΟεʯ͕ͳ͍ͱͲ͏ͳΔʁ ɹষιϑτΣΞΞʔΩςΫνϟʹ͓͚Δ݁߹ͷݟ͚ͭํ ɹষιϑτΣΞΞʔΩςΫνϟͷϞδϡʔϧԽ ɹষΞʔΩςΫνϟͷղ ɹষίϯϙʔωϯτϕʔεղύλʔϯ ɹষۀσʔλͷղ ɹষαʔϏεͷཻ ɹষ࠶ར༻ύλʔϯ ɹষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε
ষࢄϫʔΫϑϩʔͷཧ ষτϥϯβΫγϣφϧαʔΨ ষίϯτϥΫτ ষੳσʔλͷཧ ষಠࣗͷτϨʔυΦϑੳΛߏங͢Δ 4ZTPQT4RVBEαʔΨͰͷΤϐιʔυΛϕʔεʹ ΞʔΩςΫνϟ্ͷʹऔΓΜͰ͍͘ -
ɹষʮϕετϓϥΫςΟεʯ͕ͳ͍ͱͲ͏ͳΔʁ ɹষιϑτΣΞΞʔΩςΫνϟʹ͓͚Δ݁߹ͷݟ͚ͭํ ɹষιϑτΣΞΞʔΩςΫνϟͷϞδϡʔϧԽ ɹষΞʔΩςΫνϟͷղ ɹষίϯϙʔωϯτϕʔεղύλʔϯ ɹষۀσʔλͷղ ɹষαʔϏεͷཻ ɹষ࠶ར༻ύλʔϯ ɹষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε
ষࢄϫʔΫϑϩʔͷཧ ষτϥϯβΫγϣφϧαʔΨ ষίϯτϥΫτ ষੳσʔλͷཧ ষಠࣗͷτϨʔυΦϑੳΛߏங͢Δ 4ZTPQT4RVBEαʔΨͰͷΤϐιʔυΛϕʔεʹ ΞʔΩςΫνϟ্ͷʹऔΓΜͰ͍͘ ϞϊϦγοΫͳγεςϜΛͲ͏ղ͍͔ͯ͘͠ -
ɹষʮϕετϓϥΫςΟεʯ͕ͳ͍ͱͲ͏ͳΔʁ ɹষιϑτΣΞΞʔΩςΫνϟʹ͓͚Δ݁߹ͷݟ͚ͭํ ɹষιϑτΣΞΞʔΩςΫνϟͷϞδϡʔϧԽ ɹষΞʔΩςΫνϟͷղ ɹষίϯϙʔωϯτϕʔεղύλʔϯ ɹষۀσʔλͷղ ɹষαʔϏεͷཻ ɹষ࠶ར༻ύλʔϯ ɹষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε
ষࢄϫʔΫϑϩʔͷཧ ষτϥϯβΫγϣφϧαʔΨ ষίϯτϥΫτ ষੳσʔλͷཧ ষಠࣗͷτϨʔυΦϑੳΛߏங͢Δ 4ZTPQT4RVBEαʔΨͰͷΤϐιʔυΛϕʔεʹ ΞʔΩςΫνϟ্ͷʹऔΓΜͰ͍͘ ϞϊϦγοΫͳγεςϜΛͲ͏ղ͍͔ͯ͘͠ ࢄγεςϜͰ໘͢ΔΛͲ͏ܾఆ͍͔ͯ͘͠ -
ɹষʮϕετϓϥΫςΟεʯ͕ͳ͍ͱͲ͏ͳΔʁ ɹষιϑτΣΞΞʔΩςΫνϟʹ͓͚Δ݁߹ͷݟ͚ͭํ ɹষιϑτΣΞΞʔΩςΫνϟͷϞδϡʔϧԽ ɹষΞʔΩςΫνϟͷղ ɹষίϯϙʔωϯτϕʔεղύλʔϯ ɹষۀσʔλͷղ ɹষαʔϏεͷཻ ɹষ࠶ར༻ύλʔϯ ɹষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε
ষࢄϫʔΫϑϩʔͷཧ ষτϥϯβΫγϣφϧαʔΨ ষίϯτϥΫτ ষੳσʔλͷཧ ষಠࣗͷτϨʔυΦϑੳΛߏங͢Δ ϞϊϦγοΫͳγεςϜΛͲ͏ղ͍͔ͯ͘͠ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔
ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ
αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔ αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔
ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ σʔλ߹ੑΛ Ͳ͏֬อ͢Δ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔
αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ σʔλ߹ੑΛ Ͳ͏֬อ͢Δ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔
αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ σʔλ߹ੑΛ Ͳ͏֬อ͢Δ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔
αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ ষ࠶ར༻ύλʔϯ ̓ষαʔϏεͷཻ ̕ষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε ষࢄϫʔΫϑϩʔͷཧ ষίϯτϥΫτ ষτϥϯβΫγϣφϧαʔΨ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ σʔλ߹ੑΛ Ͳ͏֬อ͢Δ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔
αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ ষ࠶ར༻ύλʔϯ ̓ষαʔϏεͷཻ ̕ষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε ষࢄϫʔΫϑϩʔͷཧ ষίϯτϥΫτ ষτϥϯβΫγϣφϧαʔΨ -
αʔϏεͷཻɺཻղཁҼͱཻ౷߹ཁҼͷόϥϯεʹΑܾͬͯఆ͞ΕΔ w αʔϏεͷൣғͱػೳ w ίʔυมಈ w εέʔϥϏϦςΟͱεϧʔϓοτ w ֦ுੑ w
োੑ w ηΩϡϦςΟ w σʔλϕʔετϥϯβΫγϣϯ w ϫʔΫϑϩʔͱίϨΦάϥϑΟ w ڞ༗ίʔυ w σʔλؔ -
αʔϏεͷཻɺཻղཁҼͱཻ౷߹ཁҼͷόϥϯεʹΑܾͬͯఆ͞ΕΔ w αʔϏεͷൣғͱػೳ w ίʔυมಈ w εέʔϥϏϦςΟͱεϧʔϓοτ w ֦ுੑ w
োੑ w ηΩϡϦςΟ w σʔλϕʔετϥϯβΫγϣϯ w ϫʔΫϑϩʔͱίϨΦάϥϑΟ w ڞ༗ίʔυ w σʔλؔ ཧ ݱ࣮ -
σʔλॴ༗ݖΛ Ͳ͏ׂΓͯΔ͔ σʔλ߹ੑΛ Ͳ͏֬อ͢Δ͔ ϫʔΫϑϩʔΛ Ͳ͏࣮ݱ͢Δ͔ ڞ௨తͳίʔυΛ Ͳ͏ѻ͏͔ ॴ༗͍ͯ͠ͳ͍σʔλʹ Ͳ͏ΞΫηε͢Δ͔
αʔϏεͷదͳཻΛ Ͳ͏ݟ͚ͭΔ͔ ຌྫ ӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ αʔϏεؒ௨৴ͷ ํࣜΛͲ͏͢Δ͔ ίϯτϥΫτ ಉظඇಉظ બࢶʹΑͬͯӨڹΛड͚Δߟྀ͢Δඞཁ͕͋Δ ࢄγεςϜͷ࣮ݱͰ໘͢Δ͞·͟·ͳྗͱτϨʔυΦϑ ষ࠶ར༻ύλʔϯ ̓ষαʔϏεͷཻ ̕ষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε ষࢄϫʔΫϑϩʔͷཧ ষίϯτϥΫτ ষτϥϯβΫγϣφϧαʔΨ -
ɹষʮϕετϓϥΫςΟεʯ͕ͳ͍ͱͲ͏ͳΔʁ ɹষιϑτΣΞΞʔΩςΫνϟʹ͓͚Δ݁߹ͷݟ͚ͭํ ɹষιϑτΣΞΞʔΩςΫνϟͷϞδϡʔϧԽ ɹষΞʔΩςΫνϟͷղ ɹষίϯϙʔωϯτϕʔεղύλʔϯ ɹষۀσʔλͷղ ɹষαʔϏεͷཻ ɹষ࠶ར༻ύλʔϯ ɹষσʔλͷॴ༗ݖͱࢄτϥϯβΫγϣϯ ষࢄσʔλΞΫηε
ষࢄϫʔΫϑϩʔͷཧ ষτϥϯβΫγϣφϧαʔΨ ষίϯτϥΫτ ষੳσʔλͷཧ ষಠࣗͷτϨʔυΦϑੳΛߏங͢Δ 4ZTPQT4RVBEαʔΨͰͷΤϐιʔυΛϕʔεʹ ΞʔΩςΫνϟ্ͷʹऔΓΜͰ͍͘