見出し画像

なぜ設計が必要なのか?

全体(マクロ)を見てから、細部(ミクロ)を見る

イラストを制作するときの工程はまず全体の当たりを取ってから詳細を描いていく。
顔ばかり力を入れて描いていくと、全身が入らなくなったりする。まずは全体の構図を決めるのが大事。

設計の目的は、「実装する前に」問題を洗い出して解決すること

実装しながら確認するのは、技術検証の場合。
お客さんに納品するときは、正確に見積もって確実に納品しなければならない。
設計すると、実装前に問題が見えて検討ができる。設計さえ完成すれば、あとは実装するだけで完成する。

あとは実装するだけ、というプロジェクトは成功の確率が高い。

設計の手法

UML

クラス図…オブジェクト指向開発をするとき
シーケンス図…REST API、DB、外部システムとの連携などを扱うとき
ER図…DBを設計するとき

UMLを描くツールは、個人的にはPrantUML をよく使っているが、最近はMermaidも人気だ。GitHub上でMermaidの図を表示できるのも大きい

Markdown

Markdownは設計手法ではないが、README.mdなどで気付いた事をさっと書いておけるのが良い。
特に、UMLなどを使って設計するが、「どうしてそのような設計になったのか」「何が落とし穴だったか」などの経緯を文章で書いておかないと後になって理解不能になることがある。

Word/Excel/PowerPoint

古から使われるツール。プランナーはExcelを使う人が多い。
悪いとは言わないが、Gitで管理する際に差分が表示されないので管理しにくい。
エンジニアはなるべくテキストベースのツールを使いたい。

具体と抽象

一見、開発と関係無いように見えるが、最初に説明したマクロとミクロを両方考えるのに有効な思考方法だ。
Amazonにも「具体と抽象」に関する書籍がたくさんあるので見てほしい。参考リンク

まとめ

プログラミングする時は、かなりミクロな視点で物事を見ている。
大きなシステムを開発するために、マクロな視点で設計してから実装をしてほしい。


この記事が気に入ったらサポートをしてみませんか?