プログラムとは
この世の中には様々なシステムがあります。最近開発をしていて感じることはシステムとは如何にデータを扱い、ユーザーにどのように見せ、どのように編集させるかを決めるものだということです。
システムの本質はデータであるといえます。データはデータベースに保存されていたり、CSVファイルのようなものに保存されていたり、様々な形式で保存されています。
保存されているデータをどのように抽出して、どのように加工してユーザーに見せるのか、というのをプログラムで記述していい感じにするのがアプリケーションやシステムと呼ばれるものだ。というのが最近感じていることです。
設計
システムの本質がデータであるが故にデータに矛盾が生じてしまったり、見せてはいけない人にデータを見せてしまったり、更新されてしまうことは防がなければなりません。
そんな矛盾や不都合を防ぐために大切なのが、設計です。これはデータベース設計などのどのようにデータを保存しておくかといったデータベース設計や外部設計、内部設計のようにどのように閲覧・更新させるかというような設計など様々な種類のものがあります。
設計で如何に矛盾点や不都合が起こる可能性を潰しておけるかが重要となってきます。
テスト
そうなるとテストは設計で行ったデータの矛盾・不都合をなくすための考慮が正しく網羅できているのかを確認する作業と言えるでしょう。
実際に作ったプログラム・システムが思ったように動くか確認するための大切な工程です。ここを蔑ろにしてはいけません。
おわりに
学生時代は設計やテストはめんどくさくて煩わしいものだと思っていました。
しかしSE・PGとして実際に開発するようになってから大切さがわかるようになりました。