ယေန ့ေခတ္မွာ အိုင္တီ နည္းပညာဟာ နယ္ပယ္ရပ္အသီးသီးကို မရွိမျဖစ္ပ့ံပိုး ကူညီေပးေန တဲ့ နည္းပညာရပ္ တခုဆိုတာ မည္သူမွ မျငင္းနုိင္ေတာ့ ပါဘူး။ ဒါကိုလည္းလက္ခံယုံၾကည္လာက်ျပီျဖစ္ပါတယ္။ အိုင္တီနည္းပညာ ရဲ ့ဖြံျဖိဳးတိုတက္မွု အရွိန္ဟာ အရမ္းကိုျမန္ဆန္ လြန္းျပီ လူသားေတြ ကိုလည္း အစစအရာရာကို လြယ္ကူ သက္သာ ေစဖို ့အတြက္ ကူညီ လာေနပါျပီ။ လူငယ္အေတာ္ မ်ားမ်ားဟာ လည္းအိုင္တီ ကို စိတ္၀င္စား မွဳမ်ားလာ သလို ေလ့လာ မွုမ်ားလာက်ပါတယ္။
Software Engineering ဆိုတာ ဘာလဲ ? ျပီးေတာ့ Software Engineering နဲ ့ ကြန္ပ်ဳတာ Science နဲ ့ဘာကြာလဲ။။
Computer သိပၸံဆိုတဲ့ ဘာသာရပ္ ၾကီးရဲ ့ေအာက္မွာ Network Engineering, Software Engineering , Database Management System Administration စတဲ့ဘာသာရပ္ေတြ ရွိပါတယ္.ကြန္ပ်ဳတာ သိပၸံကိုေလ့လာမယ္ ဆိုရင္ ေတာ့ အဆိုပါဘာသာရပ္ မ်ား အားလုံးကိုအေျချပဳ theory and fundamentals ကိုေလ့လာရမွာျဖစ္ျပီး academic education ဆန္ပါတယ္။ Software Engineering ဟာ Computer Science ေအာက္က ဘာသာရပ္ တခုျဖစ္ျပီး Developing လုပ္ငန္းေတြကို လက္ေတြ ့ပိုင္းအားျဖင့္အမ်ားစုေလ့လာ က်ရပါတယ္။
ဒီလို လက္ေတြ ့လုပ္ရာမွာ delivering useful software မ်ားကို အသုံးျပဳျပီးေတာ့ လက္ေတြ ့ပိုင္းပိုဆန္ ပါတယ္။ Delivering useful software ဆိုတာ ကေတာ့ application တခုရဖို ့အသုံးျပဳရတဲ့ OS ဒါမွ မဟုတ္ အဲ application တခုရဖို ့အသုံးျပဳရတဲ့ ေဆာ့၀ဲလ္ပါ။။ ဥပမာအားျဖင့္ Java language software နဲ ့application တခုေရး သလိုေပါ့ အဲလိုမ်ဳိးပါပဲ Java ဟာ Delivering useful software ပဲေပါ့.။ SE တေရာက္ဟာ Computer Science ရဲ ့ theory ပိ္ုင္းဆိုင္ရာ ဗဟုသုတမ်ားလည္းရွိထားရမွာပါ။ Electrical Engineer တေယာက္ ဟာ Physics ဘာသာရပ္ရဲ ့concept ကိုသိရမွာျဖစ္သလိုေပါ့။။ SE ဟာ Computer Science ရဲ ့ေအာက္က ဘာသာရပ္တခုျဖစ္တယ္လို ့နားလည္ထားလို ့ရပါတယ္။
ဒီလို လက္ေတြ ့လုပ္ရာမွာ delivering useful software မ်ားကို အသုံးျပဳျပီးေတာ့ လက္ေတြ ့ပိုင္းပိုဆန္ ပါတယ္။ Delivering useful software ဆိုတာ ကေတာ့ application တခုရဖို ့အသုံးျပဳရတဲ့ OS ဒါမွ မဟုတ္ အဲ application တခုရဖို ့အသုံးျပဳရတဲ့ ေဆာ့၀ဲလ္ပါ။။ ဥပမာအားျဖင့္ Java language software နဲ ့application တခုေရး သလိုေပါ့ အဲလိုမ်ဳိးပါပဲ Java ဟာ Delivering useful software ပဲေပါ့.။ SE တေရာက္ဟာ Computer Science ရဲ ့ theory ပိ္ုင္းဆိုင္ရာ ဗဟုသုတမ်ားလည္းရွိထားရမွာပါ။ Electrical Engineer တေယာက္ ဟာ Physics ဘာသာရပ္ရဲ ့concept ကိုသိရမွာျဖစ္သလိုေပါ့။။ SE ဟာ Computer Science ရဲ ့ေအာက္က ဘာသာရပ္တခုျဖစ္တယ္လို ့နားလည္ထားလို ့ရပါတယ္။
Software Engineering ဆိုတာ ကေကာ ဘာေတြလုပ္တာလဲ ။။
Engineering ဆိုတဲ့လုပ္ငန္းရဲ ့ အဓိကရည္ရြယ္ခ်က္က တခုခု ကို တည္ေဆာက္ဖို ့ပဲ ျဖစ္ပါ တယ္။ ျမိဳ ့ျပအင္ဂ်င္နီယာက တံတားေတြ စတာေတြေဆာက္တည္ေဆာက္တယ္၊ ေလေၾကာင္းနွင့္ အာကာသ Engineer က ေလယဥ္ပ်ံေတြတည္ေဆာက္တယ္၊ လ်ွပ္စစ္ အင္ဂ်င္နီယာက circuit တည္ေဆာက္ပါတယ္ ။ Software Engineering ေတြကေတာ့ Software application သို ့မဟုတ္ Software system ေတြကိုတည္ေဆာက္ ထုတ္လုပ္က်ပါတယ္။ ခု က်ေနာ္တို ့ေလ့လာမယ့္ Software Engineering ဆိုတဲ့ဘာသာရပ္ဟာ က်ေနာ္တို ့လိုခ်င္တဲ့ Product ရဖို ့လာဖို ့အတြက္ ဘယ္လို လုပ္ငန္းစဥ္ေတြ ဘာနည္း ဥပေဒေတြကိုလိုက္နာ ရမယ္ ဆိုတာေတြကိုေလ့လာမွာျဖစ္ပါတယ္။ Product ေကာင္းတခုထြက္ဖို ့အတြက္ Process ေကာင္း တခုေရြးခ်ယ္ တက္ဖို ့ကအေရးၾကီးတာကိုး ..။ ဒီနည္း ဥပေဒေတြဟာ အမ်ားအားျဖင့္ logical thinking ကေန ထြက္ေပၚလာ တဲ့ abstract statements ေဖာ္ျပခ်က္ ေတြပါပဲ။ ဒါဟာ methodology တခုကိုေလ့လာ တာပါပဲ။ Methodology ဆိုတာ နည္းစနစ္ (method) ႏွင့္ နည္းပညာ (technique) ကို အတူတကြေပါင္းစပ္ထား တာပဲျဖစ္ ပါတယ္။ Methodology ဟာ ပ်က္သနာတရပ္ကို ေျဖရွင္းဖုိ ့ရာ နည္းလမ္း( to solving a problem) ပဲျဖစ္ပါတယ္------
Very nice explainer for me... thanks a lot..
ReplyDelete