言葉雑学

要件と仕様の違いとは?目的や使い分ける理由もプログラマーがわかりやすく解説

よぉ、桜木建二だ。プログラム開発でよく出てくる言葉が要件や仕様だ。どちらも作るプログラムの内容を表すので、同じようなものと誤解されることも多い。しかし、両者は厳密には違うそうだ。相違点や分けて考える理由を要件定義や仕様作成の経験を多いプログラマでもあるライターのwoinaryと一緒に解説していくぞ。

解説/桜木建二

「ドラゴン桜」主人公の桜木建二。物語内では落ちこぼれ高校・龍山高校を進学校に立て直した手腕を持つ。学生から社会人まで幅広く、学びのナビゲート役を務める。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。要件定義や仕様作成の経験も多い。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

鏡の裏と表?プログラム開発に関係深い要件と仕様の違いとは

image by iStockphoto

ゲームやWebなどのサービスなどのプログラムはどうやって作るのでしょう。もしかして、プログラマがいきなりキーボードを叩いてプログラムを書き出したり、フローチャートといったものを書くと思っていませんか。小さなプログラムではそういうこともあります。しかし、多くの人が使うようなプログラムではまずは設計という作業からそこに欠かせないのが要件と仕様です。

どちらもそのプログラムがどんなものかを決めるもの。しかし、同じものではありません。ざっくり言うと家の間取り図が要件実際の設計図面が仕様です。ここではこの違いについて説明していきます。

要件:お客さんの思い浮かべた作りたいもの

要件とは要望や要求と呼ぶこともあります。英語では「Requirement」です。直訳すると必要な条件。つまり、お客さんがこんなプログラムが作りたいという必要な条件を記したものです。

例えば家を建てたり、アパートやマンションを探したりする際に、さまざまな条件がありますよね。どの線の沿線で、駅から歩いて何分、近くにコンビニがある、などなど。こういう必要な条件を書き出していったものが要件です。間取りもその一つですね。どういう部屋があり、どう配置されているのかも重要。間取り図が重要であることは理解できると思います。

仕様:要件に現実を反映した設計図

さて、要件の一つとして間取り図がありますが、これで家を建てることはできません。実際に家を建てるにはもっと壁の厚さや柱の位置を、強度などを基準にきちんと計算して設計図を作りますよね。間取り図を作る時点でもある程度そういうことを考えます。しかし、まずはどんな部屋を用意してどう配置するかが重要になるので、間取り図を先に考えるわけです。

プログラムを作る時も同じ。まずはお客さんがどんなプログラムが欲しいかの条件を書き出したもの=要件を元に、実際にどういうものを作るかを決めます。これが仕様。家に例えるならば設計図が仕様になります。

no-img2″>
 <figcaption class=桜木建二

家やビルなどの建物でもいきなり建築し始めるわけではなく、設計図を作るよな。プログラムでも同じだ。まずはお客さんのやりたいことを確認する。これが要件だ。それを元に実際に技術者が使える技術を元にどういうものを作るかを決めたものが仕様だ。似ているが、家で言えば間取り図と設計図くらい違うぞ。

何が違う?要件と仕様の目的

image by iStockphoto

要件と仕様はざっくりと言えば間取り図と設計図。でも、なぜ両方必要なのでしょうか。どちらか片方で兼用すればよいのでは。そう考えるかもしれませんね。それではなぜ両方必要なのかを説明していきます。

\次のページで「目指す夢を示すのが要件」を解説!/

次のページを読む
1 2 3
Share: