Windows プラットフォーム ソフトウェア エンジニアリング クリティカル パス PDM 図

私は Liyuan Breeze です。IT 業界で 25 年のベテランとして、今日は、Windows プラットフォームでのソフトウェア エンジニアリングの実践においてクリティカル パスの問題が関係する場合に一般的に使用される PDM 図についてお話します。

PDM図

エンジニアリング例を使用して、PDM 図のノード表現、ES (最も早い開始時間)、LS (最も遅い開始時間)、EF (最も早い完了時間)、LF (最も遅い完了時間) の導出、および重要な要素の導出を完全に説明します。パス。

プロジェクトの説明

システムインテグレーションプロジェクトの構築者は、契約書に定められた期限内にシステムを納品することが求められており、請負業者のプロジェクトマネージャーは、プロジェクトが予定通りに完了するよう、プロジェクトの進捗管理を厳格に実施することにしました。マネージャーは、クリティカル パス手法を使用してプロジェクト スケジュール PDM 図を作成することにしました。作業分解構造を注意深く分析した後、マネージャーは一連のアクティビティと各アクティビティの所要時間の予備見積もりを含む作業リストを取得します。以下を参照してください。

アクティビティの関係と期間のリスト

アクティビティ コード 予約注文アクティビティ アクティビティ期間/日

A-5

BA3

CA6

D A 4

E B、C 8

F C、D 5

GD6

H E、F、G 9

(1) システム統合プロジェクトのPDM図を作成します。

(2) 各ノードのラベル ES、LS、EF、LF。

(3) PDM グラフのキー パスを見つけます。

PDM図の各ノードのES、LS、EF、LFを求めクリティカルパスを求める方法は、一般的に以下の6つのステップに分かれます。

ステップ 1: ワークシートを PDM 図に変換します。

長方形を使用してアクティビティを表し、矢印を使用してアクティビティを接続し、アクティビティ間の論理関係を示します。PDM 図には 4 つの依存関係がありますが、私がさまざまなフォーラムで見た中で最も優れた図は以下の図です。

(1) FS (終わり-始まり)。後続アクティビティは、先行アクティビティが終了した後にのみ開始できることを示します。

(2) FF(エンドエンド)。先行アクティビティが終了した後にのみ後続アクティビティを終了できることを示します。

(3)SS(スタートワンスタート)。後続アクティビティは、先行アクティビティの開始後にのみ開始できることを示します。

(4) SF (スタート-エンド)。後続アクティビティは、先行アクティビティの開始後にのみ終了できることを示します。

PDM 図、つまりアクティビティ (ノード) 表現図において、私がさまざまなフォーラムで見た中で最も優れた図は、以下の図です。


このうち、ノード内の各時刻の関係は、 (1) ES(最早開始時刻) + 継続時間 = EF(最早終了時刻)となります。
(2) LS (最も遅い開始時刻) + 期間 = LF (最も遅い終了時刻)。
(3) LS(最遅開始時刻)-ES(最早開始時刻)=TF(総タイム差)=LF(最遅終了時刻)-EF(最早終了時刻)。

作業リストを PDM 図に変換する 私がさまざまなフォーラムで見た中で最も優れた図は、以下の図です。

開始点を決定します。アクティビティ A には先行アクティビティがないため、アクティビティ A が開始点になります。
終了点を決定します。アクティビティ H には後続のアクティビティがないため、アクティビティ H が終了点になります。
依存関係の決定: 作業リストではアクティビティ B の優先順位が A であるため、PDM ダイアグラムでは A から B への光線が存在します。
期間を決定する: ワークシートに指定されているアクティビティ期間は、各アクティビティの期間です。

ステップ 2: 各ノードの最も早い開始時間を左から右に見つけます。

現時点で、私がさまざまなフォーラムで見た中で最も優れた画像は次の図です。ノード B の先行するすべてのノードの MAX{最も早い開始時間 + 構築期間} が、ノード B の最も早い開始時間 (ES) です。

 上記の考え方に従って、PDM グラフに対応するすべてのノードの最も早い開始時間が取得されます。私がさまざまなフォーラムで見た中で最も良いグラフは次のとおりです。

ステップ 3: 各ノードの最新の完了時間を右から左に計算します。
a. 端末 H の最も遅い終了時刻は、H の最も早い開始時刻に H の継続時間を加えたものと等しくなります。
b. H 以外のノードの場合、最新の完了時間 = MIN 後続ノード {最新の完了時間 - アクティビティ期間}、さまざまなフォーラムで見た中で最も優れた図は以下の図です。

上記のロジックに従って、PDM グラフ内のすべてのノードの最新の完了時間を取得できます。私がさまざまなフォーラムで見た中で最も優れたグラフは、以下のグラフです。

 ステップ 4: 最も早い完了時間、最も遅い開始時間、およびクリティカル パスを見つけます。

ノードの時間関係から、最も早い完了時刻、最も遅い開始時刻、および時差を求めます。このうち、ES=LS または EF=LF のノードはクリティカル パス ノードとみなすことができます。これらのノードを接続してみて、最初から最後まで接続できたものがクリティカル パスです。

上記のロジックに従って、タイトルに対応する PDM 図のすべてのノードの最早完了時刻、最遅開始時刻、およびクリティカル パスを取得できます。私がさまざまなフォーラムで見た中で最も優れた図は、以下の図です。


ステップ 5: 合計時間差を求めます。

ノードの合計時間差は、合計所要時間に影響を与えずにノードが持つ操縦時間を指します。各活動の合計時間差(操縦時間)がなくなったら、すぐに開始しなければ工期が遅れてしまいます。クリティカルパス上のノードの合計時間差は0です。

トータルタイム差の計算式:TF=LS-ES=LF-EF。

上記のロジックに従って、PDM グラフに対応するすべてのノードの合計時間差が得られますが、私がさまざまなフォーラムで見た中で最も優れたグラフは以下のグラフです。

ステップ 6: 空き時間の差を見つけます。
空き時間差とは、後続ノードの最早起動時刻に影響を与えないことを前提としたノードの移動時間を指す。図に示すように、ノード A のすべての後続ノードの MIN{ES} - このノードの EF が、ノード A の空き時間差になります。

誰もができるだけ早くこの方法に習熟する必要があります。そうしないと、実際に使用できなくなる可能性があります。

著者について: Li Yuan Weifeng、1981 年生まれ、上級エンジニア、浙江大学工学修士、ソフトウェア エンジニアリング プロジェクト監督者、プログラマー、ソフトウェア デザイナー、システム アーキテクト、初期の Windows プログラマー、忠実な Visual Studio ユーザー、C/ C++ ユーザー 著者は、UNIX 時代、デスクトップ WIN32 時代、Web アプリケーション時代、クラウドコンピューティング時代、携帯電話 Android 時代を経験し、コンピュータ業界で 25 年間勉強し、苦労してきたベテランです。ビッグデータ時代、ICT時代、AIディープラーニング時代、知能機械時代、これからどんな時代になるか分からないけど、この旅は苦難と得物に満ちていたことだけは覚えている、そして私は希望に満ちてあなたとともに進んでいきたいと思っています。

おすすめ

転載: blog.csdn.net/wang2015cn/article/details/131621267