xerparser.dcma14.analysis

Classes

DCMA14

DCMA 14-point analysis for project schedule quality assessment.

Module Contents

class xerparser.dcma14.analysis.DCMA14(programme, duration_limit=1, lag_limit=0, tf_limit=0)[source]

DCMA 14-point analysis for project schedule quality assessment.

This class performs a comprehensive analysis of a project schedule based on the Defense Contract Management Agency (DCMA) 14-point assessment criteria.

Parameters:
  • programme – The project programme/schedule to analyze

  • duration_limit (int) – Threshold for activity duration analysis (default: 1)

  • lag_limit (int) – Threshold for relationship lag analysis (default: 0)

  • tf_limit (int) – Threshold for total float analysis (default: 0)

Returns:

Analysis results in the following structure:

{
    "analysis": {
        "summary": {"activity_cnt": int, "relationship_cnt": int},
        "predecessors": {"cnt": int, "activities": list, "pct": float},
        "successors": {"cnt": int, "activities": list, "pct": float},
        "lags": {"cnt": int, "relations": list, "pct": float},
        "leads": {"cnt": int, "relations": list, "pct": float},
        "relations": {"fs_cnt": int, "relationship": list},
        "constraints": {"cstr_cnt": int, "cstrs": list},
        "totalfloat": {"cnt": int, "activities": list, "pct": float},
        "negativefloat": {"cnt": int, "activities": list, "pct": float},
        "duration": {"cnt": int, "activities": list, "pct": float},
        "invaliddates": {"cnt": int, "pct": float},
        "resources": {"cnt": int, "activities": list, "pct": float},
        "slippage": {"cnt": int, "activities": list, "pct": float},
        "critical": {"cnt": int, "activities": list, "pct": float}
    }
}

count = 0[source]
programme[source]
dur_limit = 1[source]
lag_limit = 0[source]
tf_limit = 0[source]
results[source]
analysis()[source]

Perform the complete DCMA 14-point analysis.

Returns:

Analysis results containing all 14 assessment points

Return type:

dict

chk_successors()[source]

Check for activities with no successors.

Returns:

Activities that have no successor relationships

Return type:

list

chk_predessors()[source]

Check for activities with no predecessors.

Returns:

Activities that have no predecessor relationships

Return type:

list

get_activity(id)[source]

Get activity information by ID.

Parameters:

id – Activity ID to retrieve

Returns:

Activity information including id, name, duration, and total float

Return type:

dict or None