সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেল (SDLC) পর্যায় ও অংশসমূহ HRM and Payroll Project

⌘K
  1. Home
  2. সফটওয়্যার ডেভেলপমেন্ট লা...
  3. 4. ডাটাবেজ ডিজাইন (Databa...
  4. ধাপ ৩: ডেটাবেজ ডিজাইন পার...
  5. 07. ছুটি ব্যবস্থাপনা (Leave Management)

07. ছুটি ব্যবস্থাপনা (Leave Management)

Leave Management মডিউলের প্রতিটি টেবিলের জন্য ফিল্ড সহ একটি উন্নত ডেটাবেজ ডিজাইন প্রদান করা হলো। প্রতিটি টেবিলের কাজ, ফিল্ডের বিবরণ, এবং রিলেশন দেওয়া হয়েছে যা জটিল Leave Management সিস্টেমের জন্য কার্যকর হবে।


Leave Management Database Design with Field Details

স্টেপ ১: Leave Types Creation

1. leave_types টেবিল:
এই টেবিলটি প্রতিটি কোম্পানির জন্য বিভিন্ন ধরনের ছুটির শ্রেণী সংরক্ষণ করবে।

Field NameData TypeDescription
leave_type_idINT (PK)প্রতিটি ছুটির ধরণের জন্য ইউনিক আইডি
company_idINT (FK)কোম্পানির আইডি (যার সাথে ছুটির ধরন সম্পর্কিত)
leave_type_nameVARCHAR(50)ছুটির ধরণ (যেমন, Casual Leave, Sick Leave)
leave_codeVARCHAR(20)ছুটির কোড (ইউনিক আইডেন্টিফায়ার)
max_days_per_yearINTপ্রতি বছরে ছুটির সর্বোচ্চ সংখ্যা
carry_forwardBOOLEANছুটি পরবর্তী বছরে নেয়া যাবে কিনা (True/False)
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: company_id companies টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি ছুটির ধরন নির্দিষ্ট কোম্পানির অধীনে রয়েছে।


স্টেপ ২: Define Leave Policies

2. leave_policies টেবিল:
এই টেবিলটি প্রতিটি leave_type এর জন্য কোম্পানির নির্দিষ্ট নীতিমালা সংরক্ষণ করবে।

Field NameData TypeDescription
policy_idINT (PK)ছুটির নীতিমালার জন্য ইউনিক আইডি
company_idINT (FK)কোম্পানির আইডি (যার সাথে নীতিমালা সম্পর্কিত)
leave_type_idINT (FK)ছুটির ধরণ আইডি (leave_types থেকে)
applicable_forVARCHAR(50)কারা এই নীতিমালা পাবে (যেমন, All Employees, Managers)
descriptionTEXTনীতিমালার বিবরণ
effective_dateDATEনীতিমালার কার্যকরী তারিখ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: company_id companies টেবিলের সাথে এবং leave_type_id leave_types টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি ছুটির নীতিমালা নির্দিষ্ট কোম্পানির অধীনে একটি নির্দিষ্ট ছুটির ধরনকে প্রযোজ্য।


স্টেপ ৩: Employee Leave Applications

3. employee_leaves টেবিল:
এই টেবিলটি কর্মীদের ছুটির আবেদন সংরক্ষণ করবে।

Field NameData TypeDescription
leave_idINT (PK)ছুটির জন্য ইউনিক আইডি
employee_idINT (FK)কর্মীর আইডি (যে কর্মী ছুটি চেয়েছেন)
leave_type_idINT (FK)ছুটির ধরণ (যেমন, Sick Leave, Casual Leave)
start_dateDATEছুটি শুরুর তারিখ
end_dateDATEছুটি শেষের তারিখ
total_daysINTমোট ছুটির দিন
reasonTEXTছুটির কারণ
statusENUMছুটির অবস্থা (Pending, Approved, Rejected)
applied_onTIMESTAMPছুটি আবেদন করার তারিখ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: employee_id employees টেবিলের সাথে এবং leave_type_id leave_types টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি ছুটি আবেদন নির্দিষ্ট কর্মী এবং ছুটির ধরনের সাথে সম্পর্কিত।


স্টেপ ৪: Approval Workflow Setup

4. approval_workflow টেবিল:
এই টেবিলটি প্রতিটি leave_type এর জন্য অনুমোদন ওয়ার্কফ্লো এবং এর ধাপ নির্ধারণ করবে।

Field NameData TypeDescription
workflow_idINT (PK)অনুমোদনের ওয়ার্কফ্লো আইডি
company_idINT (FK)কোম্পানির আইডি
leave_type_idINT (FK)ছুটির ধরণ আইডি
approver_levelINTঅনুমোদনের স্তর (যেমন, ১ = প্রথম স্তর, ২ = দ্বিতীয় স্তর)
approver_roleVARCHAR(50)অনুমোদকের ভূমিকা (যেমন, Department Head, HR Manager)
escalation_daysINTকত দিন পর এটি পরবর্তী স্তরে যাবে
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: company_id companies এবং leave_type_id leave_types টেবিলের সাথে সংযুক্ত থাকবে। প্রতিটি ছুটি ওয়ার্কফ্লো নির্দিষ্ট কোম্পানি এবং ছুটির ধরন অনুযায়ী থাকবে।


স্টেপ ৫: Leave Approvals

5. leave_approvals টেবিল:
এই টেবিলটি প্রতিটি ছুটির আবেদনের বিভিন্ন স্তরের অনুমোদন সংরক্ষণ করবে।

Field NameData TypeDescription
approval_idINT (PK)ছুটি অনুমোদনের জন্য ইউনিক আইডি
leave_idINT (FK)ছুটির আইডি (employee_leaves থেকে)
approver_idINT (FK)অনুমোদকের আইডি
approval_levelINTঅনুমোদনের স্তর
approval_statusENUMঅনুমোদনের অবস্থা (Approved, Rejected, Pending)
approval_dateTIMESTAMPঅনুমোদনের তারিখ
remarksTEXTমন্তব্য (যদি থাকে)
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: leave_id employee_leaves টেবিলের সাথে এবং approver_id employees টেবিলের সাথে সংযুক্ত থাকবে, যা প্রতিটি অনুমোদন স্তরের তথ্য সংরক্ষণ করবে।


স্টেপ ৬: Leave Escalations

6. leave_escalations টেবিল:
এই টেবিলটি নির্দিষ্ট সময়ে অনুমোদন না হলে, ছুটির আবেদন পরবর্তী স্তরে স্বয়ংক্রিয়ভাবে এস্কেলেট করা হবে।

Field NameData TypeDescription
escalation_idINT (PK)এস্কেলেশনের জন্য ইউনিক আইডি
leave_idINT (FK)ছুটির আইডি
current_levelINTবর্তমান অনুমোদনের স্তর
escalated_to_levelINTএস্কেলেট করা স্তর
escalation_dateTIMESTAMPএস্কেলেশনের তারিখ
reasonTEXTএস্কেলেশনের কারণ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: leave_id employee_leaves টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে কোনো নির্দিষ্ট স্তরে অনুমোদন না হলে, স্বয়ংক্রিয়ভাবে পরবর্তী স্তরে এস্কেলেশন করা যায়।


স্টেপ ৭: Leave Balance Update

7. leave_balance টেবিল:
এই টেবিলটি কর্মীদের ব্যবহৃত ও অবশিষ্ট ছুটির হিসাব সংরক্ষণ করবে।

Field NameData TypeDescription
balance_idINT (PK)ছুটির ব্যালেন্সের জন্য ইউনিক আইডি
employee_idINT (FK)কর্মীর আইডি
leave_type_idINT (FK)ছুটির ধরণ
total_allocated_daysINTবরাদ্দকৃত মোট ছুটির দিন
used_daysINTব্যবহৃত ছুটির দিন
remaining_daysINTঅবশিষ্ট ছুটির দিন
last_updatedTIMESTAMPসর্বশেষ আপডেটের তারিখ
created_atTIMESTAMPতৈরি করার তারিখ
updated_atTIMESTAMPআপডেট করার তারিখ

রিলেশন: employee_id employees টেবিলের সাথে এবং leave_type_id leave_types টেবিলের সাথে সংযুক্ত থাকবে, যা নিশ্চিত করবে যে প্রতিটি কর্মীর ছুটির ব্যালেন্স নির্দিষ্ট ছুটির ধরন অনুযায়ী সংরক্ষিত।


সারসংক্ষেপ

এই আপডেটেড Leave Management Database Design এ প্রতিটি টেবিলের ভূমিকা, ফিল্ডের বিবরণ এবং স্টেপ-বাই-স্টেপ প্রক্রিয়ার মাধ্যমে ছুটির আবেদন থেকে চূড়ান্ত অনুমোদন পর্যন্ত পুরো প্রক্রিয়াটি সুসংহতভাবে সম্পন্ন করা যায়। এতে বহু-স্তরের অনুমোদন, এস্কেলেশন, এবং ছুটির ব্যালেন্স আপডেট সহজ এবং কার্যকরভাবে সম্পাদন করা সম্ভব, যা বড় ও জটিল প্রতিষ্ঠানের Leave Management এর জন্য আদর্শ।

একটি গার্মেন্টস কোম্পানি “ABC Garments Ltd.” এর জন্য Leave Management মডিউলটি কিভাবে কাজ করবে, তা নিচে বিস্তারিতভাবে ব্যাখ্যা করা হলো।

ABC Garments Ltd. কোম্পানির ছুটি ব্যবস্থাপনা উদাহরণ

“ABC Garments Ltd.” কোম্পানির বিভিন্ন কর্মী, ডিপার্টমেন্ট, এবং পদবী রয়েছে। কোম্পানিটি একটি Leave Management সিস্টেম ব্যবহার করছে, যেখানে কর্মীরা বিভিন্ন ধরনের ছুটি আবেদন করতে পারেন, এবং প্রত্যেকটি আবেদন নির্দিষ্ট স্তরের অনুমোদনের মাধ্যমে প্রক্রিয়াকরণ করা হয়। এখানে প্রতিটি স্টেপ ব্যাখ্যা করা হয়েছে, যা মডিউলের প্রতিটি টেবিলের ভূমিকা ও কার্যকারিতা বুঝতে সাহায্য করবে।


স্টেপ-বাই-স্টেপ Leave Management উদাহরণ

স্টেপ ১: ছুটির ধরন তৈরি করা (Leave Types Creation)

leave_types টেবিল:
ABC Garments Ltd. এর অ্যাডমিন প্রথমে ছুটির বিভিন্ন ধরনের শ্রেণী তৈরি করেন।

  • উদাহরণস্বরূপ:
    • Casual Leave (CL): প্রতি বছরে ১০ দিন।
    • Sick Leave (SL): প্রতি বছরে ৮ দিন।
    • Annual Leave (AL): প্রতি বছরে ১৫ দিন।
    এই ছুটির ধরনগুলি leave_types টেবিলে যুক্ত করা হবে।
leave_type_idcompany_idleave_type_nameleave_codemax_days_per_yearcarry_forward
11Casual LeaveCL10No
21Sick LeaveSL8No
31Annual LeaveAL15Yes

বিঃদ্রঃ company_id নিশ্চিত করবে যে প্রতিটি leave_type নির্দিষ্ট কোম্পানির জন্য ব্যবহার করা হচ্ছে।


স্টেপ ২: ছুটির নীতিমালা নির্ধারণ (Define Leave Policies)

leave_policies টেবিল:
ABC Garments Ltd. এর HR ম্যানেজার প্রতিটি leave_type এর জন্য একটি নীতিমালা নির্ধারণ করেছেন।

  • উদাহরণস্বরূপ:
    • Casual Leave শুধুমাত্র Staff এবং Technician পদে থাকা কর্মীদের জন্য প্রযোজ্য।
    • Sick Leave সব কর্মীর জন্য প্রযোজ্য।
    • Annual Leave শুধুমাত্র Manager এবং তার উপরের স্তরে প্রযোজ্য।
policy_idcompany_idleave_type_idapplicable_fordescriptioneffective_date
111Staff, TechnicianCL পদের কর্মীদের জন্য প্রযোজ্য2023-01-01
212All EmployeesSL সব কর্মীদের জন্য প্রযোজ্য2023-01-01
313Manager+AL ম্যানেজার এবং তার উপরের জন্য2023-01-01

বিঃদ্রঃ leave_type_id এবং company_id এর মাধ্যমে প্রতিটি leave_policy নির্দিষ্ট leave_type এবং কোম্পানির সাথে সংযুক্ত থাকবে।


স্টেপ ৩: কর্মীর ছুটির আবেদন (Employee Leave Application)

employee_leaves টেবিল:
Employee ID: 101 (নাম: মোঃ আরিফ) Sick Leave (SL) এর জন্য ৩ দিনের ছুটি আবেদন করেছেন।

leave_idemployee_idleave_type_idstart_dateend_datetotal_daysreasonstatus
110122023-02-102023-02-123Fever and coughPending

বিঃদ্রঃ কর্মীর ছুটির আবেদন করার পর, status ফিল্ডের মান Pending থাকবে, যা প্রথম স্তরের অনুমোদনকারী (যেমন, ডিপার্টমেন্ট হেড) এর অনুমোদনের অপেক্ষায় থাকবে।


স্টেপ ৪: অনুমোদন ওয়ার্কফ্লো (Approval Workflow Setup)

approval_workflow টেবিল:
ABC Garments Ltd. এর জন্য Sick Leave এর অনুমোদন ওয়ার্কফ্লোটি নিম্নরূপ:

  • প্রথম স্তরে Department Head অনুমোদন দেবেন।
  • দ্বিতীয় স্তরে HR Manager অনুমোদন দেবেন, যদি Department Head অনুমোদন দেন।
workflow_idcompany_idleave_type_idapprover_levelapprover_roleescalation_days
1121Department Head2
2122HR Manager2

বিঃদ্রঃ এই টেবিলটি নিশ্চিত করবে যে প্রতিটি ছুটি সঠিকভাবে স্তরে স্তরে অনুমোদিত হচ্ছে এবং নির্দিষ্ট সময়ে অনুমোদন না হলে পরবর্তী স্তরে এস্কেলেট হবে।


স্টেপ ৫: Leave Approvals

leave_approvals টেবিল:
Department Head প্রথম স্তরে মোঃ আরিফের Sick Leave অনুমোদন করেছেন, এবং এটি এখন HR Manager এর অনুমোদনের অপেক্ষায় রয়েছে।

approval_idleave_idapprover_idapproval_levelapproval_statusapproval_dateremarks
112011Approved2023-02-09Approved by Department Head

বিঃদ্রঃ প্রতিটি স্তরের অনুমোদন তথ্য leave_approvals টেবিলে সংরক্ষিত থাকবে এবং কর্মীর ছুটির আবেদন চূড়ান্ত অনুমোদন না পাওয়া পর্যন্ত এভাবে স্তরে স্তরে অনুমোদনের জন্য অপেক্ষা করবে।


স্টেপ ৬: Leave Escalations

leave_escalations টেবিল:
যদি নির্দিষ্ট সময়ে approval_workflow অনুযায়ী অনুমোদন না হয়, তাহলে সিস্টেমটি স্বয়ংক্রিয়ভাবে ছুটি আবেদনের স্তরটিকে পরবর্তী স্তরে এস্কেলেট করবে।

উদাহরণস্বরূপ: যদি Department Head নির্দিষ্ট সময়ের মধ্যে ছুটি অনুমোদন না করেন, তবে এটি স্বয়ংক্রিয়ভাবে HR Manager এর স্তরে চলে যাবে।

escalation_idleave_idcurrent_levelescalated_to_levelescalation_date
11122023-02-11

বিঃদ্রঃ leave_escalations টেবিল নিশ্চিত করবে যে অনুমোদন না হলে তা পরবর্তী স্তরে চলে যাচ্ছে।


স্টেপ ৭: Leave Balance Update

leave_balance টেবিল:
কর্মী আরিফের Sick Leave (SL) এর ৩ দিন ছুটি ব্যবহারের পর leave_balance আপডেট করা হবে। ধরুন, শুরুতে তার ৮ দিন Sick Leave ছিল।

balance_idemployee_idleave_type_idtotal_allocated_daysused_daysremaining_dayslast_updated
110128352023-02-12

বিঃদ্রঃ leave_balance আপডেট করে কর্মীর অবশিষ্ট ছুটির হিসাব রাখবে।


সারসংক্ষেপ

এই উদাহরণে, “ABC Garments Ltd.” কোম্পানির Leave Management মডিউলে প্রতিটি স্তরে ছুটির ধরন, নীতিমালা, অনুমোদন এবং এস্কেলেশন যুক্ত করা হয়েছে। এতে কর্মীরা ছুটি আবেদন করতে পারেন এবং নির্দিষ্ট স্তরের অনুমোদন প্রক্রিয়ার মাধ্যমে আবেদনটি প্রক্রিয়াকৃত হয়। এই পদ্ধতি নিশ্চিত করে যে প্রতিটি ছুটির আবেদন সঠিকভাবে অনুমোদিত ও ট্র্যাক করা হচ্ছে।

How can we help?