Upgrade to Pro — share decks privately, control downloads, hide ads and more …

組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?

組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?

要求仕様の理解で苦しんだ経験から要求仕様を理解するためのヒントを共有させてください。

84931a5617d844ecfda982721de3a9e9?s=128

k-abe

May 17, 2022
Tweet

More Decks by k-abe

Other Decks in Technology

Transcript

  1. ʲ࿈ଓߨ࠲ #1ʳཁٻ࢓༷Λਖ਼͘͠ཧղ͢ Δʹ͸ʁ 2022/5/17 ύʔιϧςΫϊϩδʔελοϑגࣜձࣾ Ѩ෦ߞೋ koji.abe@persol.co.jp ૊ΈࠐΈιϑτ΢ΣΞجૅ 1

  2. • ࣗݾ঺հ • ࢀՃऀҰݴίϝϯτ • ߨ࠲։࠵ͷഎܠɾ໨త • ຊ೔ͷςʔϚʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ • ࢀՃऀײ૝

    • ࣍ճ༧ࠂ ໨࣍ 2
  3. • Ѩ෦ɹߞೋʢ͋΂ɹ͜͏͡ʣ • ٕज़ຊ෦ɹػిٕज़෦ɹट౎ݍ2G • koji.abe@persol.co.jp • ҩྍػث։ൃ • ૊ࠐΈιϑτ΢ΣΞ։ൃɻCݴޠɺϕΞϝλϧͷ։ൃۀ຿ܦݧ͕΄ͱΜ

    Ͳɻ ࣗݾ঺հ 3
  4. ࣗ͝༝ʹҰݴίϝϯτ͍͚ͨͩ·͢ͱ͋Γ͕͍ͨͰ͢ɻ ྫ) ໊͓લ ྫ) ࠓճͷߨ࠲ʹظ଴͢Δ͜ͱ ྫ) ͓࢓ࣄ಺༰(࿩ͤΔൣғͰ) ྫ) ιϑτ΢ΣΞ։ൃ୲౰޻ఔ(ཁٻ࢓༷ͷఆٛ?ઃܭ?࣮૷?ςετ?) ࢀՃऀҰݴίϝϯτ

    4
  5. • ͳʹ͔ςʔϚΛܾΊͯɺιϑτ΢ΣΞ։ൃͷ্ྲྀ޻ఔ͔ΒԼྲྀ޻ఔ·Ͱઆ໌ ͢Δߨ࠲Λ։࠵͠ɺεΩϧΞοϓΛਤΔɻ ɹ˙ཁٻ࢓༷ͷཧղɹ˒͍·͜͜ ɹ˙ཁٻ࢓༷ͷ࢓༷Խ ɹ˙ઃܭ ɹ˙ςετ ɹ˙࣮૷ ߨ࠲։࠵ͷഎܠɾ໨త 5

  6. ςʔϚɿ ʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢ Δʳ ※ࠓճ͸ςʔϚʹґଘ͠ͳ͍಺༰Ͱ͢ɻ ߨ࠲։࠵ͷഎܠɾ໨త 6

  7. ςʔϚɿʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢Δʳ ର৅૷ஔɿCQ EVΧʔτ എܠɿ ɾߨࢣ͕͓࣋ͬͯΓɺର৅૷ஔͷυϝΠϯ஌ࣝΛཧղ͍ͯ͠Δɻ ɾιϑτ΢ΣΞͷߏ଄Λཧղ͍ͯ͠Δɻ ɾର৅૷ஔͷϚΠίϯ͕ੜ࢈தࢭʹͳͬͨɻ ɹ⇛ֶशɾεΩϧΞοϓͷͨΊผϚΠίϯʹҠ২ͯ͠ΈΑ͏!!!ɹ ߨ࠲։࠵ͷഎܠɾ໨త 7

  8. • ·ͣ͸༻ޠͷఆ͔ٛΒɻ ɾʲཁٻ࢓༷ʳ ɾʲ࢓༷ʳ ͜ͷ༻ޠΛͲ͏ೝ͍ࣝͯ͠·͔͢? ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 8

  9. ͜ͷߨ࠲Ͱ͸࣍ͷఆٛΛ͠·͢ɻ ▪ʲཁٻ࢓༷ʳɿ૷ஔɾγεςϜ͕࣮ݱ͍ͨ͠໨త ɹ˔ɹʙ͍ͨ͠ɺͳͲཁٻΛࣔ͢ݴ༿Ͱදݱ͢Δɻ ▪ʲ࢓༷ʳɿཁٻ࢓༷Λ࣮ݱ͢ΔͨΊͷ۩ମతखஈ ɹ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 9

  10. ▪ཁٻ࢓༷Λਖ਼͘͠ཧղ͠ͳ͍͜ͱͰى͖Δฐ֐ •ཁٻ࢓༷Λཧղ͢ΔͨΊʹ࣌ؒΛ࢖͏ɿ޻਺ͷ૿Ճ •࡞ۀͷग़໭Γɿ޻਺ͷ૿Ճ •ཁٻ࢓༷ఆٛଆ-ཁٻ࢓༷ಡΈखͷؔ܎ੑѱԽɿ඼࣭ͷ௿Լ ɹྑ͍΋ͷΛ࡞Δͱ͍͏ࢥ͍͸྆ऀͰҰக͍ͯ͠Δ͸ͣͳͷʹɾɾɾ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 10

  11. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ ɹཁٻ࢓༷ͷཧղͰۤ͠Μͩܦݧ͔ΒղܾҊΛڞ༗͍ͤͯͩ͘͞͞ɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 11

  12. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 12
  13. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 13
  14. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ ▪ݱ৅ •ཁٻ࢓༷ͷهࡌ͕ෳ਺ͷ࢓༷ॻʹॏෳͯ͠هࡌ͞Ε͍ͯΔɻ ɾ࢓༷ॻͷϝϯς๨ΕʹΑΓཁٻ࢓༷ʹໃ६͕ੜ͡Δɻ ɾෳ਺࢓༷ॻͷϝϯς͕େมɻ ▪ղܾࡦ ɹཁٻ࢓༷͸ॏෳ͠ͳ͍Α͏ʹهࡌ͢Δɻ ɹɹ⇛DRYݪଇͱಉ͡Ͱ͢Ͷɻ

    ɹ࢓༷ॻͷߏ੒ΛͲ͏͢Δ͔?͸։ൃνʔϜͷϧʔϧܾΊ͕ඞཁ͔ͱࢥ͏ɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 14
  15. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 15
  16. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 2) υϝΠϯ஌ࣝͷଐਓԽ ▪ݱ৅ ɹର৅ιϑτ΢ΣΞͷυϝΠϯ஌ࣝɾཁٻ࢓༷͕νʔϜʹڞ༗͞Ε͓ͯΒͣɺಛఆͷਓͷ಄ͷதʹ͔͠ͳ ͍ɻ ▪ղܾࡦ •ଐਓԽ͍ͯ͠Δཧ༝(※)Λ໌֬ʹͨ͠ޙɺಛఆͷਓͷυϝΠϯ஌ࣝΛڞ༗͢Δ৔Λઃ͚Δɻ ɹ˞ಛఆͷਓ͕ۀ຿աଟͰ͋Ε͹ۀ຿ͷௐ੔Λߦ͏ͳͲ ɹؔ܎ऀ͕υϝΠϯ஌ࣝΛڞ༗Ͱ͖ΔφϨοδɾwikiͳͲΛ੔උ͢Δɻ

    ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 16
  17. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 17
  18. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 3) ৘ใෆ଍ ▪ݱ৅ ɹཁٻͷཧ༝ɾഎܠ͕Θ͔Βͳ͍ͨΊ࢓༷ԽͰ͖ͳ͍ɻ ▪ղܾࡦ ɹ࢓༷Խɺઃܭ͕ਐΊΒΕΔཻ౓Ͱཁٻ࢓༷Λ੔ཧɾهࡌ͢Δɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 18

  19. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 3) ৘ใෆ଍ ▪ࣄྫ •ཁٻ࢓༷ͷهࡌྫɿxx௨৴ͷσʔλΛ1ඵؒૹ৴͍ͯͩ͘͠͞(※)ɻ ɹલఏͱͯ͠xx௨৴ͷσʔλͷૹ৴पظ͸400msɻ •ࣄྫͷղܾࡦ ɹ1ඵؒ௒աͰྑ͍ͷ͔ɺ௒աͯ͠͸͍͚ͳ͍ͷ͔ɺ1ඵؒͷൣғΛ໌֬ʹ͢Δɻ ɹ(800msͰྑ͍ͷ͔?ͦΕͱ΋1.2sͰ΋ྑ͍ͷ͔?ͦΕͱ΋1sec±xx msec͡Όͳ͍ͱବ໨ͳͷ͔

    ) ※ཁٻ࢓༷ͷஈ֊Ͱ௨৴σʔλͷपظ·Ͱఆٛ͢Δ͜ͱ͸۩ମత͗ͯ͢;͞Θ͘͠ͳ͍ؾ͕͢Δ͕ࣄྫ ͷઆ໌ͱ͍͏͜ͱͰɻཁٻͷ࢓༷ԽͷϑΣʔζͰ্هͷૹ৴࣌ؒͷ࢓༷Λ໌֬ʹ͢Δͷ͕ଥ౰͔΋͠Ε ͳ͍ɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 19
  20. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 20
  21. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 4) هࡌͷཻ౓ ▪ݱ৅ ɹهड़ͷཻ౓ɾந৅౓͕౷Ұ͞Ε͍ͯͳ͍ɻ ▪ղܾࡦ ɹهड़ͷཻ౓ɾந৅౓Λཁٻ࢓༷ॻΛهࡌ͢ΔલʹܾΊ͓ͯ͘ɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 21

  22. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 22
  23. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 5) දهͷ༳Ε ▪ݱ৅ ɹྨࣅͷཁٻ࢓༷ͷهࡌ͕౷Ұ͞Ε͍ͯͳ͍ɻͦͷͨΊʹཁٻ࢓༷ͷղऍɾ֬ೝ ʹ͕͔͔࣌ؒΔɻ ▪ղܾࡦ ɹཁٻ࢓༷ͷղऍ͕ҰҙʹͳΔΑ͏هࡌ͢Δɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ

    23
  24. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 5) දهͷ༳Ε ▪ࣄྫ •ෆ౳߸ ɾxx-1 ཁٻ࢓༷: 100Ҏ্Ͱxx͕ൃੜɻ ɾxx-2 ཁٻ࢓༷:

    200ະຬͰxx͕ൃੜɻ ɹxx-1ͱxx-2ͷཁٻ࢓༷Ͱ৚݅ͷ͖͍͠஋͕ҟͳ͍ͬͯΔɻ ɹҙਤ͍ͯ͠Δͷ͔?ͦΕͱ΋ޡهͳͷ͔? ɹରࡦͱͯ͠࢓༷ॻͷ๯಄Ͱཁٻ࢓༷ܾఆͷཧ༝ɾϙϦγʔΛ໌ه͢Δɺෆ౳߸Ͱཁٻ࢓༷Λهࡌ͢ΔͳͲɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 24
  25. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 5) දهͷ༳Ε ▪ෆ౳߸ͷࣄྫ ɹҎ্ɺະຬɺ௒աͰಈ͖ʹ໰୊ͳ͍͜ͱ͸༧૝͍͕ͯͨ͠ɺݕূ͢Δଆ ͸࢓༷͕༳Ε͍ͯͨΒݕূͰ͖ͳ͍ɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 25

  26. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 26
  27. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 6) ໨తͰ͸ͳ͘खஈ͕هࡌ ▪ݱ৅ ɹཁٻ࢓༷͕ʲ໨తʳͰ͸ͳ͘ʲ࣮ݱखஈʳ͕ॻ͔Ε͍ͯΔɻ ▪ղܾࡦ ɹ໨తϕʔεͷදݱ(ʙ͍ͨ͠)Ͱཁٻ࢓༷ॻΛهࡌ͢Δɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 27

  28. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 6) ໨తͰ͸ͳ͘खஈ͕هࡌ ▪ࣄྫ ɹ2஋(ͨͱ͑͹εΠονͷONɾOFF)ͷ৘ใΛཁٻ࢓༷ॻʹදݱ͢Δࡍʹʲxxxϑϥάʳͱه ࡌ͍ͯ͠Δɻ ʲxxxϑϥάʳ͸໨తͰ͸ͳ͘ɺϓϩάϥϜͷ࣮૷ʹϑΥʔΧεͨ͠දݱɻ ཁٻ࢓༷ॻͷهࡌΛͦͷ··࣮૷Ͱ΋Ҿ༻͠ϑϥάʹ͢Δɺͱ͍͏͜ͱ΋ى͜Δ͔΋͠Εͳ ͍(ઃܭɾ࣮૷޻ఔͰݕ౼ͨ݁͠Ռɺϑϥάʹ͢Δͷ͕࠷దͰ͋Ε͹ͦΕͰྑ͍ͱࢥ͏)ɻ ϑϥάʹ͢Δ͔ɾ൱͔࠷దͳ࣮ݱखஈ͸ཁٻ࢓༷ͷఆٛΑΓޙͷ޻ఔͰٞ࿦͢Δ͜ͱɻ

    ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 28
  29. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 1) ཁٻ࢓༷ͷॏෳهࡌ 2) υϝΠϯ஌ࣝͷଐਓԽ 3) ৘ใෆ଍ 4) هࡌͷཻ౓ 5)

    දهͷ༳Ε 6) ໨తͰ͸ͳ͘खஈ͕هࡌ 7) ࢓༷ॻͷମࡋ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ 29
  30. ▪͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ 7) ࢓༷ॻͷମࡋ ▪ݱ৅ ɹཁٻ࢓༷ॻͷهࡌͷ࿩ɻ ɹɾͲ͜ʹԿ͕ॻ͍ͯ͋Δ͔͙͢ʹΘ͔Βͳ͍ɻ ▪ղܾํ๏ ɹ͙͢ʹཁٻ࢓༷ΛݟΕΔΑ͏໨࣍ɺݟग़͠ɺϦϯΫΛ͚ͭΔͳͲͷ޻෉Λ͢Δɻ ຊ೔ͷςʔϚ ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ

    30
  31. • ੋඇͱ΋ߨ࠲ͷײ૝ΛҰݴ͓ئ͍͠·͢ɻ ࢀՃऀײ૝ 31

  32. ࣍ճ͸ʲ6/16(໦) 19:30ʙ20:30ʳͰ։࠵༧ఆͰ͢ɻ ʲ࿈ଓߨ࠲ #2ʳཁٻ࢓༷Λఆٛ͢Δ ܾΊͨςʔϚʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢Δʳͷཁٻ࢓༷Λ࣮ࡍ ʹ࢓༷Խ͍ͨ͠ͱࢥ͍·͢ɻ ࢀՃͷํɺੋඇͱ΋ΑΖ͓͘͠Ͷ͕͍͠·͢ɻ ࣍ճ༧ࠂ 32

  33. ͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ 33