Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ソフトウェア設計についての基本認識
Search
hihats
June 06, 2019
Technology
1
93
ソフトウェア設計についての基本認識
チーム開発するに当たり、設計についての認識があっていないことが割とあります。ごく基本的なことですが、実際の開発作業に入る前に抑えておくべきことを話します。
hihats
June 06, 2019
Tweet
Share
More Decks by hihats
See All by hihats
Which Json Serializer should we use in Ruby on Rails6 era
hihats
1
130
アジャイル開発を始める前におさえておきたいこと
hihats
0
110
AWS Lambdaの今現在
hihats
0
800
コードの静的解析ツールを使う目的と効用
hihats
0
250
DIコンテナを学ぶ
hihats
2
400
Laravel勉強会 2016
hihats
0
1.5k
Other Decks in Technology
See All in Technology
SREには開発組織全体で向き合う
koh_naga
0
300
乗りこなせAI駆動開発の波
eltociear
1
1.1k
第4回 「メタデータ通り」 リアル開催
datayokocho
0
130
Python 3.14 Overview
lycorptech_jp
PRO
1
110
初めてのDatabricks AI/BI Genie
taka_aki
0
160
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
2k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
250
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
710
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
1.4k
AI 駆動開発勉強会 フロントエンド支部 #1 w/あずもば
1ftseabass
PRO
0
370
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
100
「図面」から「法則」へ 〜メタ視点で読み解く現代のソフトウェアアーキテクチャ〜
scova0731
0
160
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
The Invisible Side of Design
smashingmag
302
51k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
100
Navigating Team Friction
lara
191
16k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Rails Girls Zürich Keynote
gr2m
95
14k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Six Lessons from altMBA
skipperchong
29
4.1k
Stop Working from a Prison Cell
hatefulcrawdad
273
21k
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 次のスライドへ