ソフトウェア開発においての基本原則

ソフトウェア開発を行う上で基本的はコンセプトを考えてみた。
ちなみに参考にさせてもらった書籍

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

Head Firstオブジェクト指向分析設計 ―頭とからだで覚えるオブジェクト指向の基本

目標を3ステップに分けて考えると分かりやすい。

1、顧客が必要とする処理を、ソフトウェアが実行するようにする。

まずは「要求通りに動く」ソフトウェアを作ることが最重要。
どんなに綺麗にコードを書いたとしても、クライアントが望まない仕様であればそれは只の自己満足。
例えば「スパゲティが食べたい」って言ってるお客さんにカレーライスを出しちゃまずいでしょってレベル。

2、オブジェクト指向の基本原則を適応し、柔軟性を高める。

とりあえず要求を満たすソフトウェアが出来た上で、その中で重複するコードを取り除いて綺麗なソースに変更していく。こうすれば仕様変更に耐えうるソースコードができる。

3、保守と再利用が可能な設計を追及する。

基本原則を適用したら、最後にデザインパターン等を適用させて保守及び再利用性に優れたソースコードに変更する。
これを行うことにより、他のアプリケーションでも使いまわしたりできたり、保守、メンテナンス性にすぐれたソフトウェアになる。

基本の開発の流れは、一つの要求に対して1〜3のステップを繰り返し行っていくこと。
このサイクルを繰り返していくことにより、大きなソフトウェアを作ることができるし、技術の財産が蓄積されていく。

これを完璧にこなせるようにするのが目標だな〜。