← All writing

software-development

ERD၊ Business Logic၊ Authorization — ဒီသုံးခု ခိုင်ရင် AI ကို ကုတ်ရေးခိုင်းလို့ရပြီ

· Aung Ko Man

Laptop displaying software code
Illustrative photo by AltumCode on Unsplash.

AI ကို Software ရေးခိုင်းတဲ့အခါ Framework ဘာသုံးမလဲ၊ UI ဘယ်လိုလှမလဲဆိုတာကနေ စတတ်ကြပါတယ်။

ဒါပေမယ့် တကယ်အရင်ရှင်းထားသင့်တာက ဒီသုံးခုပါ။

ERD။ Business Logic။ Authorization။

ဒီသုံးခု ခိုင်ရင် AI ကို ကုတ်ရေးခိုင်းဖို့ အခြေခံကောင်းတစ်ခု ရပြီလို့ ပြောနိုင်ပါတယ်။ သုံးခုလုံး မရှင်းသေးဘဲ စရေးခိုင်းရင်တော့ ကိုယ်မဆုံးဖြတ်ရသေးတဲ့ အချက်တွေကို AI က ယူဆချက်တွေနဲ့ ဖြည့်ရေးသွားနိုင်ပါတယ်။

ကုတ်တွေ ထွက်လာတာနဲ့ ကိုယ်လိုချင်တဲ့ စနစ်ဖြစ်လာတာက မတူပါဘူး။

၁။ ERD — ဘာဒေတာတွေရှိပြီး ဘယ်လိုဆက်နွယ်သလဲ

Assets Management System တစ်ခုကို နမူနာယူကြည့်ပါမယ်။

ပစ္စည်း၊ တည်နေရာ၊ ဝန်ထမ်းနဲ့ ပစ္စည်းလွှဲပြောင်းစာရင်းတွေ ရှိမယ်။

ဒါပေမယ့် အမည်တွေ စာရင်းချထားရုံနဲ့ မလုံလောက်သေးပါဘူး။

  • ပစ္စည်းတစ်ခုက လက်ရှိတည်နေရာတစ်ခုမှာပဲ ရှိနိုင်သလား။
  • ပစ္စည်းတစ်ခုကို တာဝန်ယူသူတစ်ယောက်ပဲ သတ်မှတ်မလား။
  • တည်နေရာတွေမှာ မိဘနဲ့ သားသမီးအဆင့်ဆင့် ရှိမလား။
  • လွှဲပြောင်းစာတစ်စောင်မှာ ပစ္စည်းတစ်ခုလား၊ အများကြီးလား။
  • လက်ရှိတည်နေရာနဲ့ အရင်လွှဲပြောင်းခဲ့တဲ့ ရာဇဝင်ကို ဘယ်လိုခွဲသိမ်းမလဲ။

ဒီအဖြေတွေက Table တွေ၊ ဆက်နွယ်မှုတွေ၊ မဖြစ်မနေပါရမယ့် Field တွေနဲ့ ထပ်မဖြစ်ရမယ့် ကန့်သတ်ချက်တွေကို ဆုံးဖြတ်ပေးပါတယ်။

ERD က စနစ်ရဲ့ ဒေတာအရိုးစုပါ။ ပုံတစ်ပုံဆွဲပြီးထားတာထက် အဲဒီပုံရဲ့အဓိပ္ပာယ်နဲ့ Database ကန့်သတ်ချက်တွေ ကိုက်ညီနေဖို့ လိုပါတယ်။

၂။ Business Logic — ဘယ်အခြေအနေမှာ ဘာဖြစ်ရမလဲ

ပစ္စည်းမှာ Status ဆိုတဲ့ Field တစ်ခုရှိတယ်။ အဲဒီ Status ကို ဘယ်အချိန်မှာ ပြောင်းမလဲဆိုတာက Business Logic ပါ။

ဥပမာ လွှဲပြောင်းမှုစနစ်တစ်ခုကို အခုလို သတ်မှတ်ထားမယ်ဆိုပါစို့။

  • လွှဲပြောင်းရန် တင်ပြရုံနဲ့ ပစ္စည်းရဲ့တည်နေရာ မပြောင်းသေးဘူး။
  • ထွက်ခွာကြောင်း အတည်ပြုမှ ပစ္စည်းကို လမ်းခရီးအခြေအနေ သတ်မှတ်မယ်။
  • လက်ခံသူက လက်ခံပြီးကြောင်း အတည်ပြုမှ လက်ရှိတည်နေရာကို ပြောင်းမယ်။
  • ပစ္စည်းတစ်ခုကို မပြီးသေးတဲ့ လွှဲပြောင်းမှုနှစ်ခုထဲ တစ်ပြိုင်တည်း မထည့်ရဘူး။

ဒီစည်းမျဉ်းတွေ မရေးထားရင် AI က “လွှဲပြောင်းစာ ဖန်တီးပြီးတာနဲ့ တည်နေရာပြောင်းပေးလိုက်မယ်” လို့ ရေးနိုင်ပါတယ်။ ကုတ်က အလုပ်လုပ်တယ်။ လုပ်ငန်းအရတော့ မမှန်ဘူး။

ပုံမှန်အောင်မြင်တဲ့လမ်းကြောင်းအပြင် ပယ်ဖျက်ရင်၊ တစ်စိတ်တစ်ပိုင်းပဲ လက်ခံရင်၊ နှစ်ယောက်တစ်ပြိုင်တည်း လုပ်ရင် ဘာဖြစ်မလဲဆိုတာပါ ဆုံးဖြတ်ထားဖို့ လိုပါတယ်။

Business Logic က CRUD ထက် ကျော်တဲ့ လုပ်ငန်းရဲ့ တကယ့်စည်းကမ်းတွေပါ။

၃။ Authorization — ဘယ်သူက ဘာကို ဘယ်အတိုင်းအတာအထိ လုပ်နိုင်သလဲ

Login ဝင်လို့ရတာနဲ့ အကုန်လုပ်လို့ရတာ မဟုတ်ပါဘူး။

ပစ္စည်းလွှဲပြောင်းမှုတစ်ခုမှာပဲ—

  • ဘယ်သူက တင်ပြနိုင်မလဲ။
  • ဘယ်သူက အတည်ပြုနိုင်မလဲ။
  • မိမိတင်ပြတာကို မိမိအတည်ပြုခွင့် ရှိမလား။
  • မိမိဌာနစာရင်းပဲ ကြည့်ရမလား၊ သတ်မှတ်ထားတဲ့ တည်နေရာအများအပြားကို ကြည့်ရမလား။
  • ထွက်ခွာပြီးသားစာကို ပြန်ပြင်ခွင့် ရှိသေးလား။

ဆိုတာတွေ သတ်မှတ်ရပါမယ်။

“Manager က ပြင်နိုင်တယ်” လို့ရေးတာထက် “သတ်မှတ်ထားတဲ့တည်နေရာအတွင်းက မူကြမ်းကိုသာ ပြင်နိုင်တယ်” လို့ ရေးထားတာက ပိုရှင်းပါတယ်။

UI မှာ ခလုတ်ဖျောက်ထားတာနဲ့ မပြီးပါဘူး။ API မှာပါ အဲဒီစည်းမျဉ်းအတိုင်း စစ်ရပါမယ်။ List၊ Detail၊ Export နဲ့ Report တွေမှာလည်း မြင်နိုင်တဲ့ဒေတာအကျယ်အဝန်း ကိုက်ညီရပါမယ်။

Authorization က Role နာမည်တွေ သတ်မှတ်တာတင် မဟုတ်ဘူး။ လူ၊ လုပ်ဆောင်ချက်၊ သက်ဆိုင်ရာဒေတာနဲ့ လက်ရှိအခြေအနေကို တွဲစစ်တာပါ။

သုံးခုကို သီးခြားရေးပြီး တစ်ခုနဲ့တစ်ခု ကိုက်မကိုက် စစ်ပါ

လွှဲပြောင်းလက်ခံခြင်းတစ်ခုအတွက်ဆိုရင်—

အခြေခံ ရှင်းထားရမယ့်အချက်
ERD လွှဲပြောင်းစာ၊ ပါဝင်ပစ္စည်း၊ မူလနဲ့ ဦးတည်တည်နေရာကို ဘယ်လိုချိတ်မလဲ
Business Logic လက်ခံအတည်ပြုပြီးမှ လက်ရှိတည်နေရာ ပြောင်းမယ်
Authorization သက်ဆိုင်ရာလက်ခံတည်နေရာအတွက် ခွင့်ရှိသူသာ လက်ခံနိုင်မယ်

သုံးခုလုံး ဆက်စပ်နေပါတယ်။ တစ်ခုချင်းစီ ကောင်းနေရုံနဲ့ မပြီးဘဲ အချင်းချင်း မဆန့်ကျင်ဖို့လည်း လိုပါတယ်။

Repository ထဲမှာ စတင်ထားနိုင်တဲ့ ဖိုင်သုံးခုကတော့—

  • ERD.md — Entity၊ Relationship နဲ့ Data Constraints။
  • BUSINESS_RULES.md — လုပ်ငန်းစီးဆင်းပုံ၊ အခြေအနေပြောင်းလဲမှုနဲ့ ခြွင်းချက်များ။
  • AUTHORIZATION.md — လုပ်ဆောင်ခွင့်၊ ဒေတာအကျယ်အဝန်းနဲ့ အခြေအနေအလိုက် ကန့်သတ်ချက်များ။

ပြီးရင် AI ကို အကန့်အသတ်နဲ့ ရေးခိုင်းပါ

“Assets Management System အပြည့်ရေးပါ” လို့ တစ်ခါတည်းခိုင်းမယ့်အစား—

ဒီဖိုင်သုံးခုကို ဖတ်ပါ။ မရှင်းတဲ့စည်းမျဉ်းကို ကိုယ်တိုင်မယူဆပါနဲ့။ ပစ္စည်းလွှဲပြောင်းလက်ခံခြင်းတစ်ခုကိုသာ အရင်ရေးပါ။ ခွင့်ရှိသူ လက်ခံနိုင်ခြင်း၊ ခွင့်မရှိသူ လက်ခံမရခြင်း၊ နှစ်ကြိမ်လက်ခံမရခြင်းနဲ့ တည်နေရာမှန်ကန်စွာ ပြောင်းခြင်းတို့အတွက် Test ရေးပါ။

ဆိုတဲ့ပုံစံနဲ့ ခိုင်းနိုင်ပါတယ်။

ဒီသုံးခု ခိုင်တာက စရေးလို့ရပြီဆိုတဲ့ အဓိပ္ပာယ်ပါ။ စမ်းသပ်စစ်ဆေးစရာ မလိုတော့ဘူးဆိုတဲ့ အဓိပ္ပာယ် မဟုတ်ပါဘူး။

UI/UX၊ လုံခြုံရေး၊ စွမ်းဆောင်ရည်၊ Backup၊ Deployment နဲ့ Code Review တွေလည်း ဆက်လိုပါတယ်။

ဒါပေမယ့် အခြေခံသုံးခု ရှင်းထားရင် AI ထုတ်ပေးတဲ့ကုတ်ကို “ကြည့်လို့ကောင်းတယ်” ဆိုတာထက် “သတ်မှတ်ထားတဲ့ စနစ်နဲ့ ကိုက်သလား” ဆိုတဲ့ စံနဲ့ စစ်နိုင်ပါပြီ။

AI ကို ကုတ်ရေးခိုင်းဖို့ Prompt ကောင်းတစ်ခုတည်း မလုံလောက်ပါဘူး။

ဘာကို တည်ဆောက်နေတာလဲဆိုတဲ့ ဆုံးဖြတ်ချက်တွေ ခိုင်ဖို့ လိုပါတယ်။