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
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?
要求仕様の理解で苦しんだ経験から要求仕様を理解するためのヒントを共有させてください。
k-abe
May 17, 2022
More Decks by k-abe
See All by k-abe
μT-Kernel×AIの学習環境
kabe
0
54
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
170
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
110
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
120
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
130
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
640
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
990
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
620
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
140
Other Decks in Technology
See All in Technology
「待ち時間」の消滅と「自我消耗」の加速:生成AI時代のエンジニアを救うメンタル・リソース管理
poropinai1966
0
390
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
720
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
340
PLaMo 3.0 Primeの事後学習
pfn
PRO
0
240
LLMリーダーボードアップデートに向けたAgentic Math_SWEのトレースについて
nejumi
0
190
コンポーネント名には何を含めるべきなのか? / what-should-be-included-in-component-names
airrnot1106
0
200
AIで楽になるはずが、なぜ疲れる?
kinopeee
0
150
AIツールを導入しても生産性はあがらない? カオナビが直面した 3つの壁と乗り越え方。/ Overcoming 3 Barriers to AI-Driven Productivity at kaonavi
kaonavi
0
1.3k
QAタスクをスキル化したいときに考えること
aomoriringo
0
140
組織にどうSREを根付かせるか?〜IVRyの場合〜
abnoumaru
0
210
Webの技術とガジェットで子どもも大人も楽しめるワクワク体験を提供する / Qiita Tech Festa Day 2026
you
PRO
1
330
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
24k
Side Projects
sachag
455
43k
BBQ
matthewcrist
89
10k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
My Coaching Mixtape
mlcsv
0
180
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
330
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
How STYLIGHT went responsive
nonsquared
100
6.2k
Believing is Seeing
oripsolob
1
180
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