Skip to content
GitHub

Ride-Sharing App တစ်ခုကို ဒီဇိုင်းဆွဲခြင်း

ဒီအခန်းမှာတော့ အခုထိလေ့လာခဲ့သမျှတွေကို လက်တွေ့အသုံးချကြည့်ကြပါမယ်။ Uber ဒါမှမဟုတ် Grab လိုမျိုး Ride-sharing Application တစ်ခုကို အစအဆုံး ဘယ်လိုဒီဇိုင်းဆွဲမလဲဆိုတာကို Architect တစ်ယောက်ရဲ့ နေရာကနေ တွေးကြည့်ကြပါမယ်။ လိုအပ်ချက်တွေကို နားလည်တာကနေစပြီး၊ အရေးကြီးတဲ့ ဆုံးဖြတ်ချက်တွေ ချမှတ်တဲ့အထိ အဆင့်ဆင့် သွားကြပါမယ်။

စိန်ခေါ်မှု - “Sloth-Rider” App ကို တည်ဆောက်ခြင်း

Section titled “စိန်ခေါ်မှု - “Sloth-Rider” App ကို တည်ဆောက်ခြင်း”

ကျွန်တော်တို့ App ရဲ့ နာမည်ကို “Sloth-Rider” လို့ ပေးလိုက်ကြရအောင်။

အဆင့် 1: ဘာတွေလုပ်ပေးရမလဲ? (Functional Requirements)

Section titled “အဆင့် 1: ဘာတွေလုပ်ပေးရမလဲ? (Functional Requirements)”

App တစ်ခုမရေးခင် သူက ဘာတွေလုပ်ပေးရမလဲဆိုတာ အရင်သိဖို့လိုပါတယ်။

  • ကားငှားသူ (Rider) အတွက်:

    • အကောင့်ဖွင့်ပြီး Login ဝင်လို့ရရမယ်။
    • အနီးအနားမှာ ကားဘယ်နှစ်စီး အားနေလဲဆိုတာ မြေပုံပေါ်မှာ ကြည့်လို့ရရမယ်။
    • သွားချင်တဲ့နေရာကို ရွေးပြီး ကားခေါ်လို့ရရမယ်။
    • ကားသမား လာနေတာကို မြေပုံပေါ်မှာ အချိန်နဲ့တစ်ပြေးညီ (Real-time) ကြည့်လို့ရရမယ်။
  • ကားသမား (Driver) အတွက်:

    • အကောင့်ဖွင့်ပြီး ကားအချက်အလက်တွေ တင်လို့ရရမယ်။
    • ကိုယ်က ကားဆွဲဖို့ အဆင်သင့်ဖြစ်နေပြီ (Available) ဆိုတာကို အဖွင့်/အပိတ် လုပ်လို့ရရမယ်။
    • ခရီးသည်ဆီက အော်ဒါဝင်လာရင် လက်ခံမလား/ငြင်းမလား ရွေးလို့ရရမယ်။
    • ကိုယ်ဘယ်ရောက်နေလဲဆိုတာကို App ပေါ်မှာ အမြဲတမ်း Update ဖြစ်နေရမယ်။

အဆင့် 2: ဘယ်လောက်ကောင်းကောင်း အလုပ်လုပ်ရမလဲ? (Quality Attributes)

Section titled “အဆင့် 2: ဘယ်လောက်ကောင်းကောင်း အလုပ်လုပ်ရမလဲ? (Quality Attributes)”

လုပ်ပေးရမယ့် Feature တွေ သိပြီဆိုရင်၊ ဒီ System ကြီးက ဘယ်လောက်ခိုင်မာဖို့လိုလဲ ဆိုတာကို ဆုံးဖြတ်ရပါမယ်။ Ride-sharing App တစ်ခုမှာ အောက်ပါအချက်တွေက သိပ်အရေးကြီးပါတယ်။

  • အချိန်မရွေး သုံးလို့ရရမယ် (High Availability): App က ၂၄ နာရီလုံး လုံးဝ Error တက်လို့မရပါဘူး။ App ပျက်သွားရင် ကားငှားသူလည်း ဒုက္ခရောက်သလို၊ ကားသမားလည်း ပိုက်ဆံရှာလို့မရတော့ပါဘူး။
  • လူအများကြီး တစ်ပြိုင်နက်သုံးရင် ခံနိုင်ရမယ် (High Scalability): ရုံးဆင်းချိန်၊ မိုးရွာတဲ့အချိန်မျိုးမှာ လူတွေအများကြီး ပြိုင်တူ ကားခေါ်ကြပါလိမ့်မယ်။ အဲ့ဒီလို ရုတ်တရက် အသုံးပြုသူများလာရင်လည်း App က မနှေးသွားဘဲ ကောင်းကောင်း အလုပ်လုပ်နိုင်ရပါမယ်。
  • ချက်ချင်း သိနေရမယ် (Real-time Performance): ကားသမား ဘယ်ရောက်နေလဲဆိုတာ မြေပုံပေါ်မှာ ရွေ့နေတာကို ချက်ချင်းမြင်နေရပါမယ်။ လိုင်းနှေးနေလို့ ကားက တစ်နေရာတည်းမှာ ရပ်နေတာမျိုး မဖြစ်ရပါဘူး။
  • လုံခြုံရေး (Security): User တွေရဲ့ ဖုန်းနံပါတ်၊ ငွေပေးချေမယ့် ကတ်အချက်အလက်၊ သွားခဲ့တဲ့ ခရီးစဉ်မှတ်တမ်း စတာတွေကို လုံလုံခြုံခြုံ သိမ်းဆည်းပေးထားရပါမယ်။
Sloth-Rider Requirements