設計と設計書の作成は違う

設計と設計書

システム開発には、設計というフェーズがあります。
そして、通常は設計書が設計フェーズの成果物になります。

そのため設計というと、一見設計書の作成を指しているように見えてしまいます。
そして、設計書を作成する時間だけを、設計にかかる時間と考えてしまいがちです。

しかし、実際の設計フェーズは、設計書を作成するフェーズではなく、
何を、どのように作るかを決めるフェーズになります。

そのため、設計フェーズでは、何をどのように作るかを考えるための時間を十分にとる必要があります。
逆に決まったフォーマットで作成した設計書がなくても、何をどのように作るかが決まっていれば、設計としては十分であると思います。
(複数人で開発をするのであれば、情報を共有するための何らかの資料はあったほうがいいと思います)

何をどう作るか決める時間のない設計

設計フェーズとして予定されている期間が、設計書の作成にかかる時間のみの場合、何をどのように作るかを検討する時間を十分にとることができません。
そのため、通常パターンのみを設計書に記載し、設計を完了しまうことがあります。
結果として、通常のパターンは設計書へ記載されているが、イレギュラーな場合や、異常系が考慮されていない設計書となってしまう可能性があります。

そしてもし、イレギュラーな場合や異常系が考慮されない設計書でプログラムの実装を行った場合、イレギュラーな場合や、異常系が正しく実装されない可能性があります。
さらに、イレギュラーな場合の処理や、異常系について正しく実装されない場合、システムが想定外の挙動を起こす可能性があります。

例えば、本来入力されてはいけない値が入力されてしまったために、元のデータが壊れてしまうことや、ユーザーがアクセスできないはずの情報にアクセスできてしまうことなどが起きる可能性があります。
また、想定外の処理によって、システムが異常終了してしまう場合もあります。

アプリの開発をしています

①概算家計簿
家計簿を毎日つけれれないあなたのための家計簿アプリです。
f:id:b-kimagure:20190722205238p:plain:w120
Google Play で手に入れよう

②ToDoボタン
忙しくてついつい放置してしまう家事
そんな家事の最後にやった日を記録するアプリです。
f:id:b-kimagure:20190805230012p:plain:w120
Google Play で手に入れよう