不具合

出典: フリー百科事典『ウィキペディア(Wikipedia)』

不具合(ふぐあい)とは、基本的には「具合が良くない」という表現であり、「調子状態が悪いこと[1]」。何らかのアイテムが、要求される機能を実行できない状態[2]

「不具合」は、もともとは、調子や状態が悪いことを、かなり漠然と広く指す日常的な表現でありもともとは技術用語ではなかったが、現在では工業規格などで定義が行われるようになっている。

機械類の場合[編集]

機械類の場合

工業品の品質改善・性能向上・安全性向上・生産効率増進のための日本の規格であるJISでは、定義が行われ、「予防保全若しくは計画的行動又は外部資源の不足によって機能を実行できない状態を除き、要求される機能を実行できないアイテムの状態[3]」とされた。つまり「不具合」とは(何らかのアイテムが)「要求される機能を実行できない状態」を基本的に指しており、ただしその機能実行不能状態というのが、予防・保全、計画的行動、外部資源不足(つまりアイテム内の資源ではなくて、アイテム外の資源が足りないこと)などによって起きている場合は「不具合」には含めない、という線引きをしている、ということである。

工業製品全般にこれはあてはまると言っても良い。

では「要求される機能を実行できない状態」がどのようなことで起きるかと言うと、さまざまである。その原因の分類法も多いが、そのひとつに、以下のような広く行われている分類法がある

  • 初期不良(品)- 製造した時にすでに欠陥品で、その状態で使用者の手元に届いていた場合。初期不良はさまざまな原因で起きる。これについては後節で解説。
  • 無理な使用 - 使用者が、取扱説明書で禁じられている使用法や、あるいは(法的、良識的な観点で)当然やってはいけないような使用法でアイテムを使ってしまい、それによりアイテムの部品や構造などが破損した場合
  • 消耗品・交換部品の交換し忘れ - 工業製品の部品などのなかで、いわゆる「消耗品」を指定された使用量や期間で交換することを忘れる場合。工業製品の部品の中にはいわゆる「消耗品」と呼ばれる、使えば自然に劣化・摩耗などするものも多く、これらはメーカーから指定された使用量や期間で交換しなければならない。それを忘れてしまったり、知っていながら怠ってしまったりすると機能不全を引き起こすことがある。たとえば自動車のエンジンエンジンオイルは指定された走行距離数や月数などによって交換しなければならないのだが、それを怠っているとスラッジ(金属くず)がエンジン内に溜まるなどしてエンジンが機能不全を起こしてしまうことがある。
  • 使用期限の到来 - 定められた使用期限を迎えて、使えなくなる場合。たとえば消火器などは内部に薬剤が入っており、年数とともに薬剤が変化・劣化し使えなくなる。期限を迎えたら基本的に廃棄・交換となる。
  • 経年劣化(寿命) - 通常の、妥当な使用方法で長年にわたり使用しつづけているうちに、アイテム全体が劣化したり破損した場合。ユーザーが悪いわけでもメーカーが悪いわけでもなく、廃棄するなどして、別の新しい製品を手に入れるなどすることになる。
初期不良の原因

さて1番目に挙げた初期不良について説明すると、大きく分けると以下のような場合がある。

  • 設計自体に問題がある場合
  • 製造段階の問題、あるいは(製造後の)品質検査(品質管理)に問題がある場合
  • 出荷・輸送時の破損

頻度が高い、製造時の失敗によるものは、一般にメーカーが良品に交換に応じるということが行われており、輸送時の破損事故によるものは、運送業者が保険を用いて損害額を補償するなどということ(その補償で使用者は良品をあらためて購入するか、あるいは運送業者がメーカーに補償し、メーカーがユーザに新品の良品を届ける)ということが行われているが、設計自体に重大な問題がある場合は、代わりとなる良品が無い場合もしばしばで、代替品が無い場合は製品回収および返金となる。設計ミスによる初期不良が起きた場合は、メーカーはそれを公表して、ユーザーに連絡をとり、無償で修理や交換をする、というリコール制度に関する法律が徐々に整備されてきた歴史がある。

設計自体に問題がある場合についての解説は「設計」の記事に譲る。

類義語、同義語

なお類義語に、英語の表現フォールト(fault)やfailure(故障)がある。

  • faultという英語も、日本語の「不具合」同様にもとは日常表現であり、後から技術用語化したものである。こちらは主に米国の組織が定義しているわけだが、米国のISO 10303-226の定義などは、上述した日本のJISによる「不具合」の定義・意味とおおむね重なる。その結果、日本語と英語がごちゃ混ぜで飛び交う環境・現場では、専門家でも「不具合」と「フォールト」は同義語のように使っている。

(ただし、電気通信分野の規格である連邦規格1037Cは、再現性があるか / 偶発的 で分類しており、とらえ方の入り口が異なっている。)

  • 故障もJISの定義では、「要求された機能を遂行する機能単位の能力がなくなること[4]」これの英語が「failure」となっている。

というわけで、専門家の間においても、「不具合」「フォールト」「故障」は区別して使われていないことが多い。ただし、JISの定義では「故障は(一回きりの)イベント(出来事)」「フォールトは(継続した)状態」と定めて、一応は使い分けている。


コンピュータの場合[編集]

コンピュータの不具合がどのように起きるかというと、実にさまざまである。

ソフトウェアのレベルで起きることもあるし、ハードウェアのレベルで起きることもある。

前者のソフトウェアコンピュータ・プログラム)の不具合はどのようにして起きるかと言うと、これもさまざまである。

バグとはコンピュータ用語では「プログラムに含まれる誤り」や広く「ソフトウェア開発者の意図した動きと違う動作をする原因」を指すが、その原因もさまざまである。

  • 単純な誤記、タイプ入力ミス - 数字をひとつ入力し間違えるだけでプログラムは、意図と異なった動作をしてしまう。たとえば2と入力するつもりで隣の3のキーを押せば意図とは異なる動作になる。
  • 小さな勘違い - たとえばループの回数をカウントさせる場合に、0からカウントさせているか、1からカウントさせているかで、つい勘違いしてしまうことなど。
  • 変数の型(データ型)の勘違い
  • 呼びだすライブラリの指定間違い
  • 単なる前後関係の勘違い
  • 処理全体の構想の根本的な矛盾、プログラム内部での機能と機能の衝突

等々である。あまりに種類が多すぎてここでは挙げきることができない。場合によっては、そもそも、システム開発としては最初期の段階、要件定義の段階で、根本的に間違っている場合もある。

詳細はソフトウェア開発を参照のこと。

不具合はハードウェアのレベルで起きることもある。

コンピュータ業界では、顧客からの電話を受け付けるサポート窓口では、「不具合」という言葉は頻繁に使用されることになる。というのは、顧客が電話をしてくるのは不具合がある時だからである。「このたびは、製品の不具合によりご迷惑をおかけして大変申し訳ございません」などという表現がしばしば使われる。また同時に、不具合の「原因の切り分け」(原因の分析)をするための質問をして、不具合解消のための方法を具体的に提案・示唆してゆくことになる。


脚注[編集]

  1. ^ デジタル大辞泉、不具合
  2. ^ JIS規格に沿った説明
  3. ^ JIS B 9700-1
  4. ^ JIS X 0014 : 1999 (ISO/IEC 2382-14 : 1997)

関連項目[編集]

外部リンク[編集]