Friday, October 14, 2011

Freelance Developer တကယ်လုပ်တော့မှာလား?

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

အတွေ့အကြုံအလုံအလောက်ရှိပြီးပြီလား?

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

ကျောင်းပြီးအောင်တက်သင့်သလား?

အဖြေကတော့ Yes ပါ ။ တက္ကသိုလ် တွေမကောင်းတာ တပိုင်းထား ၊ လူမူဆက်ဆံရေး အတွက်အရေးကြီးပါတယ် ။ တက္ကသိုလ် ကျောင်းသားဟာ တက္ကသိုလ်ပတ်ဝန်:ကျင်နဲ့ အသင့်တော်ဆုံးပါ ။ ကိုယ်နဲ့ ဝါသနာတူ ၊ အရွယ်တူ ၊ ပညာတတ်ရောက်မူတူတဲ့ လူတွေနဲ့ တွေ့နိုင်တဲ့နေရာဖြစ်ပါတယ် ။

မိသားစုစားဝတ်နေရေးအတွက် စိတ်ပူရသလား?

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

အင်္ဂလိပ်စာ ကျွမ်းကျင်ရဲ့လာ:?

အမှန်အတိုင်းတော့ ကျွှန်တော်လဲ မကောင်းပါဘူး ။ ဒါပေမယ့် Freelance လုပ်မယ်မှ မဟုတ်ပါဘူး Developer ဆိုရင်တောင် အင်္ဂလိပ်လို ရေး၊ ဖတ်၊ ပြောဖို. လိုအပ်ပါတယ် ။ ကျွှန်တော် Devcon တုန်းက အင်္ဂလိပ်လိုပြောလို. ခနဲ့တဲ့တူတွေရှိပါတယ် ။ ကျွှန်တော့်ရဲ့ ဆိုလိုရင်းက ရှင်းပါတယ် ။ Devcon သည် Developer များအတွက် အထိရောက်ဆုံးဖြစ်အောင် လုပ်ထားတဲ့ ပွဲပါ ။ topic တွေဟာ developerတွေအတွက် ရည်ရွယ်ထားတာဖြစ်ပါတယ် ။ ပေးချင်တဲ့ message ကို ပေးသင့်တဲ့ လူကိုထိအောင်ပစ်ချင်တာပါ ။ Freelance လုပ်ချင်တယ် ၊ developer လဲဖြစ်ချင်တယ်ဆိုရင် မြန်မာလို အားလုံးကို ရှာနေတာ ရပ်လိုက်ပါတော့လို. အကြံပေးလိုပါတယ် ။

သင်ဟာအလုပ်ရွေးတတ်တဲ့သူလား?

Developer ဆိုပြီး CSS ရေးစရာ မလိုဘူးဆိုတဲ့သူမျိုး တွေ့ဘူးပါတယ် ။ အမှန်က မှာ:ပါတယ် ။ တကယ့်အလုပ်လုပ်ပြီဆို Data Entry ပါလုပ်သင့်ရင်လုပ်ရပါတယ် ။ ဒီနေရာမှာ ကျွှန်တော် ဘာလုပ်သလဲ ပြောပြချင်ပါတယ် ။ Freelance developer ဆိုပြီး ဒီအတိုင်း ထိုင်နေရင် ထမင်းသေချာပေါက်ငတ်မှာပါ ။ ကျွှန်တော် ရည်ရွယ်ချက်က ရှင်းရှင်းလေးပါ ။ ကိုယ်ဝါသနာပါတာကို ထူးချွံအောင်လုပ်ပါတယ် ။ ကျွှန်တော် ဂျာနယ်တွေမှာ ဆောင်းပါးတွေရေးပါတယ် ။ အသံလွှင့်တဲ့ အပိုင်းကော ၊ ဘာသာပြန်တာကော ၊ လိုအပ်ရင် data entry၊ စာသင်တဲ့အလုပ် အစုံလုပ်ရပါတယ် ။ ဂျာနယ်မှာရေ:တဲ့ ဂိမ်းဆောင်းပါးတွေဟာ တစ်ခုမှ ၅၀၀၀ လောက်ပဲရတာပါ ။ ဒါပေမယ့် ၂သောင်းသေချာပေါက်လတိုင်းရပါတယ်။ အသံလွှင့်တာလဲ သောင်းဂဏန်:လောက်ပဲရမှာပါ ။ စာသင်တဲ့အလုပ်ဆိုတာလဲ သိန်းဂဏန်: သာတယ်ဆိုရုံပဲရှိပါတယ် ။ အခုမှသာ project တွေဆက်သွားလို. အဆင်ပြေသွားတယ်ဆိုပေမဲ့ အဲဒါတွေက လွန်ခဲ့တဲ့နစ်တွေကစပြီး ကျွှန်တော်လုပ်ခဲ့တဲ့အလုပ်တွေပါ ။ သောင်းဂဏန်: ၊ ထောင် ဂဏန်: တွေပေါင်းရင် သိန်း ဂဏန်:၊ သန်: ဂဏန်:တွေဖြစ်နိုင်တယ်ဆိုတာပြောချင်တာပါ ။

Social ဝင်ဆန့်ရဲ့လား?

Social ဆိုတော့ ကလပ်တက်တယ် သွားမြင်ကြလားမသိဘူး အဓိကပြောချင်တာကတော့ အပေါင်းအသင်းဆက်ဆံရေး ဘယ်လောက်ကောင်းတယ်ဆိုတာကို ဆိုလိုတာပါ ။ ပေါင်းတယ်ဆိုတာ တွေ့ကရာလူတွေနဲ့ လျှောက်ပေါင်းနေတာကို ပြောတာမဟုတ်ဘူးနော် ကိုယ့်အလုပ်နဲ့ဆက်စပ်တဲ့သူတွေနဲ့ သိကျွမ်းသင့်တယ်ဆိုလိုတာပါ ။ ကျွှန်တော့် ကတော့ programming skill နဲ့တိုင်းရင် တော်တော်တောင်အခြေခံမှာပဲရှိတယ်လို.ပဲ ကိုယ့်ကိုယ်ကိုခံယူထားပါတယ် ။ နယ်ပယ်အသီးသီးက ဆရာတွေနဲ့တည်.အောင်လိုက်ပေါင်းထားပါတယ် ။ ကျွှန်တော့်မိဘတွေက အိုင်တီအသိုင်းအဝိုင်းဝေ:ကွာတဲ့သူတွေပါ ။ ဘာမှလဲ လမ်းညွန်မပေးနိုင်ပါဘူး ။

တည်.အောင်လိုက်ပေါင်းထားတယ်ဆိုတာ အတင်းကြီးလိုက်ရောဖို.ပြောနေတာမဟုတ်ပါဘူး ။ အနည်းဆုံး ကိုယ့်ဘာတွေ လုပ်တတ်တယ် လုပ်နိုင်တယ်ဆိုတာကို ပြနိုင်ဖို.အရေးကြီးပါတယ် ။ MSDN လိုမျိုး ၊ Stackoverflow လိုမျိုးဆိုက်တွေမှာ geek တွေရှိပါတယ် ခင်အောင်လုပ်ထားရင် နောက်ပိုင်းအကျိုးမယုတ်နိုင်ပါဘူး ။ နောက်တစ်ခုက Myanmar IT Pro ဟာအခုတော့ နည်းနည်းအေးသွားတယ်ဆိုပေမဲ့ ဒီမှာ တကယ့် geek တွေ လာတတ်တဲ့နေရာမျိုးပါပဲ ။ MyanmarTutorial လိုမျိုးဟာလဲ အရမ်းအကျိုးရှိပါတယ် ။ ဒါပေမယ့် beginner level ဆန်ဆန်ပုံစံမျိုး မေး နေရင်တော့ အလုပ်ဖြစ်မှာမဟုတ်ပါဘူး ။” mobile application တစ်ခုရေးချင်တယ် ပြောပြပေးပါ “ဆိုတာထက် “ကျွှန်တော် Java ကိုစိတ်ဝင်စားပါတယ် ။ Mobile ကိုလဲစိတ်ဝင်စားတယ် ၊ လူတွေအသုံးတဲ့မယ့် မြန်မာစာနဲ့ပတ်သက်တာလေးရေးချင်တယ် “ဆိုတာမျိုး မေးတာက ပိုပြီး ဝင်ဆန့်စေမှာပါ ။

မေးတဲ့ဆိုတဲ့နေရာမှာ နေရာရပြီးသားသူတွေဟာ အလုပ်များကြပါတယ် ။ ချက်ဖို.မအားကြပါဘူး ။ ကိုယ့်ဘက်ကအစစအရာရာ Prepare တော့ဖြစ်သင့်ပါတယ် ။ ဖြစ်သင့်တဲ့ပုံစံမျို:ကတော့ ကျွှန်တော်ဘာကူညီနိုင်မလဲဆိုတာမျိုး ဖြစ်သင့်ပြီး အားတဲ့အချိန်လေးတွေမှာ ဗဟုသုတ ပုံစံမျိုးနဲ့ မေးသင့်ပါတယ် ။ နောက်တစ်ခုက အိုင်တီသမားတွေက အိုင်တီသမားတွေနဲ့ပဲ ပေါင်းရင်မလုံလောက်ဘူးဆိုတာပါပဲ ။ လုပ်ငန်:ရှင်တွေနဲ့ နီးစပ်အောင်လုပ်ထားသင့်ပါတယ် ။ တိတိကျကျ ပြောရရင်တော့ အိုင်တီကိုစိတ်ဝင်စားတဲ့ အလုပ်အပ်နိုင်တဲ့သူမျိုးတွေ ဖြစ်သင့်ပါတယ် ။

Role Models?

အားကျတယ် ကောင်းတယ်ဆိုရင် အရမ်းအကျိုးရှိပါတယ် ။ ကောင်းတာကို ဆောင်ပြီး မကောင်းတာကို ပယ်သင့်ပါတယ် ။ Privacy ကြောင့် ဘယ်သူဘာ ထုတ်ဖော်မပြောလိုပေမယ့် စည်းရုံးရေး ၊ အင်္ဂလိပ်စာအသုံးအနှုန်း ၊ marketing၊ Speech၊ Cooperate culture ၊ Networking ၊ information gathering ၊ Diplomatic Skill၊ ဈေးကွက်မြင်မူ ၊Language independency အစရှိတဲ့နေရာတွေမှာ အားကျတဲ့သူတွေ ရှိပါတယ် ။ ကျွှန်တော့်ထက်ငယ်တဲ့သူတွေ တောင်ပါပါသေးတယ် ။ ကိုယ်နဲ့ကိုက်ညီတဲ့ ပုံစံနဲ့ သူတို.ရဲ့ကောင်းတဲ့အချက်လေးတွေကို adapt လုပ်နိုင်ဖို.ကြိုးစားပါတယ် ။

ဆက်ရေးပါဦးမယ်..

ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအတွက် အခက်အခဲများ ( What are the key challenges facing software engineering? )

လက်ရှိ စနစ်များနဲ့ လိုက်လျောညီထွေဖြစ်အောင် ပြုပြင်ရခြင်း

စနစ်တစ်ခုလုပ်မယ်ဆိုရင် အဲဒီစနစ်ရဲ့ အသွားအလာကို နားလည်သဘောပေါက်ပြီးရအောင် လုပ်ရပါမယ် ။ ဥပမာအားဖြင့် e-passport စနစ်ဆိုရင် ပတ်စပို.ရုံးရဲ့ စာအသွာ:အလာကို နားလည်ပြီး ၊ ရုံးရဲ့ ဒေတာသွားလာမူပုံစံအတိုင်း ဖန်တီးယူဖို.လိုပါတယ် ။ ပြောရတာလွယ်သလို ထင်ရပေမဲ့ ၊ programming language တွေကိုတိုင်က ကန့်သတ်မူတွေရှိပါတယ် ။ စနစ်ရဲ့ လိုအပ်ချက်နဲ့ ဆော့ဖ်ဝဲရဲ့ ထောက်ပံ့နိုင်မူကို ချိန်စဖို.ဟာ တော်တော်ခက်ခဲတဲ့ အလုပ်ပါပဲ ။

စနစ်ဟောင်းများအား ပြုပြင်ထိန်းသိမ်းရခြင်း (Legacy systems)

အရင်တုန်းက လူတွေ တည်ဆောက်ခဲ့တဲ့ တန်ဖိုးကြီးမားတဲ့ စနစ်ကို ထိန်းသိမ်းပြီး ကောင်းမွန်အောင်လုပ်ဖို.ဟာလဲ အရေးကြီးတဲ့ အချက်ပါပဲ ။ ဥပမာအားဖြင့် နိုင်ငံတကာ ကော်ပိုရိတ်ကြီးတွေမှာ Database အနေနဲ့ MS SQL 2000 ကိုတွေ့ရင် အံ့သြစရာမရှိပါဘူး ။ ဘာလို.လဲဆိုတော့ စနစ်က ပြောင်းလဲမူလုပ်ဖို.ခက်ခဲနေလို.ပါ ။ အကောင်းတွေ ဘယ်လောက်ထွက်ထွက် အဟောင်းကို စွန့်လွတ်ဖို.ခက်ခဲတဲ့ သဘောဝပါ ။

ပါဝင်သော ဆော့ဖ်ဝဲနင့် ဟတ်ဝဲများမတူညီခြင်း (Heterogeneity)

မတူညီတဲ့ စက်တွေနဲ့ ဆော့ဖ်ဝဲတွေက လဲ အရေးကြီးတဲ့ အတားအဆီးဖြစ်နေပါတယ် ။ ဥပမာအားဖြင့် ကွန်ပျူတာ အလုံး ၂၀ဝရှိတဲ့ နေရာမှာ ၁၀ဝက ဝင်းဒိုး xp ၊ ၅၀ကဝင်းဒိုး 7၊ ကျန်တဲ့ ၅၀က လင်းနစ်ရဲ့ အခြားအမျိုးမတူတဲ့ operation system တွေသုံးပြုထားတာမျိုးပါ ။

အမြန်လိုခြင်း (Delievery)

အလုပ်အပ်သူဟာ လူတိုင်းနီးပါ ယနေ့အပ်ရင် မနက်ဖြန်လောက် ဖြစ်နိုင်ရင် လိုချင်ကြသူတွေပါ ။ ဈေးကွက်ရဲ့ လိုအပ်ချက်ကို အမြန်ဆုံး ဖြည်.စည်းဖို.ကလဲ အရေးကြီးနေပြန်ပါတယ် ။ အရင်တုန်းက Microsft Window Operation System ဟာ ပြိုင်ဘက်တွေကို အလဲထိုးနိုင်ခဲ့တာဟာ အကောင်းဆုံး ဥပမာပါ ။ ကောင်းတာမကောင်းတာထပ် ၊ လိုအပ်တဲ့ အချိန်မှာ အရောက်ပို.နိုင်မူ အသုံးပြုသုံးနိုင်မူက အရေးကြီးတယ်ဆိုတာ နောက်ပိုင်းမှာရှင်းပြထားပါမယ် ။

( ဒီဆောင်:ပါးဟာ Ivan Summerville ရေးခဲ့တဲ့ Software Engineering စာအုပ်နဲ့ စာရေးသူရဲ့ အတွေ့အကြုံ ၊ ဆရာသမားများဆီက သင်ကြားပို.ချမှုတွေကို ပေါင်းစပ်ပြီးရေ:ထားတာဖြစ်ပါတယ် ။ )

ဆော့ဖ်ဝဲလုပ်ငန်:တာဝန်ပြပုံစံဆိုတာဘာလဲ (What is a software process model?)

ဆော့ဖ်ဝဲလုပ်ငန်:တာဝန်တွေကို လိုအပ်တဲ့ရှုထောင့်တစ်ခုဖြစ်စေ တစ်ခုထက်အပိုကဖြစ်စေ ချပြတဲ့ပုံစံပါ ။

 

လုပ်ငန်:စဉ်အဆင့်ဆင့်အတွက်ဖော်ပြခြင်း (Workflow perspective - sequence of activities)

လုပ်ငန်:ဆောင်ရွက်ပုံ အဆင့်ဆင့်အတွက် လုပ်ကိုင်တာကို ဖော်ပြတဲ့ပုံစံပါ ။ ။ (ဥပမာ : passport လျှောက်တဲ့ပုံစံကို ကြည်.မယ်ဆိုရင် ဓာတ်ပုံရိုက်မယ် ၊ form ဖြည်.မယ် ၊ ပုံစံ၁၇ ၊ ပုံစံ ၁၉ အဆင့်ဆင့်လုပ်ရတာကို ဖော်ပြတာဖြစ်ပါတယ် ။

 

ဒေတာအသွားအလာအတွက်ဖော်ပြခြင်း (Data-flow perspective - information flow)

ဒါတွေကတော့ ငှာနဆိုင်ရာ ဒါမှမဟုတ် အဖွဲ့အစည်းအတွင်းမှာ သုံးတဲ့ပုံစံ ဖြစ်ပါတယ် ။ department တွေအကြား သို.မဟုတ် ဆော့ဖ်ဝဲရဲ့ အတွင်းမှာ data အသွားအလာကို ဖော်ပြတာပါ ။ (Webbase Ecommerce စနစ်မှာ ပစ္စည်းကို ကြည်.ပါတယ် >>ပြီးရင် shopping cart ထဲထဲ့ပါတယ် >>ပြီးရင် check out ပါ ။ အဆင့်ဆင့်သွားတာပါ ။ )

 

ဘယ်သူဘာလုပ်ရမလဲ ဖော်ပြခြင်း ( Role/action perspective - who does what )

ဆော့ဖ်ဝဲတစ်ခုကို develop လုပ်တော့မယ်ဆိုရင် တစ်ယောက်ထဲအကုန်လုပ်တာမျိုးထပ် တစ်ဦးချင်းဘာလုပ်မလဲဆိုတာကို တာဝန်ခွဲလိုက်တာ ပိုပြီးကောင်းမွန်ပါတယ် ။

ဥပမာ :
  1. မလှမေ - ဒီဇိုင်းဆွဲရန်
  2. ကိုသောင်းထွန်း - ဒေတာကောက်ရန်
  3. ကိုညီ - testing လုပ်ရန်


Generic process models

ဒါကိုတော့နောက်ပိုင်း cover လုပ်သွားပါမယ် ။

 

ရေတံခွန်ကဲ့သို ပုံစံ ( Waterfall )

လူတွေ အသုံးများတဲ့ ပုံစံပါပဲ ။ ရေတံခွန်လို အဆင့်ဆင့် စီ:ဆင်းသလိုပဲ ဒါပြီးရင် ဒါလုပ်မယ်ဆိုတာပါ ။ အရှင်းဆုံးပုံစံဖြစ်ပြီး အလုပ်ဖြစ်ဖို.သေချာတယ် ပြောရမှာပါ ။ ဒါပေမယ့် နောက်ပိုင်းမှာ ဆော့ဖ်ဝဲတွေကလိုအပ်ချက်တွေ များလာတဲ့အတွက် agile လိုမျိုး model တွေကို အစားထိုးလာပါတယ် ။

 

ဆင့်ကွဲဖန်တီးပေါင်းဆက်ခြင်း ( Evolutionary development )

စာရေးသူအကြိုက်ဆုံးပုံစံဖြစ်ပါတယ် ။ ရှေးရိုးစွဲပုံစံက ခွဲထွက်ပြီး အသစ်အသစ်ပုံစံနဲ့ approach လုပ်တာပါ ။

 

ရှေးရိုးပုံစံဖြင့်ပြောင်းလဲခြင်း ( Formal transformation )

နောက်ပိုင်း cover လုပ်သွားပါမယ် ။

 

ပြန်လည်အသုံးပြုခြင်း ( Integration from reusable components )

နောက်ပိုင်း cover လုပ်သွားပါမယ် ။

ဆော့ဖ်ဝဲအင်ဂျင်နီယာများအတွက်မသင့်တော်သော /စဉ်:စားရန်ခက်သော အခက်အခဲများ (Ethical dilemmas)

  • ချမှတ်ထားသော စည်းကမ်း ၊ လမ်းညွန်မူများနင့် ကွဲလွဲခြင်း
  • အလုပ်ရှင်မှ မသင့်တော်သောအရာများအားဆောင်ရွက်ခြင်း (ဥပမာ : လူအသက်အန္တရယ်နင့် အမှားမခံသောစနစ်များအတွက် testing မပြီးခင် ဖြန်ချီခြင်း / အလုပ်အပ်ခြင်း)
  • လူသတ်လက်နက်များနင့် အနူမြူစီမံကိန်းများအတွက်ပါဝင်ဆောင်ရွက်ရခြင်း
 

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

 

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

Waterfall model phases (ရေတံခွန်ကဲ့သို.ပုံစအဆင့်ဆငံ့်)

ရေတံခွန်တွေဟာ အားကောင်းမောင်:သံနဲ့ အဆင့်ဆင့် စီးဆင့်သကဲ့သို. တစ်ခုပြီးတစ်ခု ဆောင်ရွက်တဲ့ ပုံစံကို waterfall model လိုခေါ်ပါတယ် ။ ရေတံခွန်ဟာ နောက်ပြန်မစီးသကဲ့သို. Waterfall model မှာလဲ နောက်ပြန်သွားဖို. မလွယ်ကူပါဘူး ။ အဆင့်ဆင့်မှာ တစ်ခုပြီးမှ တစ်ခု လုပ်ဖို.စောင့်ဆိုင်းရပါသေးတယ် ။

 

လိုအပ်ချက်များကို တွက်ချက်ခြင်းနင့် ဆုံးဖြတ်ခြင်း (Requirements analysis and definition )

ဘာတွေလိုမလဲ တက်မြောက်တဲ့ လူအင်အား ၊ လိုအပ်တဲ့ စက်ပစ္စည်းစုဆောင်းရပါတယ် ။

ဥပမာ : အဝေးကားဂိတ်မှာ ကာ:တွေရဲ့ အလေးချိန်ကို ချိန်တဲ့ ကတ္တာ:စနစ် လုပ်မယ်ဆိုပါတော့ ၊ အနည်းဆုံး ကတ္တာ:အသေးစားကို ဝယ်ပြီး စမ်းသပ်လုပ်မှရမှာပါ ။နောက်တစ်ခုက ယာဉ်ထိန်းစနစ်လုပ်မယ်ဆိုပါတော့ ဆော့ဖ်ဝဲသမားအပြင် ၊ ယာဉ်စည်းကမ်းနားလည်တဲ့ သူလဲ လိုပါသေးတယ် ။စနစ်မှာ ဘာတွေပါရမလဲဆုံးဖြတ်ရပါမယ် ။ Timer နဲ့ လုပ်မလား ၊ sensor နဲ့လုပ်မလား ၊ ဗီဒီယို live feed ကနေ လူကထိန်းမလား ဆုံးဖြတ်ရပါမယ် ။

 

 

စနစ်နင့် ဆော့ဖ်အတွက် ဒီဇိုင်းဆွဲခြင်း (System and software design)

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


 

အကောင်အထည်ဖော်ခြင်းနင့် ထပ်ခါ ထပ်ခါ စမ်းသပ်ခြင်း (Implementation and unit testing)

Testing က အရေးကြီးပါတယ်လို. ထပ်ခါထပ်ခါပြောပြီးပီဖြစ်ပါတယ် ။ ယာဉ်ကြောထိန်းချုပ်မူစနစ်ကို သေချာမစမ်းသပ်ပဲ လုပ်လိုက်တယ်ဆိုပါတော့ လမ်းပေါ်ကလူတွေ မာလကီးယားကြွသွားနိုင်ပါတယ် ။

 

စနစ်အတွင်းထဲ့သွင်းခြင်းနင် ထပ်ခါ ထပ်ခါ စမ်းသပ်ခြင်း (Integration and system testing)

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



 

လုပ်ငန်:လည်ပတ်ခြင်းနင့် ပြုပြင်ထိန်းသိမ်းခြင်း (Operation and maintenance)

မြင်သာအောင်ပြောပြရရင် ဓာတ်တိုင်တွေကို မီးလုံးပျက်ရင် လဲပေးရတာမျိုး ၊ ကားတွေက မတော်တဆတိုက်ရင်ပြင်ရတာမျိုးပါ ။ ဆော့ဖ်ဝဲမှာလဲ အမှားတက်နိုင်တဲ့အတွက် ပြုပြင်ထိန်းသိမ်းပြီး ကောင်းသထက်ကောင်းအောင် လုပ်ရပါသေးတယ် ။

 

ဆော့ဖ်ဝဲပရိုဂျက်အား ကွပ်ကဲစီမံခြင်း ( Software Enginnering : Project Management )

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

1 .တက်ကျွမ်းသောလူများအားစုဆောင်းခြင်းအတွက်အခက်အခဲများ

တက်ကျွမ်းတဲ့သူများအားရရန်ခက်ခဲခြင်း

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

 

လိုအပ်တဲ့အလုပ်အတွက် တက်ကျွမ်းသူမရှိခြင်း /ရှားပါခြင်း

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

 

အဖွဲ့အစည်းမှ ကိုယ့်လူကို ကိုယ်သင်ပြီးမွေးဖို.ကြိုးစားခြင်း

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

Window hosting( Database publishing)

Hi,

I saw some of the juniors having trouble with web hosting. So I decided to explained a little bit about window hosting.In this post I will explained how to host in www.winhost.com.(which provides latest tech support and cheap)

>>>စတင်ပြီးလေ့လာသူများကို အဆင်ပြေစေဖို. Window Hosting(Asp.net hosting). အကြောင်းကိုတင်ပြလိုက်ပါတယ်။ ဒီပိုစ်အတွက် http://www.winhost.com ကိုရှင်:ပြသွားမှာပါ။ (Asp.net 3.5 SP1 နဲ့ MSQL2008 ကို Support လုပ်လို.ပါ)



Step-1



Go to www.winhost.com

>>ပထမဆုံး http://www.winhost.com ကိုသွားပါ။



Step-2



You have to two options to choose hosting one is basic and one is max

The most distinct difference is Database support basic has 1 but max has 5 .

Detail explanation can be see here

In this suggestion, I will show you by demo control panel.


>>> Option နစ်ခုရှိပါတယ်။ တခုက Basic နဲ့ တစ်ခုက Max ပါ။
အဲဒီ နစ်ခုကြား အသိသာဆုံး ထင်ရှားချက်က Database ၁ခုနဲ့ ၅ခုSupport လုပ်တာပါ။
ပိုပြီးသိချင်ရင် ဒီမှာကြည်.ပါ.
ဒီပိုစ်မှာတော့ demo Control Panel ကိုသုံးပြသွားမှာပါ။




Step-3



You need to order a new site to register your address
>> Site အသစ်တစ်ခု ဝယ်ရန် register လုပ်ဖို. လိုအပ်ပါတယ်။




the other steps are quite easy just follow the instructions
>>ဝယ်ယူရန် Step-by-Step instruction အတိုင်းလိုက်လုပ်သွားရုံပါပဲ။ လွယ်ကူပါတယ်။
(Demo-version နဲ့ ပြနေတာကိုလဲ မမေ့ပါနဲ့) ။ တကယ့်ဟာနဲ့ အများကြီးကွာခြားချက် မရှိပါဘူး။



Step-4



After you had finished purchasing new web address.

You need to build a database or publish one via SSMS.

>>Site အသစ်ဝယ်ပြီးရင် database ကိုတည်ဆောက်ဖို. လိုပါလိပ်မယ်။
ပထမတစ်နည်းက Winhost မှာ Database ဆောက်တာနဲ့
ဒုတိယတစ်နည်းက ကိုယ့် Computer တည်းမှာရှိတဲ့ Database ကို SQL Server Management Studio(SSMS ၂၀ဝ၈) နဲ့Push/Publish လုပ်တာပါ။
အောက်ကပုံကို ကြည်.ပြီး winhost မှာ Database အသစ်ကို တည်းဆောက်လို.ရပါတယ်။






Step-5





Of course! You can not click create cos it is a demo :D Sorry. If buy one you can do :P
>>ဒီမှာတော့ database ကို အသစ်လုပ်လို. ရမှာမဟုတ်ပါဘူး ။ Demo version နဲ့ပြနေလို.ပါ။
Credit account ရှိရင် ဝယ်ပြီးလုပ်လို.ရပါတယ် ဒီအတိုင်းပါပဲ။



Step-6



Imagine that we already had created Database, we have to connect the DB (in winhost) with our Visual Studio.

Create a website in Visual Studio

Under Server Explorer add new connection

>>Database အသစ်ကို Create လုပ်ပြီးရင်။ Winhost က Database နဲ့ ကိုယ့်ရဲ့Computer ထဲက Visual Studio နဲ့ ချိတ်ဆက်ပုံကို ပြထားတာပါ။
Visual Studio မှာ Website အသစ်လုပ်ပါ။
Server Explorer အောက်မှာ Add New Connection ကိုChoose လုပ်ပါ။





ဒီပိုစ်အတွက် Ko Alex Ko Aung ကိုအထူးကျေးဇူးတင်ရှိပါတယ်..

:D

(P.S မြန်မာပြည်မှာ Port တော်တော်များများကို ပိတ်ထားတော့ Bypass လုပ်တဲ့ Tool တခုခုနဲ့ တွဲလုပ်ဖို. လိုပါလိပ်.မယ်)
Window IIS (Internet information Service မှာလဲ Virtual Server တင်ပြီး လုပ်လို.ရပါသေးတယ်။) မြန်မာလိုတင်ပေးပါ့မယ် စိတ်ဝင်းစားကြလားမသိဘူး?