Software Engineering ဘာသာရပ်၏ အရေးပါမှုနှင့် လက်တွေ့အသုံးချမှုများ

Software Engineering ဆိုတာက ခေတ်မီနည်းပညာလောကမှာ အရေးပါတဲ့ ဘာသာရပ်တစ်ခုဖြစ်ပြီး၊ ဆော့ဖ်ဝဲလ်တွေကို စနစ်တကျ ဒီဇိုင်းဆွဲခြင်း၊ ဖွံ့ဖြိုးတည်ဆောက်ခြင်း၊ စမ်းသပ်ခြင်းနဲ့ ထိန်းသိမ်းခြင်းတို့အတွက် လိုအပ်တဲ့ နည်းလမ်းတွေနဲ့ လုပ်ငန်းစဉ်တွေကို လေ့လာတဲ့ ပညာရပ်ဖြစ်ပါတယ်။ ဒီဆောင်းပါးမှာတော့ Software Engineering ရဲ့ အခြေခံအချက်တွေ၊ အရေးပါမှုတွေနဲ့ လက်တွေ့မှာ အသုံးချနေကြတဲ့ လုပ်ငန်းတွေကို ပြောပြသွားမှာပါ။

Software Engineering ၏ အဓိပ္ပာယ်နှင့် အရေးပါမှု

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

Software Engineering ရဲ့ အရေးပါမှုကို ကြည့်မယ်ဆိုရင်၊ ဆော့ဖ်ဝဲလ်အရည်အသွေးကို မြှင့်တင်ပေးပါတယ်။ စနစ်တကျ ဒီဇိုင်းဆွဲခြင်းနဲ့ စမ်းသပ်ခြင်းတို့ကြောင့် ဆော့ဖ်ဝဲလ်တွေက ပိုမိုတိကျပြီး ယုံကြည်စိတ်ချရပါတယ်။ ဒါ့အပြင်၊ Software Engineering က ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်တွေကို ပိုမိုထိရောက်စေပါတယ်။ Agile, Scrum စတဲ့ နည်းလမ်းတွေနဲ့ လုပ်ငန်းစဉ်တွေကို စနစ်တကျ စီမံခန့်ခွဲနိုင်ပါတယ်။ ကုန်ကျစရိတ်နဲ့ အချိန်ကို ထိန်းချုပ်နိုင်ခြင်းကလည်း Software Engineering ရဲ့ နည်းလမ်းတွေက ဆော့ဖ်ဝဲလ်ဖွံ့ဖြိုးရေးမှာ ကုန်ကျစရိတ်နဲ့ အချိန်ကို ထိန်းချုပ်နိုင်စေပါတယ်။ စနစ်တကျ စီမံခန့်ခွဲခြင်းကြောင့် လိုအပ်တဲ့ အရင်းအမြစ်တွေကိုလည်း စနစ်တကျနဲ့ ထိရောက်စွာ အသုံးပြုနိုင်မှာဖြစ်ပါတယ်။

လက်တွေ့မှာ အသုံးချနေကြတဲ့ လုပ်ငန်းများ

Software Engineering ကို လက်တွေ့မှာ အသုံးချနေကြတဲ့ လုပ်ငန်းတွေကို ကြည့်မယ်ဆိုရင်၊ အောက်ပါအတိုင်း တွေ့ရပါတယ်။

၁။ Web Development

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

 

၂။ မိုဘိုင်းအပလီကေးရှင်း (Mobile App Development)

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

၃။ ဒေတာသိပ္ပံနှင့် AI (Data Science and AI)

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

၄။ ဆိုက်ဘာလုံခြုံရေး (Cybersecurity)

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

၅။ Game Development

ဂိမ်းဆော့၀◌ဲ တည်ဆောက်ရာမှာလည်း Software Engineering ရဲ့ နည်းလမ်းတွေကို အသုံးပြုကြပါတယ်။ ဂိမ်းတွေကို ဖန်တီးရာမှာ၊ လိုအပ်ချက်တွေကို သတ်မှတ်ပြီး၊ ဒီဇိုင်းဆွဲကာ၊ တည်ဆောက်ပြီး၊ စမ်းသပ်ကြပါတယ်။

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

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

References

  1. Sommerville, Ian. (2011). Software Engineering (9th Edition). Addison-Wesley.
  2. Pressman, Roger S. (2014). Software Engineering: A Practitioner's Approach (8th Edition). McGraw-Hill Education.
  3. IEEE Computer Society. (n.d.). Guide to the Software Engineering Body of Knowledge (SWEBOK). Retrieved from https://www.computer.org

Dr. La Wynn Sandi 

B.C.Sc, CU (KT) , B.C.Sc (Hons), CU (KT)

M.C.Sc, CU (KT) ,  Ph.D (IT), (U.C.S.M)