Gantt Chart কি এবং কিভাবে কাজ করে?

Gantt Chart তৈরি করা - জেফ্রিচার্ট (JFreeChart) - Java Technologies

338

Gantt Chart একটি টাইমলাইন ভিত্তিক চার্ট যা প্রকল্প ব্যবস্থাপনা, শিডিউলিং এবং কার্যক্রমের অগ্রগতি প্রদর্শন করতে ব্যবহৃত হয়। এটি একটি সাধারণ গ্রাফিক্যাল টুল যা বিভিন্ন কার্যক্রমের সময়সীমা এবং পরবর্তী কাজের পরিকল্পনা প্রদর্শন করে। Gantt Chart সাধারণত বিভিন্ন কাজের মধ্যে সম্পর্ক, সময়সীমা এবং সম্পূর্ণতার স্তর দেখানোর জন্য ব্যবহৃত হয়, এবং এটি টাস্ক ম্যানেজমেন্ট বা প্রজেক্ট ম্যানেজমেন্টে গুরুত্বপূর্ণ ভূমিকা পালন করে।

JFreeChart তে Gantt Chart তৈরি করার জন্য কিছু বিশেষ পদ্ধতি এবং কনফিগারেশন প্রয়োজন। Gantt Chart তৈরি করার জন্য JFreeChart সাধারণত Category Plot এবং XY Plot ব্যবহার করে, যা নির্দিষ্ট সময়কাল এবং কার্যক্রমের সম্পর্ক প্রদর্শন করতে সক্ষম।


Gantt Chart এর উপাদান

Gantt Chart এর প্রধান উপাদানগুলি হল:

  1. Tasks (কাজ): প্রকল্পের জন্য পরিকল্পিত বিভিন্ন কাজের নাম।
  2. Time Axis (সময়ের অক্ষ): কাজের সময়সীমা এবং শুরু/শেষের তারিখ।
  3. Task Duration (কাজের সময়কাল): প্রতিটি কাজের জন্য নির্ধারিত সময়কাল।
  4. Dependencies (নির্ভরশীলতা): কিছু কাজের পরবর্তী কাজের জন্য নির্ভরশীলতা হতে পারে, যেমন এক কাজ শেষ না হলে অন্যটি শুরু করা যাবে না।

Gantt Chart তৈরি করা

JFreeChart তে Gantt Chart তৈরি করার জন্য আমরা CategoryPlot এবং XYPlot এর মাধ্যমে কাজের সময়কাল এবং তারিখসমূহের তথ্য প্রদর্শন করতে পারি। তবে JFreeChart এর মধ্যে Gantt Chart তৈরি করার জন্য সরাসরি কোন বিশেষ মেথড নেই, তবে এটি কিছু সাধারণ উপাদান এবং কাস্টম ডেটাসেটের মাধ্যমে বাস্তবায়ন করা যেতে পারে।

নিচে একটি সাধারণ Gantt Chart তৈরি করার উদাহরণ দেওয়া হল:

উদাহরণ: Gantt Chart তৈরি করা

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;

import javax.swing.*;
import java.awt.*;

public class GanttChartExample {

    public static void main(String[] args) {
        // Gantt Chart এর জন্য ডেটাসেট তৈরি করা
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        // ডেটা যোগ করা: (Task Name, Start Date, End Date)
        dataset.addValue(5, "Task 1", "2024-01-01");
        dataset.addValue(10, "Task 1", "2024-01-05");
        
        dataset.addValue(4, "Task 2", "2024-01-02");
        dataset.addValue(8, "Task 2", "2024-01-06");

        dataset.addValue(7, "Task 3", "2024-01-04");
        dataset.addValue(9, "Task 3", "2024-01-09");

        // Gantt Chart তৈরি করা
        JFreeChart chart = ChartFactory.createBarChart(
                "Project Schedule",    // Title
                "Date",                // X-axis label (Time)
                "Task",                // Y-axis label
                dataset,               // Dataset
                PlotOrientation.HORIZONTAL, // Orientation (Horizontal)
                true,                  // Include legend
                true                   // Tooltips
        );

        // Gantt Chart Panel তৈরি করা
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(new Dimension(800, 600));

        // JFrame তৈরি করে চার্ট প্যানেল যোগ করা
        JFrame frame = new JFrame();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(chartPanel);
        frame.pack();
        frame.setVisible(true);
    }
}

কোড ব্যাখ্যা:

  1. DefaultCategoryDataset:
    • এটি একটি সাধারণ ডেটাসেট যেখানে কাজের নাম এবং সময়কাল যোগ করা হয়েছে। প্রতিটি কাজের জন্য একটি স্টার্ট এবং এন্ড ডেট যোগ করা হয়েছে।
    • এখানে addValue(value, rowKey, columnKey) মেথডের মাধ্যমে কাজের সময়কাল যোগ করা হয়েছে। value হলো কাজের সময়কাল (এখানে ধরে নেওয়া হয়েছে প্রতিটি বারের দৈর্ঘ্য সময়কাল অনুযায়ী)।
  2. ChartFactory.createBarChart():
    • এই মেথডটি একটি Bar Chart তৈরি করবে, তবে এখানে বারগুলি গন্তব্য সময়ের উপর ভিত্তি করে কাজের সময়কাল প্রদর্শন করবে, যা একটি Gantt Chart এর মতো কাজ করবে।
    • PlotOrientation.HORIZONTAL ব্যবহার করা হয়েছে, যাতে X অক্ষের মধ্যে সময় এবং Y অক্ষের মধ্যে কাজের নাম প্রদর্শিত হয়।
  3. ChartPanel:
    • এটি JFreeChart এর একটি কন্টেইনার, যা চার্টটি প্রদর্শন করার জন্য ব্যবহৃত হয়।
  4. JFrame:
    • JFrame ব্যবহার করে চার্টটি GUI তে প্রদর্শন করা হয়েছে।

Gantt Chart কাস্টমাইজেশন

JFreeChart দিয়ে Gantt Chart কাস্টমাইজ করা যায়। এখানে কিছু সাধারণ কাস্টমাইজেশন দেখানো হল:

  • অক্ষের লেবেল কাস্টমাইজ করা: আপনি X এবং Y অক্ষের লেবেল পরিবর্তন করতে পারেন।

    chart.getCategoryPlot().getDomainAxis().setLabel("Custom Time Axis");
    chart.getCategoryPlot().getRangeAxis().setLabel("Custom Task Axis");
    
  • বারের রঙ পরিবর্তন করা: আপনি বারগুলির রঙ পরিবর্তন করতে পারেন।

    chart.getCategoryPlot().getRenderer().setSeriesPaint(0, Color.BLUE); // Task 1 এর রঙ
    chart.getCategoryPlot().getRenderer().setSeriesPaint(1, Color.GREEN); // Task 2 এর রঙ
    
  • টাইটেল কাস্টমাইজ করা: আপনি Gantt Chart এর টাইটেল পরিবর্তন করতে পারেন।

    chart.setTitle("Project Gantt Chart");
    

সারাংশ

Gantt Chart হলো একটি প্রকল্পের পরিকল্পনা এবং কার্যক্রমের অগ্রগতি প্রদর্শনের জন্য ব্যবহৃত শক্তিশালী ভিজ্যুয়াল টুল। JFreeChart ব্যবহার করে আপনি খুব সহজেই Gantt Chart তৈরি করতে পারেন, যেখানে কাজের সময়কাল এবং নির্দিষ্ট সময়ের মধ্যে কাজগুলোর অগ্রগতি দেখা যায়। JFreeChart এর মাধ্যমে আপনি কাস্টমাইজেশন করে বিভিন্ন প্রকল্পের পরিকল্পনা এবং কার্যক্রম ভিজ্যুয়ালি উপস্থাপন করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...