密結合とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > デジタル大辞泉 > 密結合の意味・解説 

みつ‐けつごう〔‐ケツガフ〕【密結合】


密結合

プログラミングのほかの用語一覧
オブジェクト指向:  コンストラクタ  コンポーネント  メソッド  密結合  OCX  OLE  ORB

結合度

(密結合 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/08 04:41 UTC 版)

結合度(けつごうど、カップリング、coupling)とは、コンピュータープログラミングで用いられる(機械よりは)人間寄りの尺度。ソフトウェア測定法の一種。利用者またはメンテナンスをする者にとって対象を利用、保守しやすいように対象の内容が整理、分割できているかどうかを、その状態によって段階に分けて表現する。

概説

コンピュータープログラマにとっては、既存のソフトウェア製品に対して 無い機能の追加、対応していないデータへの対応といった事柄に対応する場面がある。この際、全ての既存のソフトウェア製品の内部(より具体的にはソースコード)の各機能各データに対して、どのデータはどこで利用されまたどこで利用されていないか確実に判断できるよう整理、分割が行き届いている状態を結合度が低いと表現する。結合度は低いほど好ましい。逆に結合度が高いとは、例えば1つのデータの持ち方の変更が 部品の関連性を伝って波及し(遠く離れた、と感じる)意図しなかった箇所での不具合を招く。1つの変更に対して 広範囲かつ複数の散在した箇所の部品の動作を改造する必要が出てくることがある。

結合度の程度

結合度の概念モデル

結合度

結合度は、品質尺度であり、ソースコードを調査検討することで結合度の程度が分類される。高い結合度から低い結合度までを以下のように分類できる:

手続き型プログラミング

内容結合(Content coupling)「高」
病理学的結合とも呼ばれ、あるモジュールが別のモジュールの内部動作によって変化したり依存したりする(例えば別のモジュールの内部データを直接参照する)。したがって、あるモジュールのデータを生成する方法(場所、種類、タイミング)を変更することは、依存するモジュールの変更につながる可能性がある。
共通結合(Common coupling)
グローバル結合とも呼ばれ、二つのモジュールが同じグローバルデータ(例えば、グローバル変数)を共有する。共通のリソースを変更すると、それを使用したすべてのモジュールを変更することを意味する。
外部結合(External coupling)
二つのモジュールは、外部から供給されたデータ·フォーマット、通信プロトコル、またはデバイスインターフェイスを共有している場合に起こる。 これは基本的に外部ツールやデバイスへの通信に関連している。
制御結合(Control coupling)
あるモジュールに何をすべきかについての情報(例えば、処理を制御するためのフラグ)を渡すことで、別のモジュール処理の流れを制御する。
スタンプ結合(Stamp coupling)
複数のモジュールが複合データ構造を共有し、その一部のみを使用する(例えば、全レコードの中の1つのフィールドを必要とする関数に全レコードのデータの構造体を渡す)。異なる部分も使用可能。これは、モジュールが必要としないフィールドが変更されることにより、モジュールのレコードを読み取る方法を変更することにつながる可能性がある。
データ結合(Data coupling)
モジュールを介してデータを共有する場合、例えば、引数である。 各データは基本部分であり、これらは単純なデータの受け渡しのみを行う(例えば、数値を渡してその平方根を返す)。
メッセージ結合(Message coupling)「低」
最も結合度が低い結合の種類である。(引数のない)メソッドの呼び出し。メッセージパッシング。
無結合(No coupling)
モジュールが相互に全く通信を行わない。

オブジェクト指向プログラミング

サブクラス結合(Subclass Coupling)
子クラスとその親クラスとの間の関係で、子クラスは、その親クラスに依存しているが、親クラスが子クラスを知らない状態。子クラスが親クラスに依存しすぎると、親クラスを修正するのが難しくなる。
一時的結合(Temporal coupling)
あるメソッドが別のメソッドに依存すること(例えば、executeしないとerrorが取得できない)。

関連項目

  • 粒度 …結合度は、対象に含まれる全ての要素(粒)の結び付きの尺度である。結合度の高さ低さとは直接関係はしないが、基本的に 粒度が高い方が結合度を低くしやすく好ましい。
  • 凝集度 …結合度が低い方が、基本的に凝集しやすく好ましい。

密結合

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2018/05/29 06:38 UTC 版)

Transaction Processing Facility」の記事における「密結合」の解説

TPFマルチプロセッサでの動作が可能である。TPFプログラムリエントラントであるため、マルチプロセッサであっても全く問題なく動作する立ち上がり時にメインCPU決定されるプログラムAPIによって明示的に使用するCPU指定されるz/TPFでは、CPU指定しないで起動されアプリケーション負荷バランス調整するようになっているTPFアーキテクチャでは、各CPUメモリ共有するが、CPU毎の固有領域4Kバイトずつ存在するアプリケーションCPU毎に固有のメモリ領域必要な場合、各CPUに同サイズ領域割り当てるようアプリケーション設計する例えば、この方式でTPFではCPU毎にユニークなグローバル変数サポートしている。このような領域へのアクセスベースアドレス自動的にCPU番号相当する値を加算することで行われる

※この「密結合」の解説は、「Transaction Processing Facility」の解説の一部です。
「密結合」を含む「Transaction Processing Facility」の記事については、「Transaction Processing Facility」の概要を参照ください。

ウィキペディア小見出し辞書の「密結合」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「密結合」の関連用語

密結合のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



密結合のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【密結合】の記事を利用しております。
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの結合度 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのTransaction Processing Facility (改訂履歴)、マルチプロセッシング (改訂履歴)、Webアプリケーションフレームワーク (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2024 GRAS Group, Inc.RSS