Slide 1

Slide 1 text

Simple talk about software design

Slide 2

Slide 2 text

シンプルなお話 します I am here Today because I would love to give you most simplest design talk. You can find me at @hihats 2

Slide 3

Slide 3 text

TL;DR 1. (チーム開発において)我々の考える設計って 2. ソフトウェア開発における設計 3. 設計と実装 4. 言いたいこと 3

Slide 4

Slide 4 text

我々の考える 設計 どのくらい共通認識なのか? 1

Slide 5

Slide 5 text

“ メンバーそれぞれのキャリアや経 験に基づく認識ができあがってい るので、異なる部分はある。 5

Slide 6

Slide 6 text

基本設計 Bring the attention of your audience over a key concept using icons or illustrations 6 詳細設計 内部設計 外部設計 DB設計 プログラム設計

Slide 7

Slide 7 text

基本設計 Bring the attention of your audience over a key concept using icons or illustrations 7 詳細設計 内部設計 外部設計 DB設計 プログラム設計 これらは一旦忘れ て!!!

Slide 8

Slide 8 text

設計 → 設計書を書く ざっくりとおそらくこう考え がち 実装 → コードを書く 8

Slide 9

Slide 9 text

“ ソフトウェア開発において、人の 最終的なアウトプットはソース コードなので、「コードを書くこ と」が実装と考える 9

Slide 10

Slide 10 text

“ ソフトウェア開発において、人の 最終的なアウトプットはソース コードなので、「コードを書くこ と」が実装と考える 10 が実際はどうか

Slide 11

Slide 11 text

ソフトウェア 開発における 設計 2

Slide 12

Slide 12 text

ソフトウェアの特徴 12

Slide 13

Slide 13 text

ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 13

Slide 14

Slide 14 text

ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 14 コードを動かすということは

Slide 15

Slide 15 text

ソフトウェアの特徴 ○ 書いたコードを動かして初めてユー ザにとって価値があるモノになると ころにある 15 コードを動かすということは ○ コンピュータがソースコードを解釈 して実行する

Slide 16

Slide 16 text

16 In other words

Slide 17

Slide 17 text

17 ソースコードはコンピュータに とっては設計書

Slide 18

Slide 18 text

18 ソースコードはコンピュータに とっては設計書 コーディングは設計でもあり、実装 でもある

Slide 19

Slide 19 text

ソースコードを 書くということ 19 処理がどのよう に動くか 変数名をどう すっべか メソッド名やス コープをどうす るか その他もろ もろ クラスをどう 分割するか

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

21 全てを網羅したプロ グラム設計書という ものがある

Slide 22

Slide 22 text

実際は設計しながら実装していますよね? 22

Slide 23

Slide 23 text

設計と実装 3

Slide 24

Slide 24 text

ソフトウェアの処理の中身をどう表現 するかを考える「設計」という行為と、 それをソースコードに「実装」する行為 は、切り離して考えることはナンセン スである ○ 引用 from Sonic Garden倉貫さん 24

Slide 25

Slide 25 text

前置きここまで 25

Slide 26

Slide 26 text

言いたいこと 4

Slide 27

Slide 27 text

27 設計と実装を切り離して考えない = 「ごちゃまぜにしろ」という意味ではない

Slide 28

Slide 28 text

28 設計と実装を切り離して考えない = 「ごちゃまぜにしろ」という意味ではない 設計と実装を行ったり来たり すること

Slide 29

Slide 29 text

29 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか)

Slide 30

Slide 30 text

プロジェクト単位、チーム単位で そこの線引きを明確にしておくこと コミュニケーションのズレの原因になりやすい 30 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか)

Slide 31

Slide 31 text

プロジェクト単位、チーム単位で そこの線引きを明確にしておくこと コミュニケーションのズレの原因になりやすい 31 コーディングを始める迄に 「何を」「どこまで」設計するのか (≒ 何が設計作業なのか) 結論としては、「設計」とは 現場次第。。。 大 事

Slide 32

Slide 32 text

32 Thanks! Any questions? You can find me at ○ @hihats

Slide 33

Slide 33 text

実は本題はここから 33 次のスライドへ