Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project Management Tool - PERT Analysis

This project is a comprehensive Python-based graphical user interface (GUI) application for project management, specifically focusing on the Program Evaluation and Review Technique (PERT) using an Activity-on-Arrow network approach.

It was originally developed as a coursework project for MSc Data Science and has been refined to provide an accurate, interactive, and visually appealing tool for analyzing project schedules.

Walkthrough Video

Check out the full walkthrough of the application on YouTube:

TL;DR & Quick Start

  • Platform: The standalone executable is designed for Windows OS (if you receive a Windows Defender warning, select "More info" → "Run anyway").
  • Input Format: Uses the Head-Tail Node format (Activity-on-Arrow) rather than dependency mapping. You need to provide the Activity Name, Tail Node, Head Node, and 3 time estimates (Optimistic, Most Likely, Pessimistic).
  • Templates: Don't want to type manually? Use the "Load Template" or "Generate template" features within the app to see it in action instantly.

Features

  • Activity-on-Arrow Network Representation: Accurately visualizes project nodes and activities.
  • Three Time Estimates: Inputs for Optimistic, Most Likely, and Pessimistic time estimates for accurate expected duration and variance calculations.
  • Comprehensive Float Calculations: Calculates Total Float, Free Float, and Independent Float.
  • Probability Analysis: Calculates the probability of completing the project within a targeted timeframe based on network variance.
  • Interactive Network Visualization: Features draggable nodes for optimal layout adjustments.
  • Built-in Templates: Includes common project structures (Construction, Software Development, Case Studies) for quick start and learning.
  • Data Import/Export: Ability to export reports and diagrams, as well as load data directly from Excel and CSV templates.

Tech Stack

  • Python: Core programming language.
  • Tkinter: Standard GUI library for the application interface.
  • NetworkX: For graph algorithms, network structures, and critical path analysis.
  • Matplotlib: For rendering the interactive network diagrams.
  • Pandas & NumPy: For data management and spreadsheet integration.
  • SciPy: For statistical analysis (normal distribution) in probability calculations.

Installation & Setup

Prerequisites

Ensure you have Python 3.7+ installed.

Install the required dependencies using pip:

pip install networkx matplotlib pandas numpy scipy

Running the Application

To run the application from the source code, simply execute the main Python script:

python pert_analyzer.py

Usage Instructions

  1. Home Screen: Choose Program Evaluation and Review Technique to launch the analyzer.
  2. Adding Activities: Manually input Tail Node, Head Node, Activity Name, Optimistic, Most Likely, and Pessimistic times using the input table. Click "+ Add Activity" or use the Tab/Enter keys to add more rows.
  3. Loading Templates: Click "Load Template" to select from pre-defined project structures to see how the tool works.
  4. Analysis: Click "Analyze" to compute the event times, critical path, and float values. The network diagram will be rendered, and detailed results will be populated in the tabs.
  5. Probability Calculation: After analysis, input a target project duration in the visualization pane and click "Calculate" to find the probability of meeting that deadline.
  6. Exporting: Use "Export to Excel" or "Save Diagram" to save your analysis results.

Author

Developed by Barath K as part of the Optimization Techniques coursework for the MSc Data Science program at Vellore Institute of Technology (VIT).

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A Python GUI application for advanced Program Evaluation and Review Technique (PERT) analysis, featuring interactive network visualization and probabilistic scheduling.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages