どうも。ひろです。
前回まで3回に分けて設計についてお話ししてきました。
今回は設計についてのまとめです。
まだ記事を読んでいないという方は以下から一度読んでみてください。
設計は以下の3点よりした方がいいと言えます。
- 効率よく開発できる。
- やりたいことを明確にかつ流れを把握することができる。
- テストや動作確認の際に設計を役立てることができる。
各項目について解説していきます。
効率よく開発できる。
設計のメリットの記事でお話ししましたが、
設計することによってやりたい事やるべき事が明確になります。
また、漏れのないように慎重になるため後戻りが少ないこともメリットです。
総合的に見ても設計してから作っていった方が時間効率は良いです。
複雑なものになる程時短できるので日頃から設計する癖をつけておきましょう。
慣れればそこまで時間かからない作業だと思います。
図におこす作業はすぐに終わると思いますが、
機能の抽出などに時間がかかってしまうと思います。
こちらも経験していけば短時間でできるようになっていけると思います。
やりたいことを明確にかつ流れを把握することができる。
ツールを使ってシーケンス図やクラス図などの図を作成することによって静的解析、動的解析ができます。
処理の流れやクラスごとの責務を把握することができるので、
実装する時にその通りにプログラミングしていけば良いです。
また、他の人と共同開発となった時に言葉だけでシステムの説明をすることは
イメージができなくて難しく、伝わりづらいです。
そういういう場面でも活用できます。
少し脱線してしまうかもしれませんが、
建築家を例えに出してみましょう。
建物を建てるときは必ず設計図から作成しますよね?
そのあと職人さんに図面を渡して実際に建物を建てていきますよね?
プログラムも同じです。
設計図(クラス図、シーケンス図)を作成した上でプログラマー(職人さん)に
設計図を渡しシステムを構築していきます。
何かを作る上で必ずと言って良いほど重要なものになってきます。
テストや動作確認の際に設計を役立てることができる。
前述したシーケンス図があることによってテスト書を作る時や、
動作確認の時に照らし合わせる事で期待通りの動きかどうかということがわかります。
何回もシーケンス図と言っていますが本当に重要なドキュメントになります。
設計をしっかりやっておけばテストや動作確認で少ない不具合で済ませることができます。
また、不具合が出たとしてもどこの関数でどの処理で不具合が発生しているということがわかるので
改修するのが楽になります。
まとめ
今回は以下の3点についてお話ししました。
- 効率よく開発できる。
- やりたいことを明確にかつ流れを把握することができる。
- テストや動作確認の際に設計を役立てることができる。
どの業界でも設計は重要になってくるってことですね。
後々楽になるのでプログラムを書く前に一度設計してみてはいかがでしょうか?
ここまで読んでくださりありがとうございました。