ソフトウェア開発で分析とは何を作るのか明確にすること
今日ソフトウェアの勉強をしていて「分析とはシステムで何を作成するかを決定する作業のこと」という一文が頭にガツンときました。
ソフトウェア開発者にとって「分析」という言葉はよく使うのですが、その意味を正確に理解している人は私を含めて少ないかもしれません。それがこんなにズバリ定義されるなんてすごい。
通り一遍のウィキペディア的説明だと、物事を分解して理解することという意味しか提示してくれないから今ひとつピンとこなかったんですよね。
何のために分解するのかがポイントなわけで、ソフトウェア開発の場合は何かを作るために分析しているのだから、分析という作業は何を作るのかを明らかにする作業そのものなのですね。
これを応用して何かバグなどの問題が起きた時に「問題を分析する」と言いますが、この場合は「問題に対して何をすべきかを決める」という意味になりますね。結果はバグをなおすことかもしれないし、ユーザに回避策を示すことかもしれません。