$30 off During Our Annual Pro Sale. View Details »

ソフトウェア設計についての基本認識

 ソフトウェア設計についての基本認識

チーム開発するに当たり、設計についての認識があっていないことが割とあります。ごく基本的なことですが、実際の開発作業に入る前に抑えておくべきことを話します。

hihats

June 06, 2019
Tweet

More Decks by hihats

Other Decks in Technology

Transcript

  1. Simple talk
    about
    software
    design

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  12. ソフトウェアの特徴
    12

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. 16
    In other words

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. 20

    View Slide

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

    View Slide

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

    View Slide

  23. 設計と実装
    3

    View Slide

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

    View Slide

  25. 前置きここまで
    25

    View Slide

  26. 言いたいこと
    4

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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


    View Slide

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

    View Slide

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

    View Slide