Thursday, February 4, 2016

Feasibility Study (FS)

    ඊයේ පොස්ටුවවක් දාන්න බැරි උන හින්දා මන් බැලුවා අද ශක්‍යතා අධ්‍යයනය ගැන කතා කරන්න. මොකද්ද මේ කියන්නේ , මේ ලෝකේ ඕනෑම දෙයක් කරන්න කලින් අපි දෙතුන් සැරයක් හිතනවා. "පනින්න පෙර සිතා බලනු" කියන න්‍යාය තමා මචන් මේකෙත් කියන්නේ. අපි යම් දෙයක් කරන්න කලින් ඒ දේට අත ගහනවද නැද්ද යන්න පුළුල්ව සොයා බැලීම කල යුතු දෙයෙක්. එහෙම නොවුනොත් අපි අමාරුවේ වැටෙනවා. දැන් උබලා අහලා ඇති හෝටලයක් ආරම්භ කරන්න කලින් ශක්‍යතා වාර්තාවක් හදලා එකේ මධ්‍යම පරිසර අධිකාරියෙන් සහතික කරලා එම වාර්තාව සමත් උනොත් පමණයි හෝටලය ආරම්භ කරන්න පුළුවන් මන් කිව්වේ ලීගල් ක්‍රමේ. ඉතින් මේ ශක්‍යතා වාර්තාව පාස් උනොත් එම කාර්යය කරනවා ෆේල් උනොත් එම ව්‍යාපෘතිය නවත්වනවා. මේ ක්‍රමේ ම තමා මචන් Software Engineer වලත් භාවිතා කරන සංකල්පය.

හරි මේ Feasibility Study කියන දේ අපේ  Software Engineering එකට දායකත්වය සපයන්නේ කොහොමද කියලා අපි බලමු. මන් කිව්වනේ මේ ශක්‍යතා වාර්තාව ෆේල් උනොත් යම් ව්‍යාපෘතියක් කරන්නේ නෑ කියලා. Software Project එකටත් ඒක පොදුයි.

මේ ශක්‍යතා අධ්‍යනයේ ප්‍රධාන අරමුණ වන්නේ ව්‍යාපෘතියේ ප්‍රශ්න විසදීම නොමෙයි ඒ ප්‍රශ්න විසදන්නේ Requirement Analysis කියන stage එකේදී මේකේ අරමුණ වෙන්නේ කොහොමද අපේ සම්පත් වලින් අරමුණට ලගා වෙන්නේ කියලා. ඒ කියන්නේ අපිට වට්ටි මුට්ටි වලින් ඉන්න මිනිස්සුන්ගෙන් මේ මෘදුකාංග හදන්න පුලුවන්ද කියලා බලන එකයි එක සැදීම අපට වාසි සගත ද කියන එකයි.

අපි ඒක සරල කරමු මෙහෙම ,ශක්‍යතා අධ්‍යනයේ ක්‍රියාවලිය වෙන්නේ යම් ව්‍යාපෘතියක් සෑදීමේ දී ඊට යන වියදම හා වාසි ඉතාමත් නිවැරදි ලෙස ඇස්තමේන්තු ගත කිරීමයි.

තව දෙයක් මේ ශක්‍යතා අධ්‍යනය කිරීම කල යුත්තේ කිසියම් ජීවන චක්‍රයක් ආකාරයට මචන් , ඇයි එහෙම කියන්නේ ව්‍යාපෘතියේ සෑම අංශයක් ම ඉතාමත් සූක්ෂම අයුරින් අධයනනය කරන්න ඕනේ.  ඉතින් එක් වෙලාවකට ශක්‍යතා අධ්‍යනය පාස් වෙයි තව ටිකක් ඉස්සරහට අධ්‍යනය කරද්දේ එකේ ෆේල් වෙයි. එකේ නිසා ගැලීම්වලින් තොරව ච්ක්රාකරවව loop by loop මේ වැඩේ කරන්න ඕනේ.

මේ අධ්‍යනය යේ ප්‍රධානත ම වාසිය වන්නේ ව්‍යාපෘතිය සෑදීමට පෙරාතුවකරගන්න බැරි ව්‍යාපෘතියක් හදුනා ගැනීම. ඒ තුළින් අපේ වැයවන කාලය හා මුදල් විශාල වශයෙන් ඉතුරු වෙනවා.

Preliminary Investigation Phase  එකේ දී තමා මේ ශක්‍යතා අධ්යනනය ආරම්භ වෙන්නේ.මේක කරන්නේ පියවර කිහිපයකින්,

1.)Analysis estimate : මෙම අවසතාවේ දී සූක්ෂම ලෙස ව්‍යාපෘතියට යන වියදම හා සංවර්ධන වියදම(Development cost) විශ්ලේෂනාත්මක ව ඇස්තමේන්තු ගත කරනවා.

2.)problem analysis : මෙමඅවස්තාව මචන් පවතින ප්‍රශ්නය විශ්ලේෂණය කරනවා. ඒ කියන්නේ මචන් දැනට පවතින පද්ධතියේ ප්‍රශ්න විශ්ලේෂණය කිරීම. ඉතින් මෙතන දී උබට හෝ මට හරියට ම ප්‍රශ්නය හොයාගන්න බැරි වෙයි. ඒත් මචන් අපිට මේ අවස්තාවේ දී පුළුවන් අලුත් පද්ධතිය ස්ථාපිත කිරීමෙ පවතින වාසිය හොයාගන්න හා හොදින් ම පද්ධති සංවර්ධන වියදම හොයන්න.

3.)Feasible Analysis : දැන් තියෙන්නේ ශක්‍යතා විශ්ලේෂණ අවධිය, මෙතන දී ආකාර කිහිපයක් ඔස්සේ මේ ව්‍යාපෘතිය සමත් වන වාද නැද්ද යන්න අධ්‍යනය කරන්න වෙනවා.

  • Technical Feasibility
  • Operational Feasibility 
  • Economic  Feasibility
  • Legal Feasibility
  • Time Feasibility

Technical Feasibility 


                         මේකේ දී මචන් අපි අධ්‍යයනය කරන්නේ මේ ව්‍යාපෘතිය සංවර්ධනය කිරීමේ දී අපට පවතින දෘඩාංග හා මෘදුකාංග ද පවතින තාක්ෂනය හා අවශ්‍ය කරන තාක්ෂණික දැනුම් සහිත පුද්ගලයන් සිටින වාද නැද්ද යන්න  කියන එක මචන් අධ්‍යනය කරනවා.

අනිත් එක තමා අපි මේ කරන ව්‍යාප්තිය දැනට තියෙන තාක්ෂනයෙන් සිදු කිරීම ප්‍රායෝගික ද නැද්ද යන්නසොයා බැලීම ත් වැදගත්. මෙම ව්‍යාපෘති යේ ස්වභාවය අනුව යොදාගන්නා වූ තාක්ෂනය වෙනස් වෙනවා. පැරණි තාක්ෂනයෙන් පාරිභාගික පිරිස් අඩු වෙන් පරිහරණය කරන ව්‍යාප්තියක් කරන්න පුළුවන් උවත් පාරිභෝගික පිරිස් සාපේක්ෂව වැඩි නම් වෙනත් තාක්ෂණ අධ්‍යනය කරන්න වෙනවා. ඊට පස්සේ මේ ව්‍යාප්තියට ගැලපෙන ම තාක්ෂනය සොයා ගැනීම සිදු කරනවා.

මචන් අපි යම් ව්‍යාපෘතියක් කරනවා නම් ඒ ව්‍යාපෘති කිරීමට පවතින සම්පත් වල බලාත්මක භාවය පිළිබද ව අභියෝගයක් තියෙනවා. හිතපන් අපි ERP මෘදුකාංගයක් කරනවා නම් ඊට අවශ්‍යවන මෘදුකාංග හා දෘඩාංග පහසුකම් අපට තියෙනවද අපේ සංවිධානයේ තියෙන තාක්ෂණය තුලින් කරන්න බැරි නම් ඒ සදහා විකල්ප විසදුම් මොනවාද යන්න මචන් අධ්‍යනය කරනවා. Banking පද්ධතියක් වගේ කරනවා නම් ඊට අවශ්‍ය වන විශේෂ දෘඩාංග පද්ධතිමිලදී ගන්න වෙනවා.

ඊලග කාරණය තමා මචන් තාක්ෂණික දැනුම තියෙන පිරිස ඉන්නවද නැද්ද යන්න සොයා බැලීම. මෘදුකාංග ආ දෘඩාංග තිබුනත් වැඩ දන්නා මිනිස්සු නැත්තන් !!! ඉතින් එම දැනුම දන්නා වුන් නැත්තං ඉන්න එවුන් ටික train කරන්න ඕනේ. නැත්තං එම තාක්ෂනය දන්නා එවුන් අලුතින් බදවා ගන්න ඕනේ.

පසුව මෙම අධ්‍යනය අතරතුර දී ප්‍රශ්න කිහිපයක් මතු වෙන්න හෝ මතු කරන්න ඕනේ
  • පවතින තාක්ෂණය උචිත අයුරින් වැඩේට ගැලපෙනවා ද
  • යෝජනා කල දෘඩාංග,මෘදුකාංග වලින්  අලුත් පද්ධති යට ගැලපෙනවා ද
  • නව පද්ධතිය අවසන් වූ විට එය Upgrade කල හැකි ද
  • මෙන්න මේ කරුණු තාක්ෂණික ව වශයෙන් සහතික කරන්න පුලුවන්ද? නිරවද්‍යතාවය(accuracy),  විශ්වසනීයත්වය(reliability), භාවිතයේ පහසුව(ease of access ) හා දත්ත වල ආරක්ෂාව(data security)







Tuesday, February 2, 2016

Information Systems



 
අද පාඩම තමා තොරතුරු පද්ධති. මොකද්ද මචන්ලා පද්ධතියක් කියන්නේ 


මන් දැන් එකේ පන්තියේ ඉගෙනගත්තු දත්ත හා තොරතුරු මතක් කරලා ඉන්නම්
දත්තයක් කියන්නේ මචන් කිසියම් සිද්ධියක් ඉදිරපත් කරන අසංවිධාන,අපැහැදිලි කරනු සමුහයට කියන තනිවචනය නේ ,තොරතුරක් කියන්නේ මිනිස්සුන්ට පැහැදිලිව තේරුම් ගත හැකි තීරණ ගැනීම උදෙසා මෙහෙවීමට ගත හැකි සංවිධානගත වූ කරනු සමූහයක්.



“පද්ධතියක් කියන්නේ කිසියම් අරමුණක් ඉටු කර ගැනීම සදහා සහයෝගයෙන් ක්‍රියාකරන අන්‍යෝන්‍ය වශයෙන් බැදී ඇති සංරචක වලට” කියන තනි නම. මේ පද්ධති(System) කියන ඉංග්‍රීසි වචනය ග්‍රීක භාෂාවෙන් කැඩී ආ එකක් ලු, ඒකෙ තියෙන්නේ Systema කියලා Systema කියන එක අර්ථ දක්වන්නේ “සංරචක වල ක්‍රියාකාරීත්වය සබදතා තුළින් සංවිධානය කිරීම” (Organized Relationship among functioning Units or Components-Wiki)



හරි මේ තොරතුරු පද්ධති කියන්නේ පද්ධති විශේෂයක් , ඉතින් මචන් මේ පද්ධති වර්ගය විශේෂයි. මොකද නමින් ම තේරෙනවා තොරතුරු සම්බන්ධ බව ඉතින් මේ පද්ධති විශේෂය මානව සමාජය තුල බහුල වශයෙන් පවතිනවා. බැංකුවකට ගියත්, රෝහලකට ගියත්, කඩයකට ගියත් ඇයි එහෙම කියන්නේ මචන් අපි මේ පද්ධති වර්ගය තුලින් කරන ප්‍රධානතම අරමුණ වන්නේ දත්ත එකතු කරලා(Collect),පෙරලා(Filter),ක්‍රියවලිකට(Process) බදුන් කරලා බෙදාහැරීම(Distribute) නේ. 


හරි හරි හෑලි නැතුව මචන් මේක මේක පැහැදිලි කරගන්න අමාරුයි. ඉතින් මචන් මේ තොරතුරු පද්ධතියක් කියන්නේ ඕනෑම ආයතනයක තොරතුරු එකතු කිරීම, ගබඩා කිරීම,සංවිධානය කිරීම හා සන්නිවේදනය කිරීම කියන පද්දතියට. ඉතින් මේක මැනුවල් හෝ පරිගණක ගතව වෙන්න පුළුවන්.
ඉතින් මේක මානව සම්පත්(Human Resource),ක්‍රියාවලිය(Process) හා ක්‍රියා පටිපාටිය(Procedure) අතර අනතර් ක්‍රියාකාරීත්වයක් දක්වනවා.

 ඒ කියන්නේ මචන් බැංකුවකට අපි ගිහාම මුදල් ගන්නවා කියලා හිතමු; ඉතින් එකේ ඉන්න බැංකුකරු නම් මානව සම්පත විසින්  අපගේ ගිණුමේ තොරතුරු ලබාගැනීම නම් ක්‍රියාවලිය හරහා මුදල් ලබා දීමේ ක්‍රියා පටිපාටියට අනුව මුදල් අපට ලබා දීම  සිදු කරනවා.

හරි ඔය සීන් එක ඔහොම වෙද්දී මචන් මේ පද්ධති වර්ගය කොටස් 2ට බෙදන්න පුළුවන්; ඒ තමා පරිගණක පාදක තොරතුරු පද්ධති හා පරිගණක පාදක නොවන තොරතුරු පද්ධති වශයෙන්.


හරි මචන්  අපි දැන් බලමු පරිගණක පාදක තොරතුරු පද්දතියක් කියන්නේ මොකද්ද කියලා

මිනිසුන් හා පරිගණක මගින් පද්දතියේ ක්‍රියාවලිය හෝ තොරතුරු මෙහෙය වීම ඒකාබද්ධ ව කිරීමයි.


Silver et al 1995 දී මචන් two views of IS කියලා එකක් හොයාගෙන තියෙනවා.එකේ අඩංගු වෙලා තියෙනවා දෘඩාංග,මෘදුකාංග,දත්ත,මිනිස්සු හා ආකාරය කියන දේ. ඒ වගේම zheng කියලා හාදයෙක් තවත් එකක් හොයාගෙන තියෙනවා එකේ අඩංගු වෙලා තියෙනවා environment,boundary,purpose,interaction වැදගත් කියන සෙට් එක.

 තොරතුරු පද්ධති වර්ග රාශියක් හදුනා ගන්න පුළුවන්


පැරණි ම තොරතුරු පද්ධතිය අපිට හමු වෙන්නේ 1980 දී  පොතකින් , ඒ කියන්නේ මචන් සංවිධානයක  ධුරාවලිය පිරමිඩයක් ආකාරයට දක්වල තියෙනවා පහල සිට ඉහලට Transaction processing System -> Management System-> Decision Support System ->Executive  Information System. මේ පැරණි මොඩලයෙන් තොරතුරු පද්ධති බෙදා වෙන් කිරීම හා දියුණු කිරීමට උපකාරී වෙලා තියෙනවලු.

https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Four-Level-Pyramid-model.png/375px-Four-Level-Pyramid-model.png



ඉතින් පරිගණක පාදක තොරතුරු පද්ධතියක විශේෂයෙන් ම අඩංගු කරුණු තියෙනවා.

Harware
Software
Database අදාළ දත්ත වල වගු හෝ ෆයිල් ගබඩා කිරීම
Networks
Procedure ඉහත සම්පත් තුලින් තොරතුරු ක්‍රියාවලියට බදුන් කර output කිරීම 


හරි යම් තාක් දුරකට IS ගැන අවබෝධයක් ලැබුවා කියලා මම තුමා හිතනවා


Monday, February 1, 2016

SDLC



මේ SDLC කියන්නේ මචන් cook book එකක් !! ඒ කියන්නේ හරියට manual guide book එකක් වගේ සීන් එකක් හැබැයි ඔව් cook book එකක් කියන්නේ කෑම වට්ටෝරු පොතක් නේ. දැන් මෙහෙම හිතපන් උබට ඕනේ වෙනවා පරිපුවක් හදා ගන්න. නැ ඒ පරිප්පු නෙමේ කන පරිප්පු. මේ පරිප්පු වේ recipe එක විදිහට තමා අපි හදන්නේ ඒ කියන්නේ 2 කුට නම්  ලුණු තේ හැදී භාගයයි, පරිප්පු කොප්පයි, මිරිස් කරල් 2 යි කහ තේ හැදී කාලයි ඇයි ඒ?  අපිට ලුණු මේස හැන්දක් මිරිස් කරල් 10 විතර ගන්න තහනම්ද? නැ මචන් තහනම් නැ හැබෙයි එහෙම හදපල්ලා කාගෙවත් බාධාවක් නෑ. මේකයි මචන් අපිට කලින් පරම්පරාවේ මිනිස්සු මෙන්න මේ පරිප්පුව හදන විදිහ වැරදිලා වැරදිලා වැරදිලා ක්‍රමවේදයක් හොයාගෙන තියෙනවා හෝ හෙවිලා තියෙනවා අපිට වඩාත් හොදින් කොලිටියට පරිප්පුව හදාගන්න :O

ඉතින් මේ SDLC පරිප්පුව  "මෘදුකාංග වැඩිදියුණු කිරීමේ ජීවන චක්‍රයක්". ඒ කියන්නේ හැමදාම පරිප්පුව හදනවා ඉවර වෙන්නේ නෑ. හරියට සංසාර චක්රේ වගේ.

මෘදුකාංග ජීවන චක්‍රය ඉවර වෙන්නේ නෑ කියන්නේ බන්ස්, අපේ සංසාර ච්ක්රේ  ඉපදෙනවා, හොද නරක කරනවා, මැරෙනවා, ආය ඉපදෙනවා, හොද නරක කරනවා,මැරෙනවා, අයේ ඇති ඇති ඒ වගේ මේ ච්ක්රේ
මන් කෙලින් ම බහිනවා ගේමට

Problem Definition

 මෙතනදී වෙන්නේ මචන් අපගේ ප්‍රශ්නය තේරුම් ගන්නවා, ඒ කියන්නේ වර්තමානයේ පවතින හස්ත  ක්‍රමයේ දුර්වලතාව, පරිගණක තාක්ෂනයෙන් දුරු කරන්නේ කොහොමද කියලා අපි කල්පනා කරනවා.
හිතපන් "පොල් ස්ටෝර්ස්" කියලා කාර්යාලයක් තියෙනවා හසත්මය දත්ත පරිපාලනය කරන ඒ කියන්නේ Manual Data Inputting තවත් පැහැදිලිව කිව්වොත් අතින් පොත් තබමින් කටයුතු කරනවා. ඉතින් මේ ක්‍රමේ හොදයි හැබැයි මේකේ දී යන කාලය ශ්‍රමය ඉතුරු කර ගන්න අපිට නවීන පරිගණක තාක්ශනේ භාවිතා කරන්න වෙනවා

මෙන්න මෙතනදී අපිට ප්‍රශ්නය හා විසදුම පැහැදිලියි, මොකද්ද ප්‍රශ්නය මොකද්ද විසදුම
ප්‍රශ්නය :MDI(Manual Data Inputting) වලදී සිදුවන කාලය ශ්‍රමය ඉතිරි කර ගැනීම හා තොරතුරු මනා ලෙස කළමනාකරණය කිරීම.

විසදුම : අවශ්‍යතාවයන්ට ගැලපෙන පරිදි POS එකක් සැදීම. ඒ කියන්නේ Point of Sales මෘදුකාංගයක් තැනීම.
ඉතින් මෙතනදී කාර්යාලේ බලධරයන්ගේ අවශයතාවවට  අනුව තමා අපි ඊලග අවස්ථාවට යන්නේ.

 System Analysis

මෙතන දී අපට ප්‍රශ්නය තුලට කිදා බහින්න වෙනවා, ඒ කියන්නේ වර්තමාන පද්ධතියේ භාවිතා කරන බිල්, අත් පොත් , ෆයිල් හා බලධරයන්ගෙන් තවත් මේ පිලිබදව විමසන්න වෙනවා.

ඇයි ඒ මචන් මෘදුකාංග නිපදවීම කියන්නේ ලැප දිග ඇරගෙන කට බලි කර ගෙන මොකාද එකා වගේ කෙටිල්ල විතරක් ම නෙමේ. ඒ කෙටිල්ල තියෙන්නේ ස්ටේජ් කිහිපයක් තුල විතරයි. අනෙක කෙටිල්ලත්
ආවට ගියාට කොටලා එන ගන්න තමා වෙන්නේ හරි හරි ,

ඉතින් මෙතනදී මන් කලින් කිව්වාලියකියවිලි පරික්ෂා කරමින් වර්තමාන පද්ධතිය විශ්ලේෂණය කරමින් ඉගෙන ගන්නවා. ඒ වගේ ම මෙතනදී පද්ධති සීමාව හදුනාගැනීමත් සිදුවෙනවා. ඒ කියන්නේ අපේ අලුත් මෘදුකාංගයේ තියෙන්න ඕනේ මොනවද නැත්තේ මොනවද කියන දේ පිලිබදව අවශ්‍යතා මගින්  පැහැදිලි අවබෝධයකට එලබෙනවා. හා ඒවා ලේඛන ගත කරනවා

මේ අවබෝධය ලබා ගන්න විශ්ලේෂණාත්මක ටූල්ස් භාවිතා කරනවා. ඒ වා තමා data dictionary,Logical Data Structure කියන දේවල්.

Program Design  

මෙන්න මෙතනදී තමා කොල්ලෝ අපි හදන මෘදුකාන්ගය අවශ්‍යතාවයන්ට අනුව හදන්නේ කොහොමද කියන එක නිර්මාණය කිරීම. මේ සදහා top-down,bottom-up,Structure Programming,Modular Programming,DFD,ER,Flochart භාවිතා කරන්නේ
අනිත් දේ මේක හදන්න භාවිතා කරන පරිගණක භාෂාව පිලිබදවත් තීරණය කරවා.

Coding

ඔන්න කෙටිල්ල මෙතනදී වෙන්නේ අපේ කලින් ස්ටේජ් එකේ නිමැවුම තෝරාගත් පරිගණක භාෂාවෙන් පරිගණකයට කීම.

Testing

මෙතනදී බලන්නේ මචන් අපේ අවශ්‍යතාවට අනුකූලව අපි Coding කරාද කියලා බලන එක. ඒ වගේම coding එකේ වැරදිත් අහු කරගෙන ඒවා නිවැරදි කරනවා .

Debugging

කුරුමිණි වධය, ඒ කියන්නේ Program & Run time Error හොයාගෙන අයින්කරලා නිවැරදි කරනවා.
අනිත් එක Documentation හදන්නෙත් මෙතනදී Documentation වර්ග කිහිපයක් තියෙනවා,

Programe  Documentation ,Operation Documentation ,User Documentation ,Management Documentation ,System  Documentation

Implementation

 ඔන්න හරි දැන් පාරිභෝගික අවශ්‍යතාවට අනුකූල මෘදුකාංගය සදා අවසන්. දැන් තියෙන්නේ පෙන්නන්න
හැබැයි එහෙම බෑ ගොයියෝ උබ දන්නවද මේක කස්ටෝමෙර්ට දුන්නා වගේ නෙමෙයි Modification කරන්නත් අප බැදිලා ඉන්නේ. ඒකත් ඔලුවට ගනින්.

ඉතින් Implementation වර්ග කිහිපයක් තියෙනවා,

Direct Implementation ,Phase Implementation ,Manual Implementation ,Pilot Implementation



 මේ SDLC කියන කතන්දරෙ ක්‍රම ක්‍රමයෙන් 1960 වන විට SDLC යම්තාක් දුරට වර්ධනය උනා ඒ ගණන් වලදී හිටපු මෘදුකාංග ඉජිනේරුවෝ තමන්ගේ විශේෂ අවශ්‍යතා වලට මෘදුකාංග නිපදවන්නත් ආරම්භ උනා. ඉතින් මේ සරල ක්‍රමවේදය උනේ Planning,Building,Testing හා Implementing කියන දේ විවිධ මෘදුකාංග නිපදවන සමාගම් මගින් මෙය භාවිතා කරා. ඔහොම යද්දී මචන් ඒ company මගින් මේ ක්‍රම වේදය වැඩි දියුණු කරමින් විවිධ සංස්කරණ  ඉදිරිපත් කරමින් Software Development Model කියන දේ හොයා ගත්තා. මේ ලියන මොහොත වන විටත් Model  18 පමණ හොයාගෙන තියෙනවා. මෙම MODEL ගැන මම පස්සේ කතාකරනං.

හරි හරි මන් හිතනවා උබලට SDLC ගැන වැටහීමක් දැන් ඇති කියලා

අපි බලමු මේකේ වාසි මොනවද කියලා

01.උසස් තත්වයෙන් හා නිවැරදිව මෘදුකාංග නිපදවීම
            යම් ක්‍රමවේදයක් අනුකූලව මෘදුකාංග නිපදවීමේ දී එහි නිරවද්‍යතාවය හා තත්වය බොහෝ ලෙස සුරකිනවා.  ඕනෑම කෙනෙක් ට මෘදුකාංග කොටන්න පුළුවන්, එත් මචන් අත්දැකීම් හා පෘථුල දැනුමක් නෑ.මේ ක්‍රම වේදය තුලින් තමාගේ ඉදිරිය පෙන්වා. ඒ තුලින් සාර්ථක නිපැයුමක් සිදුකරනවා.

02.පද්ධතිය ක්‍රියාවට නං වීම හා පරිපාලනය පහසු වීම.
                  100% වැරදි රහිත මෘදුකාංගයක් හදන්න බෑ මචන් බැරි වේලක්වත් ඉතින් කරුමෙටවත් එහෙම උනොත් අපි documentation  කරලා තියෙනවා පද්ධතියේ code ගැන අනං මනං කතන්දර පැහැදිලිව ඉතින්. අපිට පුළුවන් පහසුවෙන් පරිපාලනය කරන්න.

03.පහසුවෙන් customerට ග්‍රහණය වීම හා විසදුම් ලැබීම
       මේකත් කලින් එකට සම්බන්ධයි. Well Format documentation එකක් මගින් මේ සියල්ල කල හැකියි.

හම්මේ අදට හොදට ම ඇති. හෙට මම උබලට තවත් මොකක් හරි සිද්ධියක් අරන් එන්නන්.

OOP

අකුරු 3උනාට මේ  අකුරු තුන නිසා තමා අද ලෝකයේ ක්‍රමලේඛන කලාව හැසිරවීම පහසු වෙලා තියෙන්නේ. ඒ කියන්නේ ඉස්සර තිබ්බේ structure Programming කියන දේ. නමුත් අද බහුලව ම භාවිතා කරන්නේ මේ අකුරු තුනේ කතන්දරේ.

ඇත්තටම මොකද්ද බන් මේ OOP ? SIMULA තමා මුල්ම OOP language එක 1970 වේ දී පමණ තමයි මේක ආරම්භ වුනේ. ඉතින් මේ ලෝකයේ  බාහිරව පවතින වස්තු වල ස්වභාවය පරිගණක ක්‍රමලේඛන කරන ආකාරයක්  ලෙසට තමා මේක සරල ව හදුන්වන්න පුළුවන් !!

ඒ කිව්වේ? ඒ කියන්නේ මචන් උබ ගැන හිතපන් උබට නමක් තියෙනවා, විවිධ අනන්‍ය ලක්ෂණ තියෙනවා , හැසිරීම් තියෙනවා, උබ සමහර දේවල් හංගන් ඉන්නවා,උබේ ජාන තියෙනවා උරුම උන ,ඒ හැඩරුව උබේ ළමයට යනවා, උබේ වස්තුව ළමයට ලියලා දෙන්න වෙනවා. ඔන්න ඕක තාමා ඉතින් ඔය උඩ තියන අකුරු තුන :D

මොකක් , ඔව් බන් අපි ඕක පැහැදිලි කරමු මේ විදිහට,

උබට                           =       Object
නමක් තියෙනවා                   Identifier
ලක්ෂණ තියෙනවා                Attribute
හැසිරීම් තියෙනවා                 Behavior

හරිද උබට මන් දැන් කියන්නේ OBJECT එකක් කියලා

උබේ මොඩල් එක තුල නහයක්,කටක්,ඇසක් වගේ දේවල් තියෙනවා , ඒ ලෙසටම උබේ අච්චුව තමා උබට හම්බෙන ළමයා :O ඉතින් මන් මේකට කියනවා Abstraction කියලා

මන් කිව්වනේ උබ එක එක දේවල් හංගන ඉදලා අමුතු අමුතු විදිහට එලියට දෙනවා කියලා එකට කියමු අපි Encapsulation කියලා

උබේ පිය උරුමය උබට ඊට පස්සේ උබේ ළමයට යනවා මෙන්න මේකටමම කියනවා Inheritance කියලා.

ඊලග එක නං ලෙසටමයි. උබේ ළමයාගේයි ,අක්කගේ ලමගෙයි, නංගිගේ ලමයගෙයි ජාන බැලුවොත් යම් සමානකමක් තියෙනවා, ඒ කියන්නේ පලවෙනි මොඩෙල් එකේ අච්චු ටික වෙනස් වෙලා වෙනස් ම රූප බවට පත්වෙනවා. උබේ ලමයි අක්කගේ ලමයි හා සමාන නැද්ද සමානයි, එත් උබේ ලෙයින් බිහි නොවුනට උබේ පරපුරටයි අයිති .එකට කියමු Polymorphism කියලා.


අදට එහෙනන් ඉවරයි. අද අකුරු තුන ඉගන ගන්න ඇතිනේ.