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
ソフトウェア設計についての基本認識
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
hihats
June 06, 2019
Technology
110
1
Share
ソフトウェア設計についての基本認識
チーム開発するに当たり、設計についての認識があっていないことが割とあります。ごく基本的なことですが、実際の開発作業に入る前に抑えておくべきことを話します。
hihats
June 06, 2019
More Decks by hihats
See All by hihats
Which Json Serializer should we use in Ruby on Rails6 era
hihats
1
140
アジャイル開発を始める前におさえておきたいこと
hihats
0
120
AWS Lambdaの今現在
hihats
0
810
コードの静的解析ツールを使う目的と効用
hihats
0
260
DIコンテナを学ぶ
hihats
2
400
Laravel勉強会 2016
hihats
0
1.5k
Other Decks in Technology
See All in Technology
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
120
小さいVue.jsを30分で作る
hal_spidernight
0
150
AI対話分析の夢と、汚いデータの現実 Looker / Dataplex / Dataform で実現する品質ファーストな基盤設計
waiwai2111
0
270
フロントエンドの相手が変わった - AIが加わったWebの新しいインターフェース設計
azukiazusa1
33
11k
AIエージェントの支払い基盤 AgentCore Payments概要
kmiya84377
1
150
大学職員のための生成AI最前線 :最前線を、AIガバナンスとして読み直すためのTips
gmoriki
2
3.9k
Building a Study Buddy AI Agent from Scratch: From Passive Chatbots to Autonomous Systems
itchimonji
0
150
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
370
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
380
CyberAgent YJC Connect
shimaf4979
1
170
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
260
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
300
Featured
See All Featured
sira's awesome portfolio website redesign presentation
elsirapls
0
230
How to Ace a Technical Interview
jacobian
281
24k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
190
The SEO identity crisis: Don't let AI make you average
varn
0
460
How to build a perfect <img>
jonoalderson
1
5.5k
Technical Leadership for Architectural Decision Making
baasie
3
360
Into the Great Unknown - MozCon
thekraken
41
2.5k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
210
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Darren the Foodie - Storyboard
khoart
PRO
3
3.3k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
240
Transcript
Simple talk about software design
シンプルなお話 します I am here Today because I would love
to give you most simplest design talk. You can find me at @hihats 2
TL;DR 1. (チーム開発において)我々の考える設計って 2. ソフトウェア開発における設計 3. 設計と実装 4. 言いたいこと 3
我々の考える 設計 どのくらい共通認識なのか? 1
“ メンバーそれぞれのキャリアや経 験に基づく認識ができあがってい るので、異なる部分はある。 5
基本設計 Bring the attention of your audience over a key
concept using icons or illustrations 6 詳細設計 内部設計 外部設計 DB設計 プログラム設計
基本設計 Bring the attention of your audience over a key
concept using icons or illustrations 7 詳細設計 内部設計 外部設計 DB設計 プログラム設計 これらは一旦忘れ て!!!
設計 → 設計書を書く ざっくりとおそらくこう考え がち 実装 → コードを書く 8
“ ソフトウェア開発において、人の 最終的なアウトプットはソース コードなので、「コードを書くこ と」が実装と考える 9
“ ソフトウェア開発において、人の 最終的なアウトプットはソース コードなので、「コードを書くこ と」が実装と考える 10 が実際はどうか
ソフトウェア 開発における 設計 2
ソフトウェアの特徴 12
ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 13
ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 14 コードを動かすということは
ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 15 コードを動かすということは ○ コンピュータがソースコードを解釈 して実行する
16 In other words
17 ソースコードはコンピュータに とっては設計書
18 ソースコードはコンピュータに とっては設計書 コーディングは設計でもあり、実装 でもある
ソースコードを 書くということ 19 処理がどのよう に動くか 変数名をどう すっべか メソッド名やス コープをどうす るか
その他もろ もろ クラスをどう 分割するか
20
21 全てを網羅したプロ グラム設計書という ものがある
実際は設計しながら実装していますよね? 22
設計と実装 3
ソフトウェアの処理の中身をどう表現 するかを考える「設計」という行為と、 それをソースコードに「実装」する行為 は、切り離して考えることはナンセン スである ○ 引用 from Sonic Garden倉貫さん
24
前置きここまで 25
言いたいこと 4
27 設計と実装を切り離して考えない = 「ごちゃまぜにしろ」という意味ではない
28 設計と実装を切り離して考えない = 「ごちゃまぜにしろ」という意味ではない 設計と実装を行ったり来たり すること
29 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか)
プロジェクト単位、チーム単位で そこの線引きを明確にしておくこと コミュニケーションのズレの原因になりやすい 30 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか)
プロジェクト単位、チーム単位で そこの線引きを明確にしておくこと コミュニケーションのズレの原因になりやすい 31 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか) 結論としては、「設計」とは 現場次第。。。
大 事
32 Thanks! Any questions? You can find me at ○
@hihats
実は本題はここから 33 次のスライドへ