Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?
Search
k-abe
May 17, 2022
Technology
0
160
組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?
要求仕様の理解で苦しんだ経験から要求仕様を理解するためのヒントを共有させてください。
k-abe
May 17, 2022
Tweet
Share
More Decks by k-abe
See All by k-abe
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
83
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
59
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
60
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
100
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
440
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
810
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
460
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
100
テストからより良い組込みソフトウェア開発を考える
kabe
0
170
Other Decks in Technology
See All in Technology
Claude Codeを駆使した初めてのiOSアプリ開発 ~ゼロから3週間でグローバルハッカソンで入賞するまで~
oikon48
10
4.9k
Digitization部 紹介資料
sansan33
PRO
1
5.6k
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
370
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.8k
それでも私が品質保証プロセスを作り続ける理由 #テストラジオ / Why I still continue to create QA process
pineapplecandy
0
130
React19.2のuseEffectEventを追う
maguroalternative
2
490
Liquid AI Hackathon Tokyo プレゼン資料
aratako
0
110
AWSでAgentic AIを開発するための前提知識の整理
nasuvitz
2
190
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
110
能登半島地震で見えた災害対応の課題と組織変革の重要性
ditccsugii
0
1k
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
290
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
81k
Featured
See All Featured
The Language of Interfaces
destraynor
162
25k
Building Better People: How to give real-time feedback that sticks.
wjessup
369
20k
Designing for Performance
lara
610
69k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Bash Introduction
62gerente
615
210k
Building Adaptive Systems
keathley
44
2.8k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Writing Fast Ruby
sferik
629
62k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Transcript
ʲ࿈ଓߨ࠲ #1ʳཁٻ༷Λਖ਼͘͠ཧղ͢ Δʹʁ 2022/5/17 ύʔιϧςΫϊϩδʔελοϑגࣜձࣾ Ѩ෦ߞೋ
[email protected]
ΈࠐΈιϑτΣΞجૅ 1
• ࣗݾհ • ࢀՃऀҰݴίϝϯτ • ߨ࠲։࠵ͷഎܠɾత • ຊͷςʔϚʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ • ࢀՃऀײ
• ࣍ճ༧ࠂ ࣍ 2
• Ѩ෦ɹߞೋʢ͋ɹ͜͏͡ʣ • ٕज़ຊ෦ɹػిٕज़෦ɹटݍ2G •
[email protected]
• ҩྍػث։ൃ • ࠐΈιϑτΣΞ։ൃɻCݴޠɺϕΞϝλϧͷ։ൃۀܦݧ͕΄ͱΜ
Ͳɻ ࣗݾհ 3
ࣗ͝༝ʹҰݴίϝϯτ͍͚ͨͩ·͢ͱ͋Γ͕͍ͨͰ͢ɻ ྫ) ໊͓લ ྫ) ࠓճͷߨ࠲ʹظ͢Δ͜ͱ ྫ) ͓ࣄ༰(ͤΔൣғͰ) ྫ) ιϑτΣΞ։ൃ୲ఔ(ཁٻ༷ͷఆٛ?ઃܭ?࣮?ςετ?) ࢀՃऀҰݴίϝϯτ
4
• ͳʹ͔ςʔϚΛܾΊͯɺιϑτΣΞ։ൃͷ্ྲྀఔ͔ΒԼྲྀఔ·Ͱઆ໌ ͢Δߨ࠲Λ։࠵͠ɺεΩϧΞοϓΛਤΔɻ ɹ˙ཁٻ༷ͷཧղɹ˒͍·͜͜ ɹ˙ཁٻ༷ͷ༷Խ ɹ˙ઃܭ ɹ˙ςετ ɹ˙࣮ ߨ࠲։࠵ͷഎܠɾత 5
ςʔϚɿ ʲطଘࠐΈͷϚΠίϯΛҠ২͢ Δʳ ※ࠓճςʔϚʹґଘ͠ͳ͍༰Ͱ͢ɻ ߨ࠲։࠵ͷഎܠɾత 6
ςʔϚɿʲطଘࠐΈͷϚΠίϯΛҠ২͢Δʳ ରஔɿCQ EVΧʔτ എܠɿ ɾߨࢣ͕͓࣋ͬͯΓɺରஔͷυϝΠϯࣝΛཧղ͍ͯ͠Δɻ ɾιϑτΣΞͷߏΛཧղ͍ͯ͠Δɻ ɾରஔͷϚΠίϯ͕ੜ࢈தࢭʹͳͬͨɻ ɹ⇛ֶशɾεΩϧΞοϓͷͨΊผϚΠίϯʹҠ২ͯ͠ΈΑ͏!!!ɹ ߨ࠲։࠵ͷഎܠɾత 7
• ·ͣ༻ޠͷఆ͔ٛΒɻ ɾʲཁٻ༷ʳ ɾʲ༷ʳ ͜ͷ༻ޠΛͲ͏ೝ͍ࣝͯ͠·͔͢? ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 8
͜ͷߨ࠲Ͱ࣍ͷఆٛΛ͠·͢ɻ ▪ʲཁٻ༷ʳɿஔɾγεςϜ͕࣮ݱ͍ͨ͠త ɹ˔ɹʙ͍ͨ͠ɺͳͲཁٻΛࣔ͢ݴ༿Ͱදݱ͢Δɻ ▪ʲ༷ʳɿཁٻ༷Λ࣮ݱ͢ΔͨΊͷ۩ମతखஈ ɹ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 9
▪ཁٻ༷Λਖ਼͘͠ཧղ͠ͳ͍͜ͱͰى͖Δฐ •ཁٻ༷Λཧղ͢ΔͨΊʹ࣌ؒΛ͏ɿͷ૿Ճ •࡞ۀͷग़Γɿͷ૿Ճ •ཁٻ༷ఆٛଆ-ཁٻ༷ಡΈखͷؔੑѱԽɿ࣭ͷԼ ɹྑ͍ͷΛ࡞Δͱ͍͏ࢥ͍྆ऀͰҰக͍ͯ͠Δͣͳͷʹɾɾɾ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 10
▪͜Μͳཁٻ༷ͷఆٛݏͩ ɹཁٻ༷ͷཧղͰۤ͠Μͩܦݧ͔ΒղܾҊΛڞ༗͍ͤͯͩ͘͞͞ɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 11
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 12
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 13
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ ▪ݱ •ཁٻ༷ͷهࡌ͕ෳͷ༷ॻʹॏෳͯ͠هࡌ͞Ε͍ͯΔɻ ɾ༷ॻͷϝϯςΕʹΑΓཁٻ༷ʹໃ६͕ੜ͡Δɻ ɾෳ༷ॻͷϝϯς͕େมɻ ▪ղܾࡦ ɹཁٻ༷ॏෳ͠ͳ͍Α͏ʹهࡌ͢Δɻ ɹɹ⇛DRYݪଇͱಉ͡Ͱ͢Ͷɻ
ɹ༷ॻͷߏΛͲ͏͢Δ͔?։ൃνʔϜͷϧʔϧܾΊ͕ඞཁ͔ͱࢥ͏ɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 14
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 15
▪͜Μͳཁٻ༷ͷఆٛݏͩ 2) υϝΠϯࣝͷଐਓԽ ▪ݱ ɹରιϑτΣΞͷυϝΠϯࣝɾཁٻ༷͕νʔϜʹڞ༗͞Ε͓ͯΒͣɺಛఆͷਓͷ಄ͷதʹ͔͠ͳ ͍ɻ ▪ղܾࡦ •ଐਓԽ͍ͯ͠Δཧ༝(※)Λ໌֬ʹͨ͠ޙɺಛఆͷਓͷυϝΠϯࣝΛڞ༗͢ΔΛઃ͚Δɻ ɹ˞ಛఆͷਓ͕ۀաଟͰ͋ΕۀͷௐΛߦ͏ͳͲ ɹؔऀ͕υϝΠϯࣝΛڞ༗Ͱ͖ΔφϨοδɾwikiͳͲΛඋ͢Δɻ
ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 16
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 17
▪͜Μͳཁٻ༷ͷఆٛݏͩ 3) ใෆ ▪ݱ ɹཁٻͷཧ༝ɾഎܠ͕Θ͔Βͳ͍ͨΊ༷ԽͰ͖ͳ͍ɻ ▪ղܾࡦ ɹ༷Խɺઃܭ͕ਐΊΒΕΔཻͰཁٻ༷Λཧɾهࡌ͢Δɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 18
▪͜Μͳཁٻ༷ͷఆٛݏͩ 3) ใෆ ▪ࣄྫ •ཁٻ༷ͷهࡌྫɿxx௨৴ͷσʔλΛ1ඵؒૹ৴͍ͯͩ͘͠͞(※)ɻ ɹલఏͱͯ͠xx௨৴ͷσʔλͷૹ৴पظ400msɻ •ࣄྫͷղܾࡦ ɹ1ඵؒաͰྑ͍ͷ͔ɺա͍͚ͯ͠ͳ͍ͷ͔ɺ1ඵؒͷൣғΛ໌֬ʹ͢Δɻ ɹ(800msͰྑ͍ͷ͔?ͦΕͱ1.2sͰྑ͍ͷ͔?ͦΕͱ1sec±xx msec͡Όͳ͍ͱବͳͷ͔
) ※ཁٻ༷ͷஈ֊Ͱ௨৴σʔλͷपظ·Ͱఆٛ͢Δ͜ͱ۩ମత͗ͯ͢;͞Θ͘͠ͳ͍ؾ͕͢Δ͕ࣄྫ ͷઆ໌ͱ͍͏͜ͱͰɻཁٻͷ༷ԽͷϑΣʔζͰ্هͷૹ৴࣌ؒͷ༷Λ໌֬ʹ͢Δͷ͕ଥ͔͠Ε ͳ͍ɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 19
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 20
▪͜Μͳཁٻ༷ͷఆٛݏͩ 4) هࡌͷཻ ▪ݱ ɹهड़ͷཻɾந͕౷Ұ͞Ε͍ͯͳ͍ɻ ▪ղܾࡦ ɹهड़ͷཻɾநΛཁٻ༷ॻΛهࡌ͢ΔલʹܾΊ͓ͯ͘ɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 21
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 22
▪͜Μͳཁٻ༷ͷఆٛݏͩ 5) දهͷ༳Ε ▪ݱ ɹྨࣅͷཁٻ༷ͷهࡌ͕౷Ұ͞Ε͍ͯͳ͍ɻͦͷͨΊʹཁٻ༷ͷղऍɾ֬ೝ ʹ͕͔͔࣌ؒΔɻ ▪ղܾࡦ ɹཁٻ༷ͷղऍ͕ҰҙʹͳΔΑ͏هࡌ͢Δɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ
23
▪͜Μͳཁٻ༷ͷఆٛݏͩ 5) දهͷ༳Ε ▪ࣄྫ •ෆ߸ ɾxx-1 ཁٻ༷: 100Ҏ্Ͱxx͕ൃੜɻ ɾxx-2 ཁٻ༷:
200ະຬͰxx͕ൃੜɻ ɹxx-1ͱxx-2ͷཁٻ༷Ͱ݅ͷ͖͍͕͠ҟͳ͍ͬͯΔɻ ɹҙਤ͍ͯ͠Δͷ͔?ͦΕͱޡهͳͷ͔? ɹରࡦͱ༷ͯ͠ॻͷ಄Ͱཁٻ༷ܾఆͷཧ༝ɾϙϦγʔΛ໌ه͢Δɺෆ߸Ͱཁٻ༷Λهࡌ͢ΔͳͲɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 24
▪͜Μͳཁٻ༷ͷఆٛݏͩ 5) දهͷ༳Ε ▪ෆ߸ͷࣄྫ ɹҎ্ɺະຬɺաͰಈ͖ʹͳ͍͜ͱ༧͍͕ͯͨ͠ɺݕূ͢Δଆ ༷͕༳Ε͍ͯͨΒݕূͰ͖ͳ͍ɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 25
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 26
▪͜Μͳཁٻ༷ͷఆٛݏͩ 6) తͰͳ͘खஈ͕هࡌ ▪ݱ ɹཁٻ༷͕ʲతʳͰͳ͘ʲ࣮ݱखஈʳ͕ॻ͔Ε͍ͯΔɻ ▪ղܾࡦ ɹతϕʔεͷදݱ(ʙ͍ͨ͠)Ͱཁٻ༷ॻΛهࡌ͢Δɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 27
▪͜Μͳཁٻ༷ͷఆٛݏͩ 6) తͰͳ͘खஈ͕هࡌ ▪ࣄྫ ɹ2(ͨͱ͑εΠονͷONɾOFF)ͷใΛཁٻ༷ॻʹදݱ͢Δࡍʹʲxxxϑϥάʳͱه ࡌ͍ͯ͠Δɻ ʲxxxϑϥάʳతͰͳ͘ɺϓϩάϥϜͷ࣮ʹϑΥʔΧεͨ͠දݱɻ ཁٻ༷ॻͷهࡌΛͦͷ··࣮ͰҾ༻͠ϑϥάʹ͢Δɺͱ͍͏͜ͱى͜Δ͔͠Εͳ ͍(ઃܭɾ࣮ఔͰݕ౼ͨ݁͠Ռɺϑϥάʹ͢Δͷ͕࠷దͰ͋ΕͦΕͰྑ͍ͱࢥ͏)ɻ ϑϥάʹ͢Δ͔ɾ൱͔࠷దͳ࣮ݱखஈཁٻ༷ͷఆٛΑΓޙͷఔͰٞ͢Δ͜ͱɻ
ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 28
▪͜Μͳཁٻ༷ͷఆٛݏͩ 1) ཁٻ༷ͷॏෳهࡌ 2) υϝΠϯࣝͷଐਓԽ 3) ใෆ 4) هࡌͷཻ 5)
දهͷ༳Ε 6) తͰͳ͘खஈ͕هࡌ 7) ༷ॻͷମࡋ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ 29
▪͜Μͳཁٻ༷ͷఆٛݏͩ 7) ༷ॻͷମࡋ ▪ݱ ɹཁٻ༷ॻͷهࡌͷɻ ɹɾͲ͜ʹԿ͕ॻ͍ͯ͋Δ͔͙͢ʹΘ͔Βͳ͍ɻ ▪ղܾํ๏ ɹ͙͢ʹཁٻ༷ΛݟΕΔΑ͏࣍ɺݟग़͠ɺϦϯΫΛ͚ͭΔͳͲͷΛ͢Δɻ ຊͷςʔϚ ʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ
30
• ੋඇͱߨ࠲ͷײΛҰݴ͓ئ͍͠·͢ɻ ࢀՃऀײ 31
࣍ճʲ6/16() 19:30ʙ20:30ʳͰ։࠵༧ఆͰ͢ɻ ʲ࿈ଓߨ࠲ #2ʳཁٻ༷Λఆٛ͢Δ ܾΊͨςʔϚʲطଘࠐΈͷϚΠίϯΛҠ২͢Δʳͷཁٻ༷Λ࣮ࡍ ʹ༷Խ͍ͨ͠ͱࢥ͍·͢ɻ ࢀՃͷํɺੋඇͱΑΖ͓͘͠Ͷ͕͍͠·͢ɻ ࣍ճ༧ࠂ 32
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ɻ ऴΘΓ 33