මෘදුකාංග සංවර්ධන ජීවන චක්රය (SDLC) යනු කුමක්ද?
පළමු මොඩියුලයේදී, අපි මෘදුකාංග ඉංජිනේරු ශිල්පය යනු විධිමත් හා විනයානුකූල ක්රියාවලියක් බව ඉගෙන ගත්තෙමු. ඉතින්, එම ක්රියාවලියට අදාළ රාමුව හෝ "මාර්ග සිතියම" (roadmap) තමයි මෘදුකාංග සංවර්ධන ජීවන චක්රය (Software Development Life Cycle - SDLC) ලෙස හඳුන්වන්නේ. සරලවම කිවහොත්, අදහසක් ලෙස පවතින මෘදුකාංගයක්, අවසානයේදී පරිශීලකයා අතට පත්වන නිමි භාණ්ඩයක් බවට පත් කිරීමේදී අනුගමනය කරන පියවර මාලාව SDLC එකකින් විස්තර කෙරේ.
නිවසක් තැනීමේදී, අත්තිවාරම දැමීම, බිත්ති නැංවීම, වහලය ගැසීම වැනි නිශ්චිත අදියරයන් අනුගමනය කරනවා සේම, මෘදුකාංගයක් නිර්මාණයේදීද එවැනි ක්රමානුකූල අදියර මාලාවක් අනුගමනය කිරීම අත්යවශ්ය වේ. SDLC ආකෘතියක් මගින් ව්යාපෘතියේ සංකීර්ණත්වය කළමනාකරණය කිරීමට, ගුණාත්මකභාවය තහවුරු කිරීමට, සහ නියමිත කාලයට හා අයවැයට අනුව ව්යාපෘතිය නිම කිරීමට අවශ්ය ව්යුහය සපයයි.
SDLC හි පොදු අදියරයන්
භාවිතා කරන ආකෘතිය කුමක් වුවත්, සෑම SDLC එකකම පාහේ පහත සඳහන් මූලික අදියරයන් අන්තර්ගත වේ.
- අවශ්යතා විශ්ලේෂණය (Requirement Analysis): පාරිභෝගිකයාට හෝ වෙළඳපොළට අවශ්ය කුමක්ද? මෘදුකාංගයෙන් ඉටු විය යුතු කාර්යයන් මොනවාද? යන්න මෙහිදී හඳුනා ගනී.
- සැලසුම් කිරීම (Design): මෘදුකාංගයේ වාස්තු විද්යාත්මක සැලැස්ම (architecture), දත්ත සමුදා ව්යුහය (database design), සහ පරිශීලක අතුරුමුහුණත (UI/UX) නිර්මාණය කිරීම මෙහිදී සිදුවේ.
- ක්රමලේඛනය (Implementation/Coding): සැලසුම් කරන ලද පද්ධතිය, පරිගණක භාෂාවක් භාවිතයෙන් කේත බවට පරිවර්තනය කිරීමේ අදියරයි.
- පරීක්ෂා කිරීම (Testing): නිර්මාණය කළ මෘදුකාංගයේ දෝෂ (bugs) තිබේදැයි සහ එය බලාපොරොත්තු වන පරිදි ක්රියා කරන්නේදැයි පරීක්ෂා කෙරේ.
- ස්ථාපිත කිරීම (Deployment): පරීක්ෂා කර අවසන් වූ මෘදුකාංගය, පරිශීලකයන්ට භාවිතා කළ හැකි පරිසරයක (server) ස්ථාපිත කිරීම මෙහිදී සිදුවේ.
- නඩත්තු කිරීම (Maintenance): මෘදුකාංගය ක්රියාත්මක වීමෙන් පසුව ඇතිවන ගැටළු නිරාකරණය කිරීම, නවීකරණය කිරීම සහ වැඩිදියුණු කිරීම මෙම අදියරට අයත් වේ.
ප්රධාන SDLC ආකෘති (Models)
ඉහත සඳහන් අදියරයන් ක්රියාත්මක කරන ආකාරය අනුව විවිධ SDLC ආකෘති නිර්මාණය වී ඇත. අපි ඒවායින් කිහිපයක් සලකා බලමු.
1. දිය ඇලි ආකෘතිය (Waterfall Model)
මෙය පැරණිතම සහ සරලම SDLC ආකෘතියයි. මෙහිදී, එක් අදියරක් සම්පූර්ණයෙන්ම අවසන් වූ පසුව පමණක් ඊළඟ අදියර ආරම්භ වේ. දිය ඇල්ලක් පහළට ගලා යන්නා සේ, මෙම ක්රියාවලිය ආපස්සට හැරවිය නොහැක.
- වාසි: තේරුම් ගැනීමට සහ කළමනාකරණයට පහසුයි. අවශ්යතා වෙනස් නොවන කුඩා ව්යාපෘති සඳහා සුදුසුයි.
- අවාසි: ඉතා දැඩි සහ නම්යශීලී නොවේ. මුල් අදියරකදී සිදුවූ වැරැද්දක් පසුව නිවැරදි කිරීම ඉතා අපහසු සහ වියදම් අධිකය.
2. ක්ෂණික ආකෘතිය (Agile Model)
වර්තමානයේ වඩාත්ම ජනප්රිය ආකෘතිය මෙයයි. මෙහිදී, සම්පූර්ණ ව්යාපෘතියම එකවර නිර්මාණය කරනවා වෙනුවට, එය "ස්ප්රින්ට්" (Sprints) නමින් හඳුන්වන කුඩා, සති 1-4 ක කාල චක්රවලට කඩනු ලැබේ. සෑම ස්ප්රින්ට් එකක් අවසානයේදීම, ක්රියාත්මක වන මෘදුකාංග කොටසක් පාරිභෝගිකයාට ලබා දේ. පාරිභෝගික ප්රතිචාර මත පදනම්ව, ඊළඟ පියවර තීරණය කරයි.
- වාසි: ඉතා නම්යශීලී වේ. වෙනස්වන අවශ්යතා සඳහා පහසුවෙන් හැඩගැසිය හැක. පාරිභෝගිකයා සමග නිරන්තර සබඳතාවක් පවතින නිසා, අවසන් නිෂ්පාදනය පිළිබඳව ඉහළ තෘප්තියක් ඇතිවේ.
- අවාසි: අවසාන නිෂ්පාදනය පිළිබඳව හෝ සම්පූර්ණ කාලය හා පිරිවැය පිළිබඳව මුලදීම පැහැදිලි චිත්රයක් ලබා ගැනීම අපහසුය.
3. V-ආකෘතිය (V-Model)
මෙය දිය ඇලි ආකෘතියේම වැඩිදියුණු කළ ආකාරයකි. මෙහි ඇති විශේෂත්වය නම්, සංවර්ධන ක්රියාවලියේ සෑම අදියරකටම සමාන්තරව, ඊට අදාළ පරීක්ෂණ අදියරක්ද (Testing Phase) සැලසුම් කිරීමයි. එම නිසා මෙය "සත්යාපනය සහ වලංගුකරණ ආකෘතිය" (Verification and Validation Model) ලෙසද හැඳින්වේ.
- වාසි: ආරම්භයේ සිටම පරීක්ෂා කිරීම පිළිබඳව අවධානය යොමු කරන නිසා, මෘදුකාංගයේ ගුණාත්මකභාවය ඉහළය. දෝෂ ඉක්මනින් හඳුනාගත හැක.
- අවාසි: දිය ඇලි ආකෘතිය මෙන්ම, මෙයද නම්යශීලී නොවේ.
4. සර්පිල ආකෘතිය (Spiral Model)
මෙය අවදානම් කළමනාකරණය (Risk Management) සඳහා විශේෂ අවධානයක් යොමු කරන ආකෘතියකි. ව්යාපෘතිය සර්පිලාකාර චක්ර කිහිපයක් ඔස්සේ වර්ධනය වේ. සෑම චක්රයකදීම අවදානම් හඳුනාගැනීම, මූලාකෘතියක් (Prototype) තැනීම, සහ පාරිභෝගික අදහස් ලබාගැනීම සිදුවේ. මෙය විශාල, සංකීර්ණ සහ අවදානම් සහිත ව්යාපෘති සඳහා ඉතා සුදුසුය.
- වාසි: අවදානම් කළමනාකරණයට ඉතා හොඳයි. පාරිභෝගිකයන්ට ක්රියාවලියේ මුල් අවධියේදීම නිෂ්පාදනය දැකබලා ගැනීමට අවස්ථාව ලැබේ.
- අවාසි: කළමනාකරණයට සංකීර්ණයි. කුඩා ව්යාපෘති සඳහා නොගැලපේ.
නිවැරදි ආකෘතිය තෝරාගැනීම
සෑම ව්යාපෘතියකටම ගැලපෙන එකම SDLC ආකෘතියක් නොමැත. නිවැරදි ආකෘතිය තෝරාගැනීම, ව්යාපෘතියේ ස්වභාවය, විශාලත්වය, පාරිභෝගික අවශ්යතාවල ස්ථාවරත්වය, සහ පවතින අවදානම් වැනි කරුණු මත රඳා පවතී. සාර්ථක මෘදුකාංග ඉංජිනේරුවෙකුට මෙම සියලු ආකෘති පිළිබඳව මනා අවබෝධයක් තිබිය යුතුය.
මෙම මොඩියුලය අවසානයේ, SDLC ආකෘති යනු මෘදුකාංග ව්යාපෘතියක් සාර්ථක කරගැනීම සඳහා ඇති අතිශය වැදගත් මෙවලමක් බව ඔබට වැටහෙනු ඇත. අපගේ මීළඟ මොඩියුලයේදී, ඕනෑම SDLC ආකෘතියක පළමු සහ වැදගත්ම පියවර වන "අවශ්යතා විශ්ලේෂණය" (Requirements Analysis) පිළිබඳව අපි ගැඹුරින් සාකච්ඡා කරමු.