依存関係 【dependency】 依存性 / ディペンデンシー

概要

依存関係(dependency)とは、ある要素が別の要素の存在や完了などを前提としている関係のこと。主にソフトウェア間の関係やプロジェクト管理におけるタスク間の関係を表すのに用いられる。

ソフトウェア間の依存関係

ソフトウェアプログラミングの分野では、あるプログラムビルド実行のために、別のプログラムが必要であることを依存関係と呼ぶ。

例えば、あるプログラムが別のモジュールの機能を利用しており、実行ファイルビルドするには開発環境にそのモジュールを導入する必要がある場合や、実行ファイルが外部の動的リンクライブラリDLL)の機能を呼び出すようになっており、実行環境ライブラリを導入する必要がある場合などが該当する。

あるプログラムが依存するプログラムを取り寄せ、そのプログラムが依存するプログラムを取り寄せ…という作業を必要なプログラムが揃うまで繰り返す作業を「依存関係の解決」という。ビルドツールパッケージ管理システムなどの開発ツールには、プログラム間の依存関係を自動的に認識して解決する機能を内蔵しているものもある。

タスク間の依存関係

プロジェクト管理などの分野では、ある作業Bを始めるためには別の作業Aが完了している必要があるという関係のことを依存関係という。例えば、設計図が完成しないと製造を始められない、部品の製造と取り寄せが終わらないと完成品の組み立て工程に入れないといった関係が該当する。

プロジェクトの開始から終了までのタスクを、依存関係に従って矢印で結んで図示したものを「PERT図」あるいは「アローダイアグラム」という。途中で並行に進められる(互いに依存関係が無い)タスクが存在する場合があるため開始から終了までの経路は複数に分かることがあるが、様々な経路のうち所要時間が最も長いものがプロジェクト全体の工期となる。このような経路を「クリティカルパス」という。

(2021.5.26更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。