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
150
組み込みソフトウェア基礎_【連続講座 #1】要求仕様を正しく理解するには?
要求仕様の理解で苦しんだ経験から要求仕様を理解するためのヒントを共有させてください。
k-abe
May 17, 2022
Tweet
Share
More Decks by k-abe
See All by k-abe
【連続講座3】デザインパターンを学び、ソフトウェア設計に生かそう(Facade・Observer・State)
kabe
0
30
【連続講座2】デザインパターンを学び、ソフトウェア設計に生かそう(Builder・Strategy・Composite)
kabe
0
26
【連続講座1】デザインパターンを学び、ソフトウェア設計に生かそう(Adapter・Factory Method・Singleton)
kabe
0
36
猫の日開催!ねこIoTLT vol.9(Spresense猫モーラー)
kabe
0
70
ソフトウェア設計原則【SOLID】を学ぶ #5 リスコフの置換原則
kabe
0
340
ソフトウェア設計原則【SOLID】を学ぶ #4 開放閉鎖の原則
kabe
0
580
ソフトウェア設計原則【SOLID】を学ぶ #3 依存性逆転の原則
kabe
0
360
SWEST25_EmbLT_NervesとSpresenseをHostIFで通信してみた
kabe
0
77
テストからより良い組込みソフトウェア開発を考える
kabe
0
120
Other Decks in Technology
See All in Technology
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
540
AIエージェント時代のエンジニアになろう #jawsug #jawsdays2025 / 20250301 Agentic AI Engineering
yoshidashingo
9
4k
IoTシステム開発の複雑さを低減するための統合的アーキテクチャ
kentaro
1
130
JavaにおけるNull非許容性
skrb
2
2.7k
事業モメンタムを生み出すプロダクト開発
macchiitaka
0
100
MIMEと文字コードの闇
hirachan
2
1.5k
Охота на косуль у древних
ashapiro
0
120
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
2025/3/1 公共交通オープンデータデイ2025
morohoshi
0
100
Amazon Q Developerの無料利用枠を使い倒してHello worldを表示させよう!
nrinetcom
PRO
2
120
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
340
EMConf JP 2025 懇親会LT / EMConf JP 2025 social gathering
sugamasao
2
210
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.4k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
GraphQLの誤解/rethinking-graphql
sonatard
69
10k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Visualization
eitanlees
146
15k
Gamification - CAS2011
davidbonilla
80
5.2k
Designing Experiences People Love
moore
140
23k
Documentation Writing (for coders)
carmenintech
68
4.6k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Transcript
ʲ࿈ଓߨ࠲ #1ʳཁٻ༷Λਖ਼͘͠ཧղ͢ Δʹʁ 2022/5/17 ύʔιϧςΫϊϩδʔελοϑגࣜձࣾ Ѩ෦ߞೋ koji.abe@persol.co.jp ΈࠐΈιϑτΣΞجૅ 1
• ࣗݾհ • ࢀՃऀҰݴίϝϯτ • ߨ࠲։࠵ͷഎܠɾత • ຊͷςʔϚʲཁٻ༷Λਖ਼͘͠ཧղ͢Δʹ?ʳ • ࢀՃऀײ
• ࣍ճ༧ࠂ ࣍ 2
• Ѩ෦ɹߞೋʢ͋ɹ͜͏͡ʣ • ٕज़ຊ෦ɹػిٕज़෦ɹटݍ2G • koji.abe@persol.co.jp • ҩྍػث։ൃ • ࠐΈιϑτΣΞ։ൃɻ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