ယခုေန ့ေခတ္မွာ အိုင္တီ နည္းပညာဟာ နယ္ပယ္ရပ္အသီးသီးကို
မရွိမျဖစ္ပ့ံပိုးကူညီေပးေနတဲ့ နည္းပညာရပ္တခုဆိုတာ မည္သူမွ
မျငင္းနုိင္ေတာ့ပါဘူး။ ဒါကိုလည္းလက္ခံယုံၾကည္လာက်ျပီျဖစ္ပါတယ္။
အိုင္တီနည္းပညာရဲ ့ဖြံျဖိဳးတိုတက္မွု အရွိန္ဟာ အရမ္းကိုျမန္ဆန္လြန္းျပီ
လူသားေတြကိုလည္း အစစအရာရာကို လြယ္ကူသက္သာေစဖို ့အတြက္ ကူညီလာေနပါျပီ။
လူငယ္အေတာ္မ်ားမ်ားဟာ လည္းအိုင္တီကို စိတ္၀င္စားမွဳမ်ားလာသလို
ေလ့လာမွုမ်ားလာက်ပါတယ္။ ကြန္ပ်ဳတာ ေက်ာင္းသားမ်ားစြာကိုလည္း
ကြန္ပ်ဳတာေက်ာင္းေတာ္ၾကီးကေန နွစ္စဥ္ေမြးထုတ္ေနပါတယ္။ သူတို ့ဟာ
ကြန္ပ်ဳတာသိပၸံေက်ာင္းသားေတြပါ ..အဲကေနဘြဲ ့ရလာတဲ့
ကြန္ပ်ဳတာသိပၸံပညာရွင္ေတြဟာ ဘာေၾကာင့္ programmer လိုင္းဘက္ကို ပိုမုိ
ကူးေျပာင္းလာက်တယ္ဆိုတာ မ်ားစြာေသာအခ်က္ေတြေပၚမွာ မူတည္ေကာင္းမူတည္ေနပါမယ္ ။
က်ေနာ္ ဒီအေၾကာင္းရာေတြမေျပာလိုေတာ့ပါ။။ ခုက်ေနာ္ေျပာခ်င္တာ အခ်ိဳ ့ေတြ
ေမးေမးေနက်လို ့ပါ။
Software Engineering ဆိုတာ ဘာလဲ ? ျပီးေတာ့ Software Engineering နဲ ့ ကြန္ပ်ဳတာ Science နဲ ့ဘာကြာလဲဆိုတဲ့ ေမးခြန္းမ်ဳိး ရမ္းအေမးခံရပါတယ္။
What is Different between software Engineering and computer 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 ရဲ ့ေအာက္က ဘာသာရပ္တခုျဖစ္တယ္လို ့နားလည္ထားလို ့ရပါတယ္။
ဒါဆို Software Engineering ေလ့လာတာဟုတ္ပါျပီ။။ Software Engineering ဆိုတာ ဘာေတြလုပ္တာလဲေပါ့??
What is 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)ပဲျဖစ္ပါတယ္။ အရွင္းလင္းဆုံး ျမင္သာတဲ့ ဥပမာေပးရရင္ေတာ့ က်ေနာ္တို ့ထမင္းစားတဲ့ ကိစၥေလးကိုၾကည့္ရေအာင္ ။။ ထမင္းစားဆိုတဲ့ေနရမွာ ဘယ္လိုစားမလဲ ? လက္နဲ ့စားမလား ၊ ဇြန္းခရင္းနဲ ့စားမလား သို ့မဟုတ္ တူနဲ ့စားမလား ဒါေတြဟာ ထမင္းစာဖို ့အတြက္ နည္းလမ္း (Method) ေတြပဲျဖစ္ပါတယ္ ။ အယ္လိုစားတဲ့ အခါမွာ လက္ နဲ ့ စားပုံ စားနည္း ၊ ဇြန္းခရင္းနဲ ့စားပုံစားနည္း တူနွင့္ စားပုံစားနည္းေတြဟာ (technique) ေတြပဲျဖစ္ပါတယ္။ အလားတူ ဥပမာအားျဖင့္ Mandalay ကိုသြားမယ္ဆိုရင္ ကားနဲ ့သြားမလား ၊ ရထားနဲ ့သြားမလား ၊ ေလယဥ္နဲ ့သြားမလား ၀ါသနာပါလို ့လမ္းေလွ်ာက္သြားမလား ေျဖရွင္းနိုင္တဲ့ နည္းလမ္းေတအမ်ဳိးမ်ဳိးရွိပါတယ္။ ဒီလို ကိစၥတရပ္ problem တရပ္ကိုေျဖရွင္းရာမွာ နည္းလမ္းေတြအမ်ဳိမ်ဳိးရွိေပမယ့္ က်ေနာ္တို ့နဲ ့ကာလံေဒသံ နဲ ့ကိုက္ညီမယ့္ အကိုက္ဖက္ဆုံး၊ အလြယ္ဆုံး၊ အေကာင္းဆုံး နည္းလမ္း (method) ကိုေရြးခ်ယ္လုပ္ေဆာင္ရမွာပါ။ ျပီးေတာ့မွ ကိုေရြးခ်ယ္တဲ့ နည္းလမ္းရဲ ့ နည္းစနစ္ကိုသုံးျပဳျပီးလုပ္ေဆာင္ရမွာျဖစ္ပါတယ္။ ဇြန္းခရင္း နဲ ့စားမယ့္ Method ကိုေရြးခ်ယ္ခဲ့ရင္ ဇြန္းခရင္းနဲ ့စားပုံစားနည္း ဆိုတဲ ့(technique) ျဖင့္လုပ္ေဆာင္ေျဖရွင္းရမွာေပါ့။ Methodology ေတာ္ေတာ္မ်ားမ်ားကို software tools ေတာ္ေတာ္မ်ားမ်ားက အေထာက္ပ့့ံလုပ္ပါတယ္။Methodology ဟာ အစီစဥ္တခုကို အစီစဥ္တက်ေျဖရွင္းလို ့Programming ပါပဲ။
What is Software ?
Computer Software ဆိုတာ Software Engineer က တီထြင္ထုတ္လုပ္လိုက္တဲ့ ထုတ္ကုန္တခုပဲျဖစ္ပါတယ္။ သူမွာ Program နဲ ့ document တို ့ ၂ခုေပါင္းကိုေခၚတာပါ ။။ ေဆာ့၀ဲတခု၀ယ္မယ္ဆိုရင္ သူနွင့္ဆက္တိုင္တဲ့ document မ်ားပါသလို Program ေတြလည္းပါ၀င္ပါတယ္။ ဥပမာအားျဖင့္ က်ေနာ္တို ့calculator တခုသြာ၀ယ္ရင္ေတာင္ calculator တခုနဲ ့အတူ catalog တခုပါတာသတိထားမိက်မယ္ထင္ပါတယ္။ ဒီေနရာမွာ program ဆိုတာကိုသထားဖို ့လုိပါျပီ။
What is program ?
Program ဆိုတာဘာလဲေပါ့ ေမးစရာရွိလာျပီေလ။ Program ဆိုတာက လုပ္ငန္းစဥ္တခုကိုလုပ္ဖို ့အတြက္ လုပ္ေဆာင္မည့္အစီစဥ္တခုပါပဲ။ က်ေနာ္တုိ ့အားလုံးဟာ ေန ့စဥ္ Programming လုပ္ေနက်ပါတယ္ ။ဒါေၾကာင့္ က်ေနာ္တို ့အားလုံးဟာ Programmer ေတြပါ။ က်ေနာ့္ရဲ ့အေမေရာ အေဖဟာလဲ Programmer ေတြပါပဲ ။မရယ္ပါနဲ ့တကယ္ေျပာတာပါ ဒါေပမယ့္ ကြန္ပ်ဳတာ ပရိုဂရမ္မာ မဟုတ္တာပဲရွိပါတယ္။ ေမေမဟာ က်ေနာ္တို ့ကို မနက္မိုးလင္းတာနဲ ့ ထမင္းဟင္းခ်က္ျပဳတ္ ဖို ့ဘာနဲ ့ဘာခ်က္ရင္ေကာင္းမယ္ဘယ္လို ခ်က္မယ္ Program ေတြဆြဲပါတယ္။ ေဖေဖဟာလည္း ရုံးကို သြားဖို ့အတြက္ အစီစဥ္ေတြ ဆဲြပါတယ္။ ဥပမာဗ်ာ သူငယ္ခ်င္း အျပင္သြားမယ့္ ကိစၥတခုမွာ ဆိုရင္ ဘယ္ခ်ိန္သြားမယ္ ဘာအက်ၤ ီ၀တ္သြားမယ္ ဘာသုူနဲ ့ေတြမယ္ စေတြကို စီစဥ္ေဆာင္ရြက္ရတာပါ။ ကို္ယ္လုပ္မယ့္ အစီစဥ္တခုကို ကိုယ့္ရဲ ့အစီစဥ္ေလးေတြနဲ ့လုပ္ေဆာင္ေနက်တာ ကိုယ့္ဖာသာကိုသတိမထားမိျဖစ္ေနတာပါ။။ ဒါမ်ဳိး ကိုလုပ္ေနက် program ေတြကိုစနစ္တက် နဲ ့ေသခ်ာ program
အတိုင္းလိုက္နာေဆာင္ရြက္မယ္ဆို သူငယ္ခ်င္းလိုခ်င္တဲ့ product ရမယ္လို ့ေျပာရဲပါတယ္။။ Program တခုမွာ မေမ်ွာ္လင့္ပဲ ေျပာင္းလဲ နုိင္တဲ့ အခ်က္ေတြရွိတက္လို ့ၾကဳိတင္တြက္ခ်က္သင့္တာေတြရွိပါတယ္ ။ ဥပမာ က်ေနာ္ေပါ့ ေက်ာင္းသြားတဲ့အခါ ေက်ာင္းက ၇း၀၀ နာရီစတင္ရင္ က်ေနာ္က အခ်ိန္ကိုတြက္ျပီး အတိက်လုပ္ေလ့ရွိပါတယ္ ။။ဒါေပမယ့္ ကားမလာလို ့ေစာင့္ရတာနဲ ့ မီးပြိဳင့္မိတာ နဲ ့ က်ေနာ္ရဲ ့ ေက်ာင္းသြားမယ့္ program ေလးဟာ ေနွာင့္ေနးက်န္ ့ၾကာမွုေတြရွိပါတယ္ . ဒီလို အတြက္ က်ေနာ္ ရဲ ့ Program ထဲ ကိုထည့္သြင္းစဥ္းစားထားခဲ့မယ္ဆို က်ေနာ္ ေက်ာင္းေနာက္က်မွာမဟုတ္ပါဘူး (ခုထိေတာ့ ေနာက္က်ဆဲပဲ ..အိပ္ယာထျပင္းလို ့ပါ ) ..
What is a Computer Program ?
Computer Program ဆိုတာက က်ေနာ္ကေတာ့ ဒီလို ပဲ အဓိပၸါယ္ဖြင့္လိုက္ပါတယ္ “အမိန္ ့စာ” လို ့.။ က်ေနာ္တို ့ကြန္ပ်ဳတာရဲ ့ ဗဟိုစနစ္ ျဖစ္တဲ့ CPU ဟာ က်ေနာ္တို ့ေရးေပးလိုက္တဲ့ Program ေတြကို သူကဖတ္ျပီး လုပ္ေဆာင္ပါတယ္။ ဒါေၾကာင့္ က်ေနာ္တို ့ခုိင္းတဲ့အတိုင္းလုပ္ေဆာင္ေနတာပါ ဒါေၾကာင့္ က်ေနာ္က အမိန္ ့စာလို ့ လူပိန္းနည္းနဲ ့အဓိပၸါယ္ဖြင့္လိုက္တာပါ။ က်ေနာ္တို ့ျဖစ္ခ်င္တဲ့ ျဖစ္ရပ္တခုကို ဘာျပီးရင္ ဘာလုပ္မယ္ ဘယ္လိုေတြလုပ္ေဆာင္ရမယ္ဆိုတာကို စီစဥ္တက်ေရးဆြဲထားတဲ့ instruction ေတြစုစည္းထားတာ ဟာ program ပါပဲ။ ဥပမာ က်ေနာ္က program ေလးတခုေရးမယ္ဆိုပါဆို ကြန္ပ်ဳတာဟာ သူသိတာ 0 နဲ ့ 1 ပဲျဖစ္ပါတယ္ သူဟာ က်ေနာ္တို ့ခိုင္းတာပဲလုပ္မွာပါ.။ က်ေနာ္က ၁ နဲ ့၂ ကိုေပါင္းပါ ျပီး ရင္ ရတဲ့ အေျဖကိုျပပါလို ့က်ေနာ္ ေရးသားလိုက္ပါတယ္။။ ဒီအမိန္ ့စာကို CPU ကၾကည့္ျပီး သူလုပ္ေဆာင္ရမယ္ ့excute ကိုလုပ္ေဆာင္ေပးပါတယ္။။ ျပီရင္ result ျပပါတယ္ ။
What is a Programming Language ?
က်ေနာ္တို ့Program ေတြေရးသား ဖို ့Programming Language ေတြသုံးပါတယ္။ ဘာေၾကာင့္သုံးရလည္းဆိုေတာ့ရွင္းပါတယ္ ကြန္ပ်ဳတာက သူသိတာ 0 and 1 ပါ။ က်ေနာ္တို ့က သူကိုခုိင္းဖို ့အတြက္ 0 1 ေတြ မွတ္နုိင္ဖို ့မလြယ္ပါဘူး။ ဒါေၾကာင့္က်ေနာ္တို ့နဲ ့ကြန္ပ်ဳတာ နားလည္ဖို ့ဒီထက္နဲနဲ မွတ္သားရလြယ္တဲ့ ဘာသာစကားတခုနဲ ့ဆက္သြယ္က်တာပါ.။ က်ေနာ္တို ့ေရးတဲ့ နဲနဲ အဆင့္ျမင့္တဲ့ language ကို ကြန္ပ်ဳတာ တိုက္ရိုက္နားမလည္တဲ့အတြက္ compiler, interpreter ေတြက ဘာသာျပန္ျပီးမွ ကြန္ပ်ဳတာနားလည္တဲ့ 01 ေတြ ေပးလိုက္ပါတယ္။
Software မွာ အဓိကအားျဖင့္ အမ်ဳိးစာ ၂ မ်ဳိးခြဲျခားနုိင္ပါတယ္။
၁။ Operating System Software (OS) ရယ္
၂။ Application Software တို ့ပါပဲ။
Operating System ဆိုတာနဲ ့လူအမ်ားစုဟာ window ဆိုျပီး တန္းသိက်ပါတယ္။ ဒါဟာ လူသုံးမ်ားလို ့ပါ Microsoft platform ကေအာင္ျမင္မွုေၾကာင့္ပါပဲ။ အျခား Operating system ေတြလည္းရွိပါေသးတယ္ Linux platform မွာဆို ( Fedora,Ubuntu..etc) ေတြ Solaris and Macintosh (OS X) ။။ Operating System ကို ထပ္ျပီး ၂ မ်ဳိးခဲြလို ့ရပါေသးတယ္ ။
DOS ( Desktop Operating System eg; Window XP, Window Vista , Window 7, Ubuntu စတာေတြပါ။ ) ေနာက္ျပီေတာ့
>NOS (Network Operating System eg; Window 2003 Sever စတဲ့ Network control ကိုလုပ္ေဆာင္ေပးမယ္ ့ OS ေတြေပါ့။
Application Software ေတြကေတာ့ က်ေနာ္တို ့သုံးေနတဲ့ Microsoft word တို ့Excle တို ့ Photoshop စတာေတြ ဟာ application software ေတြပါပဲ .. ယခုေနာက္ပိုင္းမွာေတာ့ Web application ေတြဟာ Desktop application ေတြရဲ ့ေနရာအေတာ္မ်ားမ်ားကိုစိန္ေခၚေနပါျပီ .Google ကလည္း outlook express လို mail application system တခုမလိုအပ္တဲ့အထိ သုံးလို ့ရေအာင္ ထုတ္လုပ္လာခဲ့ပါတယ္ ေနာက္ပိုင္းမွာ web application ေတြေနရာယူလာပါလိမ့္မယ္ graphic
အရမ္းသုံးရတဲ့ photo editing လိုမ်ဳိး Game အၾကီးစာ software ေတြသာ က်န္ခဲ့ ဖို ့ရွိျပီး အေတာ္အသင့္ကြန္နက္ရွင္ေပၚမွာ သုံးလို ့ရတာေတြ web ေပၚမွာပဲ သုံးက်ေတာ့မွာပါ။ အက်ဳိးျမတ္ကေတာ့ ကို ့မွာ browser တခုရွိယုံမ်ွနွင့္ သင္ဟာ web application ေတြကိုသုံးနုိင္ျပီမဟုတ္လား ။။ အျခား application ေတြလို hard ware ေတြ စဥ္းစားရတာ installation အတြက္ OS type ေတြကိုစဥ္းစားရတာမလိုေတာ့ဘူးေလ ။ window မွာသုံးတာ Linux မွာ မ run တာေတြ ေတြးေန ဖို ့ကိုမလိုေတာ့ဘူးေပါ့ ။
Software ေတြကိုအၾကမ္းအားျဖင့္ role ခြဲမယ္ ဆို ၂ ခုခြဲလို ့ရပါတယ္ Dual Role ေပ့ါ..
1. As a Product
2. As a vehicle used to deliver the product ဆိုျပီးေတာ့ေပါ့
As a Product ဆိုတာမ်ဳိးက က်ေနာ္တို ့ language တခုခုနဲ ့ေရးျပီး ရလာတဲ့ software ေပါ့ က်ေနာ္တို ့လိုခ်င္တဲ့ Product software ေပါ့။
As a vehicle used to deliver the product ဆိုတာက က်ေနာ္တို ့လိုခ်င္တဲ့ software ကို၇ဖို ့အသုံးျပဳရတာေတြရွိတယ္ေလ ဘယ္ Operating System software( windows platform မွာေရးမလား Linux platform မွာေရးမလားေပါ့) ေပၚမွာ ဘာ language(Java နဲ ့လား C#.net နဲ ့လားေပါ့) နဲ ့ေရးမလားေပါ့ ။ က်ေနာ္ ပထမ အေပၚမွာရွင္းျပခဲ့တဲ့ Methodology ထဲက technique ေတြကိုေျပာတပါ မႏၱေလးကိုသြားတဲ့ ကိစၥမွာေပါ့ Mandalay ဆိုတာကိုေရာက္ဖို ့အသုံးျပဳရတဲ့ အရာေတြ ကားနဲ ့သြားရင္ ကား ေပါ့ ။ ဒီလို မ်ဳိးကိုေျပာတာပါ။
ေနာက္ျပီး ေဆာ့၀ဲလ္ေတြေရးသားထုပ္လုပ္ရာမွာ ရည္၇ြယ္ခ်က္ ၂ မ်ဳိးနဲ ့ထုတ္လုပ္က်ရပါတယ္။
1. Generic products လား
2. Customized Products လားဆိုျပီး ထုတ္လုပ္ေရးသားပါတယ္ ။
Generic products
က်ေနာ္တို ့သုံးေနတဲ့ OS ေတြဟာ Generic product ေတြပါ လူတိုင္းသုံးဖို ့ market ကို ျဖန္ ့ခ်ီ ဖို ့ေရးသားထားတာျဖစ္ပါတယ္ Microsoft word လူတိုင္းသုံးဖို ့ ေရးသားထားတာပါ။ ဒါကိုသုံတဲ့အတြက္ customer ဟာ သူရဲ ့လုပ္ငန္းစဥ္မွာ ဒီေဆာ့၀ဲ ဟာသူ ့ရဲ ့လုိအပ္ခ်က္နဲ ့ကိုက္ညီခ်င္မွ ကိုက္ညီမယ္ ။။ သုံးလို ့ေတာ့အဆင္ေျပေနမယ္ သူရဲ ့လုပ္ငန္းအတြက္သီးသန္ ့ေရးထားတာမဟုတ္ပဲ အမ်ားသုံးလို ့ရေအာင္ အဆင္ေျပေအာင္ ေ၇းသားထားေပးတဲ့ software ျဖစ္တဲ့အတြက္ လူတိုင္းနဲ ့ေတာ့မကိုက္ညီနုိင္ပါဘူး ဒါေပမယ့္လူ တုိင္းေတာ့သုံးလို ့ရပါတယ္။
Customized Software ဆိုတာကေတာ့ အထက္ကေျပာသလိုေပါ့ Customer ဟာ သူ ့လုပ္ငန္းမွာ MS word လို Excel လို အမ်ားသုံးအတြက္မကိုက္ညီတဲ့အခါ သူလုပ္ငန္းအတြက္သီးသန္ ့လိုအပ္တဲ့ Software မ်ဳိးသီးသန္ ့လိုအပ္လာပါျပီ ။ ဥပမာ City mart လို ေနရာမ်ဳိးမွာ သူတို ့ရဲ ့လုပ္ငန္းကို MS word , Excel နဲ ့အစဥ္ေျပဖို ့မရွိတဲ့အတြက္ သူတို ့ဟာ သူတို ့လုပ္ငန္းအတြက္ သီးသန္ ့software ေတြသုံးက်ပါတယ္ ။ ဒီလို သီးသန္ ့Customer လိုအပ္ခ်က္ကိုလုိုက္ျပီး particular customer သီးသန္ ့ေရးသားေပးရတာမ်ဳိးကို Customized Software ေတြဆိုျပီး ဆိုနုိင္ပါတယ္။။
ွအထက္မွာေဖာ္ျပခဲ့တဲ့ Software types မ်ားဟာ အၾကမ္းအားျဖင့္ ေဖာ္ျပထားတာျဖင့္ျပီး ေနာက္ေရးမယ့္ Article မွာ Software type မ်ားကို နဲနဲ အေသးစိတ္ေရးဖို ့စိတ္ကူးထားမိပါတယ္ ..
တစ္ဆင့္ share ထားျခင္းျဖစ္ပါတယ္.....
Software Engineering ဆိုတာ ဘာလဲ ? ျပီးေတာ့ Software Engineering နဲ ့ ကြန္ပ်ဳတာ Science နဲ ့ဘာကြာလဲဆိုတဲ့ ေမးခြန္းမ်ဳိး ရမ္းအေမးခံရပါတယ္။
What is Different between software Engineering and computer 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 ရဲ ့ေအာက္က ဘာသာရပ္တခုျဖစ္တယ္လို ့နားလည္ထားလို ့ရပါတယ္။
ဒါဆို Software Engineering ေလ့လာတာဟုတ္ပါျပီ။။ Software Engineering ဆိုတာ ဘာေတြလုပ္တာလဲေပါ့??
What is 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)ပဲျဖစ္ပါတယ္။ အရွင္းလင္းဆုံး ျမင္သာတဲ့ ဥပမာေပးရရင္ေတာ့ က်ေနာ္တို ့ထမင္းစားတဲ့ ကိစၥေလးကိုၾကည့္ရေအာင္ ။။ ထမင္းစားဆိုတဲ့ေနရမွာ ဘယ္လိုစားမလဲ ? လက္နဲ ့စားမလား ၊ ဇြန္းခရင္းနဲ ့စားမလား သို ့မဟုတ္ တူနဲ ့စားမလား ဒါေတြဟာ ထမင္းစာဖို ့အတြက္ နည္းလမ္း (Method) ေတြပဲျဖစ္ပါတယ္ ။ အယ္လိုစားတဲ့ အခါမွာ လက္ နဲ ့ စားပုံ စားနည္း ၊ ဇြန္းခရင္းနဲ ့စားပုံစားနည္း တူနွင့္ စားပုံစားနည္းေတြဟာ (technique) ေတြပဲျဖစ္ပါတယ္။ အလားတူ ဥပမာအားျဖင့္ Mandalay ကိုသြားမယ္ဆိုရင္ ကားနဲ ့သြားမလား ၊ ရထားနဲ ့သြားမလား ၊ ေလယဥ္နဲ ့သြားမလား ၀ါသနာပါလို ့လမ္းေလွ်ာက္သြားမလား ေျဖရွင္းနိုင္တဲ့ နည္းလမ္းေတအမ်ဳိးမ်ဳိးရွိပါတယ္။ ဒီလို ကိစၥတရပ္ problem တရပ္ကိုေျဖရွင္းရာမွာ နည္းလမ္းေတြအမ်ဳိမ်ဳိးရွိေပမယ့္ က်ေနာ္တို ့နဲ ့ကာလံေဒသံ နဲ ့ကိုက္ညီမယ့္ အကိုက္ဖက္ဆုံး၊ အလြယ္ဆုံး၊ အေကာင္းဆုံး နည္းလမ္း (method) ကိုေရြးခ်ယ္လုပ္ေဆာင္ရမွာပါ။ ျပီးေတာ့မွ ကိုေရြးခ်ယ္တဲ့ နည္းလမ္းရဲ ့ နည္းစနစ္ကိုသုံးျပဳျပီးလုပ္ေဆာင္ရမွာျဖစ္ပါတယ္။ ဇြန္းခရင္း နဲ ့စားမယ့္ Method ကိုေရြးခ်ယ္ခဲ့ရင္ ဇြန္းခရင္းနဲ ့စားပုံစားနည္း ဆိုတဲ ့(technique) ျဖင့္လုပ္ေဆာင္ေျဖရွင္းရမွာေပါ့။ Methodology ေတာ္ေတာ္မ်ားမ်ားကို software tools ေတာ္ေတာ္မ်ားမ်ားက အေထာက္ပ့့ံလုပ္ပါတယ္။Methodology ဟာ အစီစဥ္တခုကို အစီစဥ္တက်ေျဖရွင္းလို ့Programming ပါပဲ။
What is Software ?
Computer Software ဆိုတာ Software Engineer က တီထြင္ထုတ္လုပ္လိုက္တဲ့ ထုတ္ကုန္တခုပဲျဖစ္ပါတယ္။ သူမွာ Program နဲ ့ document တို ့ ၂ခုေပါင္းကိုေခၚတာပါ ။။ ေဆာ့၀ဲတခု၀ယ္မယ္ဆိုရင္ သူနွင့္ဆက္တိုင္တဲ့ document မ်ားပါသလို Program ေတြလည္းပါ၀င္ပါတယ္။ ဥပမာအားျဖင့္ က်ေနာ္တို ့calculator တခုသြာ၀ယ္ရင္ေတာင္ calculator တခုနဲ ့အတူ catalog တခုပါတာသတိထားမိက်မယ္ထင္ပါတယ္။ ဒီေနရာမွာ program ဆိုတာကိုသထားဖို ့လုိပါျပီ။
What is program ?
Program ဆိုတာဘာလဲေပါ့ ေမးစရာရွိလာျပီေလ။ Program ဆိုတာက လုပ္ငန္းစဥ္တခုကိုလုပ္ဖို ့အတြက္ လုပ္ေဆာင္မည့္အစီစဥ္တခုပါပဲ။ က်ေနာ္တုိ ့အားလုံးဟာ ေန ့စဥ္ Programming လုပ္ေနက်ပါတယ္ ။ဒါေၾကာင့္ က်ေနာ္တို ့အားလုံးဟာ Programmer ေတြပါ။ က်ေနာ့္ရဲ ့အေမေရာ အေဖဟာလဲ Programmer ေတြပါပဲ ။မရယ္ပါနဲ ့တကယ္ေျပာတာပါ ဒါေပမယ့္ ကြန္ပ်ဳတာ ပရိုဂရမ္မာ မဟုတ္တာပဲရွိပါတယ္။ ေမေမဟာ က်ေနာ္တို ့ကို မနက္မိုးလင္းတာနဲ ့ ထမင္းဟင္းခ်က္ျပဳတ္ ဖို ့ဘာနဲ ့ဘာခ်က္ရင္ေကာင္းမယ္ဘယ္လို ခ်က္မယ္ Program ေတြဆြဲပါတယ္။ ေဖေဖဟာလည္း ရုံးကို သြားဖို ့အတြက္ အစီစဥ္ေတြ ဆဲြပါတယ္။ ဥပမာဗ်ာ သူငယ္ခ်င္း အျပင္သြားမယ့္ ကိစၥတခုမွာ ဆိုရင္ ဘယ္ခ်ိန္သြားမယ္ ဘာအက်ၤ ီ၀တ္သြားမယ္ ဘာသုူနဲ ့ေတြမယ္ စေတြကို စီစဥ္ေဆာင္ရြက္ရတာပါ။ ကို္ယ္လုပ္မယ့္ အစီစဥ္တခုကို ကိုယ့္ရဲ ့အစီစဥ္ေလးေတြနဲ ့လုပ္ေဆာင္ေနက်တာ ကိုယ့္ဖာသာကိုသတိမထားမိျဖစ္ေနတာပါ။။ ဒါမ်ဳိး ကိုလုပ္ေနက် program ေတြကိုစနစ္တက် နဲ ့ေသခ်ာ program
အတိုင္းလိုက္နာေဆာင္ရြက္မယ္ဆို သူငယ္ခ်င္းလိုခ်င္တဲ့ product ရမယ္လို ့ေျပာရဲပါတယ္။။ Program တခုမွာ မေမ်ွာ္လင့္ပဲ ေျပာင္းလဲ နုိင္တဲ့ အခ်က္ေတြရွိတက္လို ့ၾကဳိတင္တြက္ခ်က္သင့္တာေတြရွိပါတယ္ ။ ဥပမာ က်ေနာ္ေပါ့ ေက်ာင္းသြားတဲ့အခါ ေက်ာင္းက ၇း၀၀ နာရီစတင္ရင္ က်ေနာ္က အခ်ိန္ကိုတြက္ျပီး အတိက်လုပ္ေလ့ရွိပါတယ္ ။။ဒါေပမယ့္ ကားမလာလို ့ေစာင့္ရတာနဲ ့ မီးပြိဳင့္မိတာ နဲ ့ က်ေနာ္ရဲ ့ ေက်ာင္းသြားမယ့္ program ေလးဟာ ေနွာင့္ေနးက်န္ ့ၾကာမွုေတြရွိပါတယ္ . ဒီလို အတြက္ က်ေနာ္ ရဲ ့ Program ထဲ ကိုထည့္သြင္းစဥ္းစားထားခဲ့မယ္ဆို က်ေနာ္ ေက်ာင္းေနာက္က်မွာမဟုတ္ပါဘူး (ခုထိေတာ့ ေနာက္က်ဆဲပဲ ..အိပ္ယာထျပင္းလို ့ပါ ) ..
What is a Computer Program ?
Computer Program ဆိုတာက က်ေနာ္ကေတာ့ ဒီလို ပဲ အဓိပၸါယ္ဖြင့္လိုက္ပါတယ္ “အမိန္ ့စာ” လို ့.။ က်ေနာ္တို ့ကြန္ပ်ဳတာရဲ ့ ဗဟိုစနစ္ ျဖစ္တဲ့ CPU ဟာ က်ေနာ္တို ့ေရးေပးလိုက္တဲ့ Program ေတြကို သူကဖတ္ျပီး လုပ္ေဆာင္ပါတယ္။ ဒါေၾကာင့္ က်ေနာ္တို ့ခုိင္းတဲ့အတိုင္းလုပ္ေဆာင္ေနတာပါ ဒါေၾကာင့္ က်ေနာ္က အမိန္ ့စာလို ့ လူပိန္းနည္းနဲ ့အဓိပၸါယ္ဖြင့္လိုက္တာပါ။ က်ေနာ္တို ့ျဖစ္ခ်င္တဲ့ ျဖစ္ရပ္တခုကို ဘာျပီးရင္ ဘာလုပ္မယ္ ဘယ္လိုေတြလုပ္ေဆာင္ရမယ္ဆိုတာကို စီစဥ္တက်ေရးဆြဲထားတဲ့ instruction ေတြစုစည္းထားတာ ဟာ program ပါပဲ။ ဥပမာ က်ေနာ္က program ေလးတခုေရးမယ္ဆိုပါဆို ကြန္ပ်ဳတာဟာ သူသိတာ 0 နဲ ့ 1 ပဲျဖစ္ပါတယ္ သူဟာ က်ေနာ္တို ့ခိုင္းတာပဲလုပ္မွာပါ.။ က်ေနာ္က ၁ နဲ ့၂ ကိုေပါင္းပါ ျပီး ရင္ ရတဲ့ အေျဖကိုျပပါလို ့က်ေနာ္ ေရးသားလိုက္ပါတယ္။။ ဒီအမိန္ ့စာကို CPU ကၾကည့္ျပီး သူလုပ္ေဆာင္ရမယ္ ့excute ကိုလုပ္ေဆာင္ေပးပါတယ္။။ ျပီရင္ result ျပပါတယ္ ။
What is a Programming Language ?
က်ေနာ္တို ့Program ေတြေရးသား ဖို ့Programming Language ေတြသုံးပါတယ္။ ဘာေၾကာင့္သုံးရလည္းဆိုေတာ့ရွင္းပါတယ္ ကြန္ပ်ဳတာက သူသိတာ 0 and 1 ပါ။ က်ေနာ္တို ့က သူကိုခုိင္းဖို ့အတြက္ 0 1 ေတြ မွတ္နုိင္ဖို ့မလြယ္ပါဘူး။ ဒါေၾကာင့္က်ေနာ္တို ့နဲ ့ကြန္ပ်ဳတာ နားလည္ဖို ့ဒီထက္နဲနဲ မွတ္သားရလြယ္တဲ့ ဘာသာစကားတခုနဲ ့ဆက္သြယ္က်တာပါ.။ က်ေနာ္တို ့ေရးတဲ့ နဲနဲ အဆင့္ျမင့္တဲ့ language ကို ကြန္ပ်ဳတာ တိုက္ရိုက္နားမလည္တဲ့အတြက္ compiler, interpreter ေတြက ဘာသာျပန္ျပီးမွ ကြန္ပ်ဳတာနားလည္တဲ့ 01 ေတြ ေပးလိုက္ပါတယ္။
Software မွာ အဓိကအားျဖင့္ အမ်ဳိးစာ ၂ မ်ဳိးခြဲျခားနုိင္ပါတယ္။
၁။ Operating System Software (OS) ရယ္
၂။ Application Software တို ့ပါပဲ။
Operating System ဆိုတာနဲ ့လူအမ်ားစုဟာ window ဆိုျပီး တန္းသိက်ပါတယ္။ ဒါဟာ လူသုံးမ်ားလို ့ပါ Microsoft platform ကေအာင္ျမင္မွုေၾကာင့္ပါပဲ။ အျခား Operating system ေတြလည္းရွိပါေသးတယ္ Linux platform မွာဆို ( Fedora,Ubuntu..etc) ေတြ Solaris and Macintosh (OS X) ။။ Operating System ကို ထပ္ျပီး ၂ မ်ဳိးခဲြလို ့ရပါေသးတယ္ ။
DOS ( Desktop Operating System eg; Window XP, Window Vista , Window 7, Ubuntu စတာေတြပါ။ ) ေနာက္ျပီေတာ့
>NOS (Network Operating System eg; Window 2003 Sever စတဲ့ Network control ကိုလုပ္ေဆာင္ေပးမယ္ ့ OS ေတြေပါ့။
Application Software ေတြကေတာ့ က်ေနာ္တို ့သုံးေနတဲ့ Microsoft word တို ့Excle တို ့ Photoshop စတာေတြ ဟာ application software ေတြပါပဲ .. ယခုေနာက္ပိုင္းမွာေတာ့ Web application ေတြဟာ Desktop application ေတြရဲ ့ေနရာအေတာ္မ်ားမ်ားကိုစိန္ေခၚေနပါျပီ .Google ကလည္း outlook express လို mail application system တခုမလိုအပ္တဲ့အထိ သုံးလို ့ရေအာင္ ထုတ္လုပ္လာခဲ့ပါတယ္ ေနာက္ပိုင္းမွာ web application ေတြေနရာယူလာပါလိမ့္မယ္ graphic
အရမ္းသုံးရတဲ့ photo editing လိုမ်ဳိး Game အၾကီးစာ software ေတြသာ က်န္ခဲ့ ဖို ့ရွိျပီး အေတာ္အသင့္ကြန္နက္ရွင္ေပၚမွာ သုံးလို ့ရတာေတြ web ေပၚမွာပဲ သုံးက်ေတာ့မွာပါ။ အက်ဳိးျမတ္ကေတာ့ ကို ့မွာ browser တခုရွိယုံမ်ွနွင့္ သင္ဟာ web application ေတြကိုသုံးနုိင္ျပီမဟုတ္လား ။။ အျခား application ေတြလို hard ware ေတြ စဥ္းစားရတာ installation အတြက္ OS type ေတြကိုစဥ္းစားရတာမလိုေတာ့ဘူးေလ ။ window မွာသုံးတာ Linux မွာ မ run တာေတြ ေတြးေန ဖို ့ကိုမလိုေတာ့ဘူးေပါ့ ။
Software ေတြကိုအၾကမ္းအားျဖင့္ role ခြဲမယ္ ဆို ၂ ခုခြဲလို ့ရပါတယ္ Dual Role ေပ့ါ..
1. As a Product
2. As a vehicle used to deliver the product ဆိုျပီးေတာ့ေပါ့
As a Product ဆိုတာမ်ဳိးက က်ေနာ္တို ့ language တခုခုနဲ ့ေရးျပီး ရလာတဲ့ software ေပါ့ က်ေနာ္တို ့လိုခ်င္တဲ့ Product software ေပါ့။
As a vehicle used to deliver the product ဆိုတာက က်ေနာ္တို ့လိုခ်င္တဲ့ software ကို၇ဖို ့အသုံးျပဳရတာေတြရွိတယ္ေလ ဘယ္ Operating System software( windows platform မွာေရးမလား Linux platform မွာေရးမလားေပါ့) ေပၚမွာ ဘာ language(Java နဲ ့လား C#.net နဲ ့လားေပါ့) နဲ ့ေရးမလားေပါ့ ။ က်ေနာ္ ပထမ အေပၚမွာရွင္းျပခဲ့တဲ့ Methodology ထဲက technique ေတြကိုေျပာတပါ မႏၱေလးကိုသြားတဲ့ ကိစၥမွာေပါ့ Mandalay ဆိုတာကိုေရာက္ဖို ့အသုံးျပဳရတဲ့ အရာေတြ ကားနဲ ့သြားရင္ ကား ေပါ့ ။ ဒီလို မ်ဳိးကိုေျပာတာပါ။
ေနာက္ျပီး ေဆာ့၀ဲလ္ေတြေရးသားထုပ္လုပ္ရာမွာ ရည္၇ြယ္ခ်က္ ၂ မ်ဳိးနဲ ့ထုတ္လုပ္က်ရပါတယ္။
1. Generic products လား
2. Customized Products လားဆိုျပီး ထုတ္လုပ္ေရးသားပါတယ္ ။
Generic products
က်ေနာ္တို ့သုံးေနတဲ့ OS ေတြဟာ Generic product ေတြပါ လူတိုင္းသုံးဖို ့ market ကို ျဖန္ ့ခ်ီ ဖို ့ေရးသားထားတာျဖစ္ပါတယ္ Microsoft word လူတိုင္းသုံးဖို ့ ေရးသားထားတာပါ။ ဒါကိုသုံတဲ့အတြက္ customer ဟာ သူရဲ ့လုပ္ငန္းစဥ္မွာ ဒီေဆာ့၀ဲ ဟာသူ ့ရဲ ့လုိအပ္ခ်က္နဲ ့ကိုက္ညီခ်င္မွ ကိုက္ညီမယ္ ။။ သုံးလို ့ေတာ့အဆင္ေျပေနမယ္ သူရဲ ့လုပ္ငန္းအတြက္သီးသန္ ့ေရးထားတာမဟုတ္ပဲ အမ်ားသုံးလို ့ရေအာင္ အဆင္ေျပေအာင္ ေ၇းသားထားေပးတဲ့ software ျဖစ္တဲ့အတြက္ လူတိုင္းနဲ ့ေတာ့မကိုက္ညီနုိင္ပါဘူး ဒါေပမယ့္လူ တုိင္းေတာ့သုံးလို ့ရပါတယ္။
Customized Software ဆိုတာကေတာ့ အထက္ကေျပာသလိုေပါ့ Customer ဟာ သူ ့လုပ္ငန္းမွာ MS word လို Excel လို အမ်ားသုံးအတြက္မကိုက္ညီတဲ့အခါ သူလုပ္ငန္းအတြက္သီးသန္ ့လိုအပ္တဲ့ Software မ်ဳိးသီးသန္ ့လိုအပ္လာပါျပီ ။ ဥပမာ City mart လို ေနရာမ်ဳိးမွာ သူတို ့ရဲ ့လုပ္ငန္းကို MS word , Excel နဲ ့အစဥ္ေျပဖို ့မရွိတဲ့အတြက္ သူတို ့ဟာ သူတို ့လုပ္ငန္းအတြက္ သီးသန္ ့software ေတြသုံးက်ပါတယ္ ။ ဒီလို သီးသန္ ့Customer လိုအပ္ခ်က္ကိုလုိုက္ျပီး particular customer သီးသန္ ့ေရးသားေပးရတာမ်ဳိးကို Customized Software ေတြဆိုျပီး ဆိုနုိင္ပါတယ္။။
ွအထက္မွာေဖာ္ျပခဲ့တဲ့ Software types မ်ားဟာ အၾကမ္းအားျဖင့္ ေဖာ္ျပထားတာျဖင့္ျပီး ေနာက္ေရးမယ့္ Article မွာ Software type မ်ားကို နဲနဲ အေသးစိတ္ေရးဖို ့စိတ္ကူးထားမိပါတယ္ ..
တစ္ဆင့္ share ထားျခင္းျဖစ္ပါတယ္.....
PDFဖိုင္ေလးထုတ္ေပးပါလား
ReplyDelete