実装

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

実装(じっそう)とは、「ある構成要素を全体に対して取り付けること(組み立て)」、もしくは「ある機能を実現するための構成要素を具体化すること(実現する作業)」を指す。実際に何を行うかは分野によって異なるが、ある機能を実際に動作する状態に持っていくための最終段の作業である。

動詞的には、「~の機能を実装する」、「ハードウェア/ソフトウェアで実装する」という文で用いられる。名詞的に、「~の実装(implementation)」といった場合、ある機能を実現するモノやプログラム、もしくはある機能を実現するための手法や方式のことを指す。

通常、エレクトロニクスの分野では、電子部品プリント基板の上に取り付ける(はんだ付けする)作業を実装(アセンブリ)と呼ぶことが多いが、本来の意味は電気的機能を果たすための形態的具現化(packaging)である。ソフトウェアの分野では、プログラムを作成する作業を実装(implement)と呼び、「ある関数を実装する/あるクラスを実装する」などという文で用いられる。実装という言葉は、機械構造分野で使用される機会は少ないが、構造設計と実装は、比較的近い概念を持つものである。

設計と実装[編集]

ある機能を実現するという開発過程において、「設計と実装」は対で語られることが多い。どちらも極めて高度な知的作業であるが、機能を実現するための方法や枠組みを決定する抽象的な作業を設計と呼び、その機能を実際に動作させるための具体化作業を実装と呼ぶ。

設計と実装を比べると、設計は機能を実現するための要素と構成について、理論的に矛盾なくあらわす作業であるのに対して、実装は現実の世界で実際に形作ることによって機能を実現することであるから、現実における様々な状況に影響を受ける。そのため、設計に比べて、物理的、コスト的、時間的な影響をより直接的に受ける。

モノを作り出す過程としては、設計は上流、実装は下流に位置する。しかし、現実には、この2つの過程は明確に分離できるわけではなく設計と実装は緊密な関連がある。例えば、モノを実際に作り出すためには、実装時のことも考慮しないと設計はできない(実装上の制約)。逆に、実際に実現する際になって、「実装上の都合」で設計が変更されることもある。

なお、比較的、単純な機能なモノやソフトウェアの場合には、実装と同時に設計を行うこともあるが、現在の大規模開発においては分業が進んでいる。製品開発のモデルの詳細は、ソフトウェア開発方法論ウォーターフォールモデルコンカレントエンジニアリングなどを参照のこと。

上記、設計と実装という対の概念は、主にソフトウェアの分野で用いられる。ソフトウェア以外の分野では、「設計と製造」のように、実装ではなく製造が用いられることが多い。ソフトウェア以外の分野で、実装という言葉を用いるのは「ある特定の機能を実現する」ことに注目する場合である。

エレクトロニクス分野における実装[編集]

実装技術[編集]

エレクトロニクスの分野における実装技術は、電子部品をプリント基板にはんだ付けする技術という意味で用いられ、スルーホール実装SMT(表面実装技術)のことを示す場合が多かった。現在では多様化する電子部品に対し、実装技術もウェハーの状態から最終製品になるまでの電子部品の組み立て技術、具現化全般を意味するようになってきている。実装技術は製品の重量、大きさ、性能、コストや信頼性に大きく影響するため極めて重要である。実装技術はさらに高密度実装、高周波実装、高温・低温実装、鉛フリーはんだ、難燃性、長期信頼性など沢山の細かい分野に分かれ、多くの企業や大学が力を入れて研究開発を行っている。 →エレクトロニクス実装学会

月刊 実装技術[編集]

エレクトロニクス実装技術(えれくとろにくすじっそうぎじゅつ)とは、株式会社技術調査会[1]が発行する月刊誌である。 電子回路の設計・製造技術、材料、製造機器の最新情報、企業動向等を紹介している国内唯一の実装技術専門誌で毎月20日発行。創刊は1985年。発行部数は20,000部(2008年2月現在)。 一般書店では販売していない為、株式会社技術調査会に申し込んで購入する。月刊 実装技術

ソフトウェア分野における実装[編集]

ソフトウェア分野では、実装とは仕様アルゴリズムを具体的なプログラミング言語プログラムとして実現すること、つまり プログラミングである。

オープンコンピュータ言語ファイルフォーマットなどでは1つの仕様に対して複数の実装が存在しうる。この実装を実装系処理系とも呼ぶ。定義通り、それぞれの処理系は仕様を満たす動作をしなければならないが、仕様の不備、解釈の違い、バグ、独自の拡張などで挙動が異なる場合も多く、それらは方言として処理系の違いに表れる。そういった違いを除けば処理系は原則として「同じ」と考えられる動作を行い、差違は性能面にのみ現れる。