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

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

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

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

k-abe

May 17, 2022
Tweet

More Decks by k-abe

Other Decks in Technology

Transcript

  1. ʲ࿈ଓߨ࠲ #1ʳཁٻ࢓༷Λਖ਼͘͠ཧղ͢
    Δʹ͸ʁ
    2022/5/17


    ύʔιϧςΫϊϩδʔελοϑגࣜձࣾ


    Ѩ෦ߞೋ [email protected]
    ૊ΈࠐΈιϑτ΢ΣΞجૅ
    1

    View Slide

  2. • ࣗݾ঺հ


    • ࢀՃऀҰݴίϝϯτ


    • ߨ࠲։࠵ͷഎܠɾ໨త


    • ຊ೔ͷςʔϚʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ


    • ࢀՃऀײ૝


    • ࣍ճ༧ࠂ
    ໨࣍
    2

    View Slide

  3. • Ѩ෦ɹߞೋʢ͋΂ɹ͜͏͡ʣ


    • ٕज़ຊ෦ɹػిٕज़෦ɹट౎ݍ2G


    [email protected]


    • ҩྍػث։ൃ


    • ૊ࠐΈιϑτ΢ΣΞ։ൃɻCݴޠɺϕΞϝλϧͷ։ൃۀ຿ܦݧ͕΄ͱΜ
    Ͳɻ
    ࣗݾ঺հ
    3

    View Slide

  4. ࣗ͝༝ʹҰݴίϝϯτ͍͚ͨͩ·͢ͱ͋Γ͕͍ͨͰ͢ɻ


    ྫ) ໊͓લ


    ྫ) ࠓճͷߨ࠲ʹظ଴͢Δ͜ͱ


    ྫ) ͓࢓ࣄ಺༰(࿩ͤΔൣғͰ)


    ྫ) ιϑτ΢ΣΞ։ൃ୲౰޻ఔ(ཁٻ࢓༷ͷఆٛ?ઃܭ?࣮૷?ςετ?)
    ࢀՃऀҰݴίϝϯτ
    4

    View Slide

  5. • ͳʹ͔ςʔϚΛܾΊͯɺιϑτ΢ΣΞ։ൃͷ্ྲྀ޻ఔ͔ΒԼྲྀ޻ఔ·Ͱઆ໌
    ͢Δߨ࠲Λ։࠵͠ɺεΩϧΞοϓΛਤΔɻ


    ɹ˙ཁٻ࢓༷ͷཧղɹ˒͍·͜͜


    ɹ˙ཁٻ࢓༷ͷ࢓༷Խ


    ɹ˙ઃܭ


    ɹ˙ςετ


    ɹ˙࣮૷
    ߨ࠲։࠵ͷഎܠɾ໨త
    5

    View Slide

  6. ςʔϚɿ


    ʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢
    Δʳ


    ※ࠓճ͸ςʔϚʹґଘ͠ͳ͍಺༰Ͱ͢ɻ
    ߨ࠲։࠵ͷഎܠɾ໨త
    6

    View Slide

  7. ςʔϚɿʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢Δʳ


    ର৅૷ஔɿCQ EVΧʔτ


    എܠɿ


    ɾߨࢣ͕͓࣋ͬͯΓɺର৅૷ஔͷυϝΠϯ஌ࣝΛཧղ͍ͯ͠Δɻ


    ɾιϑτ΢ΣΞͷߏ଄Λཧղ͍ͯ͠Δɻ


    ɾର৅૷ஔͷϚΠίϯ͕ੜ࢈தࢭʹͳͬͨɻ


    ɹ⇛ֶशɾεΩϧΞοϓͷͨΊผϚΠίϯʹҠ২ͯ͠ΈΑ͏!!!ɹ
    ߨ࠲։࠵ͷഎܠɾ໨త
    7

    View Slide

  8. • ·ͣ͸༻ޠͷఆ͔ٛΒɻ


    ɾʲཁٻ࢓༷ʳ


    ɾʲ࢓༷ʳ


    ͜ͷ༻ޠΛͲ͏ೝ͍ࣝͯ͠·͔͢?
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    8

    View Slide

  9. ͜ͷߨ࠲Ͱ͸࣍ͷఆٛΛ͠·͢ɻ


    ■ʲཁٻ࢓༷ʳɿ૷ஔɾγεςϜ͕࣮ݱ͍ͨ͠໨త


    ɹ˔ɹʙ͍ͨ͠ɺͳͲཁٻΛࣔ͢ݴ༿Ͱදݱ͢Δɻ


    ■ʲ࢓༷ʳɿཁٻ࢓༷Λ࣮ݱ͢ΔͨΊͷ۩ମతखஈ


    ɹ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    9

    View Slide

  10. ■ཁٻ࢓༷Λਖ਼͘͠ཧղ͠ͳ͍͜ͱͰى͖Δฐ֐


    ●ཁٻ࢓༷Λཧղ͢ΔͨΊʹ࣌ؒΛ࢖͏ɿ޻਺ͷ૿Ճ


    ●࡞ۀͷग़໭Γɿ޻਺ͷ૿Ճ


    ●ཁٻ࢓༷ఆٛଆ-ཁٻ࢓༷ಡΈखͷؔ܎ੑѱԽɿ඼࣭ͷ௿Լ


    ɹྑ͍΋ͷΛ࡞Δͱ͍͏ࢥ͍͸྆ऀͰҰக͍ͯ͠Δ͸ͣͳͷʹɾɾɾ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    10

    View Slide

  11. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    ɹཁٻ࢓༷ͷཧղͰۤ͠Μͩܦݧ͔ΒղܾҊΛڞ༗͍ͤͯͩ͘͞͞ɻ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    11

    View Slide

  12. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    12

    View Slide

  13. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    13

    View Slide

  14. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    ■ݱ৅


    ●ཁٻ࢓༷ͷهࡌ͕ෳ਺ͷ࢓༷ॻʹॏෳͯ͠هࡌ͞Ε͍ͯΔɻ


    ɾ࢓༷ॻͷϝϯς๨ΕʹΑΓཁٻ࢓༷ʹໃ६͕ੜ͡Δɻ


    ɾෳ਺࢓༷ॻͷϝϯς͕େมɻ


    ■ղܾࡦ


    ɹཁٻ࢓༷͸ॏෳ͠ͳ͍Α͏ʹهࡌ͢Δɻ


    ɹɹ⇛DRYݪଇͱಉ͡Ͱ͢Ͷɻ


    ɹ࢓༷ॻͷߏ੒ΛͲ͏͢Δ͔?͸։ൃνʔϜͷϧʔϧܾΊ͕ඞཁ͔ͱࢥ͏ɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    14

    View Slide

  15. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    15

    View Slide

  16. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    ■ݱ৅


    ɹର৅ιϑτ΢ΣΞͷυϝΠϯ஌ࣝɾཁٻ࢓༷͕νʔϜʹڞ༗͞Ε͓ͯΒͣɺಛఆͷਓͷ಄ͷதʹ͔͠ͳ
    ͍ɻ


    ■ղܾࡦ


    ●ଐਓԽ͍ͯ͠Δཧ༝(※)Λ໌֬ʹͨ͠ޙɺಛఆͷਓͷυϝΠϯ஌ࣝΛڞ༗͢Δ৔Λઃ͚Δɻ


    ɹ˞ಛఆͷਓ͕ۀ຿աଟͰ͋Ε͹ۀ຿ͷௐ੔Λߦ͏ͳͲ


    ɹؔ܎ऀ͕υϝΠϯ஌ࣝΛڞ༗Ͱ͖ΔφϨοδɾwikiͳͲΛ੔උ͢Δɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    16

    View Slide

  17. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    17

    View Slide

  18. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    3) ৘ใෆ଍


    ■ݱ৅


    ɹཁٻͷཧ༝ɾഎܠ͕Θ͔Βͳ͍ͨΊ࢓༷ԽͰ͖ͳ͍ɻ


    ■ղܾࡦ


    ɹ࢓༷Խɺઃܭ͕ਐΊΒΕΔཻ౓Ͱཁٻ࢓༷Λ੔ཧɾهࡌ͢Δɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    18

    View Slide

  19. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    3) ৘ใෆ଍


    ■ࣄྫ


    ●ཁٻ࢓༷ͷهࡌྫɿxx௨৴ͷσʔλΛ1ඵؒૹ৴͍ͯͩ͘͠͞(※)ɻ
    ɹલఏͱͯ͠xx௨৴ͷσʔλͷૹ৴पظ͸400msɻ
    ●ࣄྫͷղܾࡦ
    ɹ1ඵؒ௒աͰྑ͍ͷ͔ɺ௒աͯ͠͸͍͚ͳ͍ͷ͔ɺ1ඵؒͷൣғΛ໌֬ʹ͢Δɻ


    ɹ(800msͰྑ͍ͷ͔?ͦΕͱ΋1.2sͰ΋ྑ͍ͷ͔?ͦΕͱ΋1sec±xx msec͡Όͳ͍ͱବ໨ͳͷ͔
    )

    ※ཁٻ࢓༷ͷஈ֊Ͱ௨৴σʔλͷपظ·Ͱఆٛ͢Δ͜ͱ͸۩ମత͗ͯ͢;͞Θ͘͠ͳ͍ؾ͕͢Δ͕ࣄྫ
    ͷઆ໌ͱ͍͏͜ͱͰɻཁٻͷ࢓༷ԽͷϑΣʔζͰ্هͷૹ৴࣌ؒͷ࢓༷Λ໌֬ʹ͢Δͷ͕ଥ౰͔΋͠Ε
    ͳ͍ɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    19

    View Slide

  20. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    20

    View Slide

  21. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    4) هࡌͷཻ౓


    ■ݱ৅


    ɹهड़ͷཻ౓ɾந৅౓͕౷Ұ͞Ε͍ͯͳ͍ɻ


    ■ղܾࡦ


    ɹهड़ͷཻ౓ɾந৅౓Λཁٻ࢓༷ॻΛهࡌ͢ΔલʹܾΊ͓ͯ͘ɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    21

    View Slide

  22. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    22

    View Slide

  23. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    5) දهͷ༳Ε


    ■ݱ৅


    ɹྨࣅͷཁٻ࢓༷ͷهࡌ͕౷Ұ͞Ε͍ͯͳ͍ɻͦͷͨΊʹཁٻ࢓༷ͷղऍɾ֬ೝ
    ʹ͕͔͔࣌ؒΔɻ


    ■ղܾࡦ


    ɹཁٻ࢓༷ͷղऍ͕ҰҙʹͳΔΑ͏هࡌ͢Δɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    23

    View Slide

  24. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    5) දهͷ༳Ε


    ■ࣄྫ


    ●ෆ౳߸


    ɾxx-1 ཁٻ࢓༷: 100Ҏ্Ͱxx͕ൃੜɻ


    ɾxx-2 ཁٻ࢓༷: 200ະຬͰxx͕ൃੜɻ


    ɹxx-1ͱxx-2ͷཁٻ࢓༷Ͱ৚݅ͷ͖͍͠஋͕ҟͳ͍ͬͯΔɻ


    ɹҙਤ͍ͯ͠Δͷ͔?ͦΕͱ΋ޡهͳͷ͔?


    ɹରࡦͱͯ͠࢓༷ॻͷ๯಄Ͱཁٻ࢓༷ܾఆͷཧ༝ɾϙϦγʔΛ໌ه͢Δɺෆ౳߸Ͱཁٻ࢓༷Λهࡌ͢ΔͳͲɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    24

    View Slide

  25. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    5) දهͷ༳Ε


    ■ෆ౳߸ͷࣄྫ


    ɹҎ্ɺະຬɺ௒աͰಈ͖ʹ໰୊ͳ͍͜ͱ͸༧૝͍͕ͯͨ͠ɺݕূ͢Δଆ
    ͸࢓༷͕༳Ε͍ͯͨΒݕূͰ͖ͳ͍ɻ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    25

    View Slide

  26. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    26

    View Slide

  27. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    ■ݱ৅


    ɹཁٻ࢓༷͕ʲ໨తʳͰ͸ͳ͘ʲ࣮ݱखஈʳ͕ॻ͔Ε͍ͯΔɻ


    ■ղܾࡦ


    ɹ໨తϕʔεͷදݱ(ʙ͍ͨ͠)Ͱཁٻ࢓༷ॻΛهࡌ͢Δɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    27

    View Slide

  28. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    ■ࣄྫ


    ɹ2஋(ͨͱ͑͹εΠονͷONɾOFF)ͷ৘ใΛཁٻ࢓༷ॻʹදݱ͢Δࡍʹʲxxxϑϥάʳͱه
    ࡌ͍ͯ͠Δɻ


    ʲxxxϑϥάʳ͸໨తͰ͸ͳ͘ɺϓϩάϥϜͷ࣮૷ʹϑΥʔΧεͨ͠දݱɻ


    ཁٻ࢓༷ॻͷهࡌΛͦͷ··࣮૷Ͱ΋Ҿ༻͠ϑϥάʹ͢Δɺͱ͍͏͜ͱ΋ى͜Δ͔΋͠Εͳ
    ͍(ઃܭɾ࣮૷޻ఔͰݕ౼ͨ݁͠Ռɺϑϥάʹ͢Δͷ͕࠷దͰ͋Ε͹ͦΕͰྑ͍ͱࢥ͏)ɻ


    ϑϥάʹ͢Δ͔ɾ൱͔࠷దͳ࣮ݱखஈ͸ཁٻ࢓༷ͷఆٛΑΓޙͷ޻ఔͰٞ࿦͢Δ͜ͱɻ
    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    28

    View Slide

  29. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    1) ཁٻ࢓༷ͷॏෳهࡌ


    2) υϝΠϯ஌ࣝͷଐਓԽ


    3) ৘ใෆ଍


    4) هࡌͷཻ౓


    5) දهͷ༳Ε


    6) ໨తͰ͸ͳ͘खஈ͕هࡌ


    7) ࢓༷ॻͷମࡋ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    29

    View Slide

  30. ■͜Μͳཁٻ࢓༷ͷఆٛ͸ݏͩ


    7) ࢓༷ॻͷମࡋ


    ■ݱ৅


    ɹཁٻ࢓༷ॻͷهࡌͷ࿩ɻ


    ɹɾͲ͜ʹԿ͕ॻ͍ͯ͋Δ͔͙͢ʹΘ͔Βͳ͍ɻ


    ■ղܾํ๏


    ɹ͙͢ʹཁٻ࢓༷ΛݟΕΔΑ͏໨࣍ɺݟग़͠ɺϦϯΫΛ͚ͭΔͳͲͷ޻෉Λ͢Δɻ


    ຊ೔ͷςʔϚ


    ʲཁٻ࢓༷Λਖ਼͘͠ཧղ͢Δʹ͸?ʳ
    30

    View Slide

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

    View Slide

  32. ࣍ճ͸ʲ6/16(໦) 19:30ʙ20:30ʳͰ։࠵༧ఆͰ͢ɻ


    ʲ࿈ଓߨ࠲ #2ʳཁٻ࢓༷Λఆٛ͢Δ


    ܾΊͨςʔϚʲطଘ૊ࠐΈ੡඼ͷϚΠίϯΛҠ২͢Δʳͷཁٻ࢓༷Λ࣮ࡍ
    ʹ࢓༷Խ͍ͨ͠ͱࢥ͍·͢ɻ


    ࢀՃͷํɺੋඇͱ΋ΑΖ͓͘͠Ͷ͕͍͠·͢ɻ
    ࣍ճ༧ࠂ
    32

    View Slide

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

    View Slide