ယူနစ္ပိုင္းျခားျခင္း

၈။ ယူနစ္ပိုင္းျခားျခင္း

၁။ Module ေျပာင္းလဲျခင္း အယူအဆ

Module ေျပာင္းလဲျခင္း အယူအဆကို Program မွာတင္မက အျခားနယ္ပယ္မ်ားမွာလည္း အသံုးျပုလ်က္ရွိပါတယ္။ ဒီေျပာင္းလဲျခင္း အယူအဆကိုေတာ့ လြယ္လြယ္ကူကူပဲ ေဖာ္ျပပါမယ္။

Desing ဆြဲရာမွာ “ခြဲျခားျခင္း – ဆန္းစစ္ျခင္း” နဲ့ “ ျပန္လည္စုစည္းျခင္း – ေပါင္းစပ္ျခင္း” ဆိုျပီး ရွိပါတယ္။ ျပသနာတစ္ခုကို ေျဖရွင္းဖို့ နည္းလမ္းေတြ အမ်ားျကီး ရွိေပမယ့္ ျပသနာ အျကီးျကီးတစ္ခုကို တစ္ျပိဳင္တည္း ေျဖရွင္းတာထက္စာရင္ အပိုင္းပိုင္းခြဲျပီး နားလည္ရလြယ္ေအာင္ ေျဖရွင္းတာက ပိုေကာင္းပါတယ္။ Programming မွာဆိုရင္ အဓိက အရင္းအျမစ္ကို “main module” လုိ့ေခၚျပီး ထပ္မံခဲြထားတဲ့အပိုင္းေတြကိုေတာ့့“lower level module” လို့ေခၚပါတယ္။

ဒါေတြက Program ရဲ့ယူနစ္တစ္ခုခ်င္းစီကို လြတ္လပ္စြာ ရပ္တည္ႏို္င္ဖို့ကူညီေပးပါတယ္။ တကယ္လို့“lower level module” ေတြကျကီးေနေသးတယ္ ဆိုရင္ေတာ့ hierarchal structure အတိုင္း ထပ္မံခြဲျခားေပးဖို႕ လိုအပ္ပါတယ္။

recruit

အေပၚဆံုး module မွာေတာ့ အက်ဥ္းခ်ဳပ္အေၾကာင္းအရာေတြပါဝင္ပါတယ္။ ေအာက္ဖက္ကို ဆက္သြားရင္အဆင့္ဆင့္ အေသးစိတ္အေၾကာင္းအရာေတြေဖာ္ျပေပးလာမွာျဖစ္ပါတယ္။ ဒါကို“top down programming” လို႕လည္းေခၚပါတယ္။ လုပ္ငန္းစဥ္ေတြကို ခြဲျခားျပီးျပီဆိုရင္ေတာ့ တျခား ေအာက္ဖက္က module ေတြနဲ့ အျပန္အလွန္သက္ေရာက္မွု ျဖစ္ေပၚလာပါမယ္။
module ေတြကိုခဲြျခားရာမွာပိုျပီး အဆင့္ျမင့္တဲ့နည္းလမ္းရိွပါတယ္္။ အဲဒါကေတာ့ data ေတြကို အဓိကထားတာပဲ ျဖစ္ပါတယ္္္။ တူညီတာကေတာ့ အဓိက module ေတြရဲ့အလုပ္ေတြကို ေျပာင္းျပန္ခဲြျခမ္း စိတ္ျဖာတာပဲျဖစ္ပါတယ္။ ဒါက Program တစ္စိတ္တစ္ပိုင္းကေန Program တစ္ခုလံုးအျဖစ္ ေရာက္ရွိသြားေစျပီး“bottom up” လုပ္ေဆာင္ခ်က္လို့ ေခၚပါတယ္။“top down programming” ကိုလည္း“bottom up” ရဲ့ဆန့္က်င္ဘက္ အေနနဲ့ အသံုးျပုႏိုင္ပါတယ္။

၂။ Moduleမ်ားရဲ႕ဆက္စပ္ပံု(Interface between Modules)

Module တစ္ခုနဲ႔တစ္ခုရဲ႕ မွီခိုပတ္သတ္ဆက္ႏြယ္မႈကိုေျပာရမယ္ဆိုရင္ ”Upper Module” က”Main Module” ျဖစ္ျပီးေတာ႔ ထို ”Upper Module” ကို ”Lower Module”မ်ားမွ အသံုးျပဳ မည္ ျဖစ္ပါသည္။
Module မ်ားကို အသံုးျပဳ ခ်ိန္တြင္ ”Upper Module” ကို ”ေခၚဆိုသူ-Call” ဟုသတ္မွတ္ႏိုင္ျပီး ”Lower Module”မ်ားကို ”ေခၚဆိုျခင္းခံရသူမ်ား – Call to” ဟုသတ္မွတ္ႏိုင္ပါတယ္။ Module တစ္ခုနဲ႔တစ္ခုၾကားမွာ Data သယ္ေဆာင္မႈေတြကိုလုပ္ေဆာင္တဲ႔ အရာေတြကိုေတာ႔ Parameter ေတြ လို႔ေခၚပါတယ္။

recruit

(၁) Module synopsis (process)
(၂) Variable (input)
(၃) Result value (output)

၃။  ျပႆနာေတြကိုစီစစ္ျခင္းနွင့္ခြဲျခားျခင္း

Program ေတြကိုလက္ေတြ႕က်က် မျပဳလုပ္ခင္ အလုပ္ေတြျပီးျပတ္ဖို့နွင့္ လုပ္ငန္းစဥ္အဆင့္ကိုိအေသးစိတ္ေရးခ်ဖို့လိုအပ္ပါမယ္။
ဒါေပမဲ့အဆင့္တစ္ဆင့္ခ်င္းစီကို figure ေတြကိုအသုံးျပဳျပီး ေရးခ်ဖို့မလိုအပ္ပါဘူး။ process ေတြရဲ႕သတ္မွတ္ခ်က္ေတြကိုပဲေရးခ်ရန္လိုအပ္ပါတယ္။
ကြန္ျပဴတာကို လက္ေတြ႕အသံုးျပုတဲ့ လုပ္ငန္းစဥ္မွာ data ေတြအမ်ားျကီးကို အသံုးျပဳရတာမ်ိုး ရွိျပီးေတာ့ ဒီလိုအေျခအေနမ်ိုးမွာဆိုရင္အသံုးျပဳမယ့္dataကိုဘယ္လိုတည္ေဆာက္ပံုေပၚလိုက္ျပီးေတာ့ျပသနာကိုေျဖရွင္းဖို႕အတြက္ algorithm ကိုလိုအပ္ပါတယ္။ data တည္ေဆာက္ပံုနဲ့ algorithm မွာ နက္နဲတဲ့ ဆက္သြယ္မွု ရွိျပီး data တည္ေဆာက္ပံုအတြက္ သင့္ေတာ္တဲ့ program တည္ေဆာက္ပံုနဲ့ ပက္ဆက္ႏြယ္မႉ႕ရွိပါတယ္။ အဲဒီအတြက္ concept design ကိုျပဳလုပ္ေနခ်ိန္အတြင္းမွာပဲ data ေျပာင္းလဲပံုကို ေသခ်ာ ဂ႐ုစိုက္ေပးဖို႕လိုအပ္ပါတယ္။


Check our Facebook Page!