
මේක කිසිසේත්ම ඔයාල මෙච්චරකල් කල නෝට් බලලා හෝ වීඩියෝ බලලා දෙයක් ඉගෙන ගන්න එකට සම්පුර්නෙන් වෙනස් වෙයි. තනිකර ප්රැක්ටිකල් එක්ක යන වැඩක් කරන්න යන්නේ. මම දැඩිව විෂවෂ කරන දෙයක් පළපුරුද්ද කියන එක අනික් හැම දේටම වඩා උඩින් තියෙන්නේ කියන එක. මේ ෆලෝ එකත් එක්ක යන අයට තමා මේක වැදගත් වෙන්නේ. කම්මැලි කමට ඉන්න එපා. වැඩේ එක්කම ඉන්න කියල මුලින්ම හැමෝගෙන්ම ඉල්ලනවා
මේකෙදි ඔයාලගේ උනන්දුව කැපවීම තමා ඕනේ. මහන්සි වෙලා වැඩ කරන්න ඕනේ නැ . එකට තමා ස්මාර්ට් වීම කියන දේ තියෙන්නේ. මුල ඉදලා අගටම කියවලා බලලා වැඩේ පටන් ගන්න ඕනේ. මේක කරන්නේ සොෆ්ට්වෙයා ගැන මොනම හෝ දැනුමක් නැති එකෙක්ටත් හරියන විදිහට. ඒ නිසා තමන්ට අදාළ තැනින් පනින්න ඕනේ. ඒ වගේම කලිනුත් කිව්වා වගේ උබලට තියන අදහස් චෝදනා වැරදි තව එකතු වෙන්න ඕනේ දේවල් සේරම මේකේ දාපල්ලා. ඒ ඔක්කොම ආවාම මේක PDF එකකින් මෙතනම දානවා.
මේක ඉතාමත් කෙටියෙන් කියන්නේ. අතිශයින්ම ඕනේ ටික විතරයි. මොකද අපිට හුගක් දුර යන්න තියනවා. ඉතින් පොඩි දෙයක් හරි තේරුනේ නැත්නම් හෝ ප්රශ්න තියේ නම් අහන්න. පුළුවන් හැම කෙනෙක්ම උත්තර දෙන්න.
කෙලින්ම වැඩේට බහිමු
===================
සොෆ්ට්වෙයා එකක් හදන්නේ යම් බිස්නස් එකක තියන අතින් කරන්න ඕනේ වැඩ ටික (manual works) අඩු කරගන්න හෝ නැත්තටම නැති කරගන්න. උදාහරණ විදිහට කඩේක බඩු වල විකුණුන දේවල් අතින් කොලේක ලියනවට වඩා එක පරිගණකට ඇතුලත් කලාම අපිට ලේසියෙන් දවසේ sale එකේ වටිනාකම බලාගන්න පුළුවන්. ඒ වගේම තමන්ට ඒවගෙන් තියන profit එහෙම ලේසියෙන් බලාගන්න පුළුවන්. මේක පොතක කරලා බලනවා නම් සැහෙන වෙලාවක් පිටු පෙරලා පෙරලා ගණන් හදන්න වෙනවා.
සොෆ්ට්වෙයා සහ බිස්නස් මොඩල් එක
===============================
අපි උඩින් කිව්වා වගේ සොෆ්ට්වෙයා එකක් වැදගත් වෙන්නේ බිස්නස් එකකට. එක උබලගේ ගෙදර දෙයක් හරි වෙන්න පුළුවන්. බිස්නස් මොඩල් එක කියන්නේ කම්පැනි එකක් ලාබ හොයන්න හෝ වැඩක් ලේසි කරන්න යොදාගන්න ක්රම වේදය. මේකට අපේ බිස්නස් සෙට් එක හොද නිර්වචනයක් දීලා එහෙම ගන්න අනික් අයට දැනගන්න.. ඉතින් අපි කරන්නේ දැනට අමාරුවෙන් බර කරත්තෙන් අදින මේ බිස්නස් මොඩල් එකට පරිගණක වලින් විසදුමක් දෙනවා. එක දෙන්නේ සොෆ්ට්වෙයා එකක් විදිහට. අපිට සොෆ්ට්වෙයා එකක් හදන්න දුන්නම මේ බිස්නස් මොඩල් එක හරියටම නුලටම හොයාගන්න එක තමා හොදම සොෆ්ට්වෙයා එකක හොදටම කරන්න ඕනේ. මේක දැනගැනීමේ ප්රතිශතය මත සොෆ්ට්වෙයා එක කොච්චර perfect ද කියන එක රදා පවතිනවා
හරි දැන් ඔය මගුල හදන්නේ කොමද?
==============================
උඩින් කිව්ව බිස්නස් එකට සොෆ්ට්වෙයා එකක් හදනකොට ටොයිලට් එකට ගිහින් බොක දානව වගේ එක පාර කරන බැ . එකට ස්ටෙප්ස් ගොඩක් තියනවා. මේ ස්ටෙප්ස් ටික හරිම වැදගත්. ලෝකේ එක එක තැන් වල මේවා එක එක විදිහට වෙනවා. සමහර තැන් වල සම්පුර්ණයෙන් වෙනස් ක්රමයක් තමන්ටම හදාගන්නවා මේකට. ඉතින් අපි බලමු සාමන්යෙන් කරන්න ඕනේ දේ. ඉස්සරහට යනකොට අපේ වැඩේ හොදට දන්නා අය මේකට විවිද දේවල් එකතු කරයි කියල මම හිතනවා.
සොෆ්ට්වෙයා එකක් හදන පියවරවල්
------------------------------------------------
මේ පල්ලෙහායින් තියන ටික තම බිස්නස් එකක් සොෆ්ට්වෙයා එකකට හරවනකොට කරන්න තියන වැඩ ටික.
1. Planning
2. Analysis
3. Design
4. Development
5. Test
6. Acceptance
7. Maintenance
දැන් මේකේ තියන 7 ම උබලට කියන්න ගියොත් අපිට ගෙවල් වලට ඇවිල්ලා ගහලා යයි. ඒ නිසා අපි මේ පියවරවල් වල ලොකු විස්තරයක් ඒ පියවරේදී බලමු. දැනට මේකෙන් කියන්නේ මොකක්ද කියල බලල වැඩේට බහිමු. මොකද මේක තියරි අඩුවෙන ප්රැක්ටිකල් වැඩියෙන් කරන එකක් නිසා. ඒ උනාට වැඩේ දන්නෙම නැති උන් මේවා ගැන වැඩිදුර හොයල බලන එක වටිනවා.
මේ ලෝකේ ඕනෙම වැඩක් කරන්න කලින් පොඩි ප්ලැන් එකක් ගහගන්න එක මිනිසුන්ගේ පුරුද්දක් නේ. උබලා බොන්න ගියත් සෙට් එකාගෙන් අහනව නේ මොනවද ගහන්නේ? කොහෙද බොන්නේ අපි?එකා කීය ගානේ දානවද? නිකන් බොන්න එන හිරලුවෝ හලන්නේ කොහොමද? වගේ දේවල්. අන්න එකට තමා Planning කියන්නේ. සොෆ්ට්වෙයා එකක් හදන්න කලින් මුලිනම් ආපි ඒ වැඩේ වෙන්නේ කොහොමද කියල plan කරන්න ඕනේ. නැත්නම් වැඩේ හබක්. මේකෙදි අපි කස්ටමර් එක්ක කතා කරගනන්ව මොනවද ඕනේ කියල සහ අපි දෙන්නේ මෙන්න මේ ටික තමා කියල. නැත්නම් ඌ අපි හදන එකෙන් රෙදි ටික හෝදන්නත් හදලා දෙන්න කියයි. ඒ නිසා අපි boundary එකක් හදාගන්නවා මෙන්න මේක ඇතුලේ තියන දේවල් විතරයි දෙන්නේ කියල. ඊට පිට පනින්න ඕනේ නම් අව්ලක් නැ වැඩිපුර අරගෙන කරන්න වෙනව. එතැනදී අලුත් boundary එකක් හැදෙනවා. එක තමා Final boundary එක නැත්නම් System boundary එක කියන්නේ. එතනින් එහා හෙන ගැහුවත් හදන්නේ නැ
Analysis කරනවා කියන්නේ අපි අර උඩින් කිව්ව බිස්නස් එක ගැන වැඩි දුර හොයා බලනවා. මොකක්ද එකන් වෙන්නේ වගේ බිස්නස් මොඩල් එක ගැන ඉතා හොද දැනුමක් ගණන්ව මේකෙදි.
Design කරන එකෙන් කරන්නේ අර Analysis කරලා ගත්ත තොරතුරු එක්ක මේ හදන සොෆ්ට්වෙයා එක කොහොමද තියෙන්න ඕනේ කියල සලකල බලන එක. මේකෙදි Data save කරන විදිහ , බිස්නස් මොඩල් එකේ ප්රොසෙස් එක හරියටම හදාගන්න එක., හදන සොෆ්ට්වෙයා එකේ User Interfaces ගැන බලන එක වගේ වැඩ ගොඩක් තියනවා කරන්න. මේක සහ Analysis එක අපි සැහෙන්න ඇතරලා දාන පියවරල් දෙකක්. නමුත් සොස්ෆ්ට්වෙයා එකක් හදද්දී තියන ඉතාමත් වැදගත් පියවරවල් දෙක මේක. මේ දෙක වැරදුනොත් හදන එක රුවිතෙට යනවා
Development කියනේ පුතාල අර උඩින් කිව්ව ස්ටෙප් දෙකේදී අපි ඩිසයින් කරගත්ත විදිහට සොෆ්ට්වෙයා එකක් හදන එක. මේක කරන්න දේවල් ගොඩක් ඕනේ වෙනවා. එකෙන් මුලික දේ Programing Language එකක් එකෙන් තමා ඉඩ දී අපි සැලසුම් කල පියවරවල් වලට වැඩේ වෙන්න හදන්නේ. මේක එක්ක තව ටුල් ගොඩක් එකතු වෙලා තම මේ වැඩේ වෙන්නේ. අපි ඒවා මේ ගැන වැඩිදුර කතා කරන නුලේදී බලමු. වැදගත් දෙයක් තමා Programing Language ඉගෙන ගන්න අය මතක තියාගන්න්න ඕනේ තමන් කරන දේට උඩින් තව පියවරවල් 3 ක් තියනවා කියන එක. ඒ උද පියවරවල් තුන නැතුව හොද වැඩ කාරයෙක් වෙන්න හරිම අමාරුයි.
Test කරද්දී තමා අහුවෙන්නේ අපි හදපු එකේ ගහලා තියන බුල් ටික. මේකෙන් කරන්නේ පුතාල අර Design පියවරේදී අපි මවාගත්ත කෙල්ලද මේ හදලා තියෙන්නේ කියන එක. මේකෙදි ටෙස්ට් වර්ග ගොඩක් තියනවා. unit test , integration test , regression test වගේ ටෙස්ට් වර්ග ගොඩක්. මේකට ඉන්නවා වෙනම ඕපාදුප කාපර්ලා . උන්ට වචනේ වැරදුනත් පෙන්න ඕනේ. මේ අය තමා සොෆ්ට්වෙයා එක ඔකේ කියල ෆයිනල් කමාන්ඩ් එක දෙන්නේ. මෙතනින් පස්සේ සොෆ්ට්වෙයා එක සම්පුර්ණයෙන් වගේ හදලා ඉවරයි කියන්න පුළුවන්. මේක වෙන විදිහත් වෙනම ත්රෙඩ් එකකින් අපි බලනවා
දැන් මේ හදලා ටෙස්ට් කලාට වැඩක් නැ ඕක උන්ට ඕනෙම විදිහට තියනවා කියල අපිට මේක හදන්න දුන්න සෙට් එක Confirm කරන්න ඕනේ. අන්න එකට අපි කියන්නේ Acceptance නැත්නම් User Acceptance Testing කියල. මේක කරන්නේ කස්ටමර් ගේ පැත්තේ සෙට් එකක්. උන්ට අපි හදපු සොෆ්ට්වෙයා එකේ ට්රයල් එකක් දෙනවා. උන් එක උන්ගේ සෙට් එක එක්ක හොදට ටෙස්ට් කරනවා , උන්ගේ ඇත්ත ඩේටා දාල බලනවා. දාල ෆයිනල් රිපෝට් එකක් දෙනවා. එකේදී වෙනස්කම් කරන්න ඕනේ නම් මුලින් බලනවා අර උඩ එකග උන boundary එක ඇතුලේ වෙනස් කමක් ද ඉල්ලන්නේ කියල. එහෙම නම් කරලා දෙනවා. නැත්නම් ගානක් අරන් තමා කරලා දෙන්නේ
අන්තිමට ඉතින් හදාගත්ත දරුවා බලාගන්න තමා තියෙන්නේ. අසනීප අවාම බෙහෙත් දෙන්න ඕනේ. ඉස්පිරිතාලේ ගෙනියන්න ඕනේ අන්න ඒවා තමා Maintenance කියන්නේ. මේකට වෙනම ටීම් එකක් ඉන්නවා. ඒ වගේම සාමන්යෙන් customer service line එකක් හදනවා අපි. එකේදී customer calls , complains . subjections වගේ ඒවා ලොග් කරගනන්ව. මේ line එකේම කැල්ලක් තමා customer support team එක . ඒ අය තමා කස්ටමර් ලා දෙන හැම දේම බාරගන්නේ. එතනින් හදලා දෙන්න පුළුවන් දේවල හදලා දෙනවා. බැරි දේවල් ඩිවලොප්මන්ට් ටීම් එක පැත්තට දානවා. මේකට අපි වෙනම සර්විස් චාජ් එකක් අනිවාර්යෙන් අය කරනවා. සොෆ්ට්වෙයා ගෙඩි පිටින් හදලා දෙනවා කියන්නේ බොරු කතා. මොකද හදපු උන්ට වඩා අලුතෙන් එකට අත ගහන එකෙක් ඒ ගැන දන්නේ නැනේ.