チーム開発するに当たり、設計についての認識があっていないことが割とあります。ごく基本的なことですが、実際の開発作業に入る前に抑えておくべきことを話します。
Simple talkaboutsoftwaredesign
View Slide
シンプルなお話しますI am here Today because I would love togive you most simplest design talk.You can find me at @hihats2
TL;DR1. (チーム開発において)我々の考える設計って2. ソフトウェア開発における設計3. 設計と実装4. 言いたいこと3
我々の考える設計どのくらい共通認識なのか?1
“ メンバーそれぞれのキャリアや経験に基づく認識ができあがっているので、異なる部分はある。5
基本設計Bring the attention of your audience over a keyconcept using icons or illustrations6詳細設計内部設計外部設計DB設計プログラム設計
基本設計Bring the attention of your audience over a keyconcept using icons or illustrations7詳細設計内部設計外部設計DB設計プログラム設計これらは一旦忘れて!!!
設計→ 設計書を書くざっくりとおそらくこう考えがち実装→ コードを書く8
“ ソフトウェア開発において、人の最終的なアウトプットはソースコードなので、「コードを書くこと」が実装と考える9
“ ソフトウェア開発において、人の最終的なアウトプットはソースコードなので、「コードを書くこと」が実装と考える10が実際はどうか
ソフトウェア開発における設計2
ソフトウェアの特徴12
ソフトウェアの特徴○ 書いたコードを動かして初めてユーザにとって価値があるモノになるところにある13
ソフトウェアの特徴○ 書いたコードを動かして初めてユーザにとって価値があるモノになるところにある14コードを動かすということは
ソフトウェアの特徴○ 書いたコードを動かして初めてユーザにとって価値があるモノになるところにある15コードを動かすということは○ コンピュータがソースコードを解釈して実行する
16In other words
17ソースコードはコンピュータにとっては設計書
18ソースコードはコンピュータにとっては設計書コーディングは設計でもあり、実装でもある
ソースコードを書くということ19処理がどのように動くか変数名をどうすっべかメソッド名やスコープをどうするかその他もろもろクラスをどう分割するか
20
21全てを網羅したプログラム設計書というものがある
実際は設計しながら実装していますよね?22
設計と実装3
ソフトウェアの処理の中身をどう表現するかを考える「設計」という行為と、それをソースコードに「実装」する行為は、切り離して考えることはナンセンスである○ 引用 from Sonic Garden倉貫さん24
前置きここまで25
言いたいこと4
27設計と実装を切り離して考えない= 「ごちゃまぜにしろ」という意味ではない
28設計と実装を切り離して考えない= 「ごちゃまぜにしろ」という意味ではない設計と実装を行ったり来たりすること
29コーディングを始める迄に「何を」「どこまで」設計するのか(≒ 何が設計作業なのか)
プロジェクト単位、チーム単位でそこの線引きを明確にしておくことコミュニケーションのズレの原因になりやすい30コーディングを始める迄に「何を」「どこまで」設計するのか(≒ 何が設計作業なのか)
プロジェクト単位、チーム単位でそこの線引きを明確にしておくことコミュニケーションのズレの原因になりやすい31コーディングを始める迄に「何を」「どこまで」設計するのか(≒ 何が設計作業なのか)結論としては、「設計」とは現場次第。。。大事
32Thanks!Any questions?You can find me at○ @hihats
実は本題はここから33次のスライドへ