වර්තමානයේ ලොව පුරා බොහෝ දියුණු සහ දියුණු වෙමින් පවතින රටවල් තම ආර්ථික සංවර්ධනය සිදුකරගැනීමට යොදාගන්නා ප්රධාන භාවිතයක් වන්නේ මෘදුකාංග වේ.
කුඩා නිවසක,කුඩා කඩයක සිට කර්මාන්තශාලා,ගුවන්තොටුපොළ වැනි විශාල ස්ථාන දක්වා සියලුම වැඩ කටයුතු සිදුවන්නේ මෘදුකාංග හරහාය. එම නිසා එවැනි විශාල කාර්යයක් සිදුකරන මෘදුකාංග ඉතා නිරවද්යව, කාර්යක්ෂමව සැකසිය යුතුය.මෙවැනි පද්ධතියක් හෝ මෘදුකාංගයක් නිපදවීමේ ක්රියාවලිය තුල සිදුවන නිර්මාණකරණය,වැඩි දියුණු කිරීම,පරීක්ෂා කිරීම සහ භාවිතයේ යෙදීම යන විවිධ අවස්ථාව නම් විවිධ අවස්ථා වල එකතුවක්මෙ ම මෘදුකාංග සංවර්ධන ජීවන චක්රය සැලකිය හැකිය. මෙම ක්රියාවලිය හරහා ඉතා සාර්ථක වඩාත් ප්රයෝජනවත් මෘදුකාංගයක් නිපදවීමේ හැකියාව ලැබේ. මෘදුකාංගය භාවිතා කරන්නන්ගේ අවශ්යතාවයන් සපුරාලන, ඔවුන්ගේ මුදලට ගැළපෙන, ඔවුන්ට නියමිත කාලයේදී ලැබෙන ලෙස මෘදුකාංගය නිර්මාණය කල යුතුය.
එසේ නොමැති වුවහොත් එම මෘදුකාංගය ඵල රහිත එකක් වනු ඇත. පද්ධති සංවර්ධන ක්රියාවලියට ජාත්යන්තරව ISO/IEC 12207 යන සහතිකයද හිමි වී ඇත්තේ එහි ගුණාත්මක භාවය වැඩි කිරීම සඳහාය.

පද්ධති/මෘදුකාංග සංවර්ධන ක්රියාවලියේ පියවර -
1: සැලසුම් කිරීම සහ අවශ්යතාවයන් විශ්ලේෂණය කිරීම (Planning and Requirement Analysis)
2:අවශ්යතාවයන් පිළියෙළ කිරීම (Defining Requirements)
3: නිෂ්පාදිත ආකෘතිය සැලසුම් කිරීම (Designing the product architecture)
4: ව්යාපෘතිය/නිෂ්පාදිතය ගොඩනැගීම (Building or Developing the Product)
5: නිෂ්පාදිතය පරීක්ෂා කිරීම (Testing the Product)
6: නිෂ්පාදිතය වෙළඳපොළට නිකුත් කිරීම සහ නඩත්තු කිරීම (Deployment in the Market and Maintenance)
1: සැලසුම් කිරීම සහ අවශ්යතාවයන් විශ්ලේෂණය කිරීම - මුල්ම පියවර වන්නේ මෙයයි. කිසියම් මෘදුකාංගයක අවශ්යතාවය ඇති පුද්ගලයා හඳුන්වන්නේ client/customer ලෙසය. ඔහු විසින් තමන්ට අවශ්ය මෘදුකාංගය පිළිබඳව මෘදුකාංග සංවර්ධන ආයතනයක් හමුවී පැහැදිලි කල යුතුය.
උදාහරණයක් ලෙස හෝටල් හිමිකරුවෙකු තම හෝටලයට අන්තර්ජාලය හරහා කාමර වෙන්කරගැනීමේ පහසුකම ඇතුලත් වන ලෙස පද්ධතියක් නිර්මාණය කිරීමට බලාපොරොත්තු වේ. එසේනම් ඔහු එම අවශ්යතා ගැන පද්ධති නිර්මාණ සමාගමක් හා සාකච්ඡා කල යුතුය. එවිට අදාළ සංවර්ධන කණ්ඩායම ඔහුගේ අවශ්යතා තේරුම්ගෙන ඒ අනුව වැඩ කටයුතු ආරම්භ කිරීමට පියවර ගනී. මෙහිදී අදාළ client සමඟ කරන සාකච්ඡා වලට අමතරව පද්ධතිය හෝ මෘදුකාංගය භාවිතා කරන අනිත් පිරිස සමඟද සාකච්ඡා කිරීමට පද්ධති සංවර්ධන කණ්ඩායම පියවර ගතැහැ යුතුය.
ඒ මක්නිසාද යත්, බොහෝවිට පද්ධතිය ගැන client පුද්ගලිකව දරන මතය සහ අවශ්යතාවයන්ට අමතරව දැනට ඇති පද්ධතිය හෝ ක්රමවේදය සමඟ බද්ධ වී වැඩ කරන අනිත් පුද්ගලයින්ගේ මතය සහ අවශ්යතාවයන් වෙනස් විය හැකිය. එවිට පද්ධතිය වඩාත් කාර්යක්ෂමව මෙන්ම ක්රමානුකූලව සැකසීමේ හැකියාව අදාළ මෘදුකාංග සංවර්ධන කණ්ඩායමට ලැබේ. එම නිසා අදාළ පද්ධතිය නිර්මාණය කිරීමට/ස්ථාපනය කිරීමට යන ආයතනයේ තත්වය විශ්ලේෂණය කර දත්ත එක්රැස් කිරීමට භාවිතා වන ක්රමවේද කිහිපයක් තිබේ.
දත්ත විශ්ලේෂණය කරන ක්රමවේද -

* නිරීක්ෂණ (observation) - අදාළ පද්ධතිය පිහිටුවීමට යන ස්ථානයට ගොස් එහි කාර්යයන් සිදුවන ආකාරය නිරීක්ෂණය කර කරුණු රැස්කිරීම.
* සම්මුඛ සාකච්ඡා (Interview)- අදාළ පද්ධතිය සමඟ වැඩ කරන්නන් මුහුණට මුහුණ හමුවීම ඔවුන්ගෙන් අවශ්යතාවයන් සහ යෝජනා අදහස් ආදිය ලබාගැනීම.
* ප්රශ්නාවලි (Questionnaire)- විශාල සේවක පිරිසක් සිටින ආයතනයක නම් සෑම දෙනා සමඟම මුහුණට මුහුණ සාකච්ඡා පැවැත්විය නොහැක. එවිට සැමටම පොදු ප්රශ්නාවලියක් සකස් කර, ඔව් නැත සටහන් කිරීමට,හරි වැරදි යෙදීමට හෝ වඩාත් නිවැරදි පිළිතුරට ඉරි ගැසීමට ආදී වන ලෙස සුළු කාලයක ප්රශ්න පත්රයක් ලබාදිය හැක.
* වාර්තා හෝ ලිපි ගොනු නිරීක්ෂණය (Document Sample Collection)- ආයතනයේ පෙර සහ දැන් වාර්තා පරීක්ෂා කිරීම මෙහිදී සිදුවේ. අදාළ ආයතනයේ ගිණුම් වාර්තා, වාර්ෂික වාර්තා, සක්යතා වාර්තා ආදිය මෙසේ නිරීක්ෂණය කල හැකිය.
* මූලාදර්ශ (Prototype)- නිර්මාණය කිරීමට යන පද්ධතියේ අනුරුවක් සකස් කර එය අදාළ භාවිතා කරන්නන්ට පෙන්වා පද්ධතියේ හෝ මෘදුකාංගයේ ක්රියාකාරීත්වය පිළිබඳව පැහැදිලි කරදීම.
2: අවශ්යතාවයන් පිළියෙළ කිරීම -
අවශ්යතාවයන් පිළිබඳව මනාව සිදුකරන ලද විශ්ලේෂණයකට පසුව එම අවශ්යතා සපුරාලන ආකාරයේ මෘදුකාංගයක්/පද්ධතියක් නිර්මාණය කිරීමට අදාළ සංවර්ධන කණ්ඩායම කටයුතු සම්පාදනය කල යුතුය.
එම නිසා කණ්ඩායම විසින් තම පාරිභෝගිකයාගේ (client) දැනගැනීමට සියලු කරුණු ඉදිරිපත් කර ඔහුගේ අනුමැතිය ගත යුතුය.
3. නිෂ්පාදිත ආකෘතිය සැලසුම් කිරීම-
දෙවන පියවරින් පසුව සකස් කිරීමට යන නිෂ්පාදිතයට අදාළ නිර්මානකරණ සැලසුමක් සකස්කිරීම සිදුවේ. නිර්මාණය කිරීමට යන පද්ධති ව්යාපෘතියට ගතවන කාලය,මුදල සහ එහි අඩංගු දෑ පිළිබඳව වාර්තා සකස් කර
ඒ අනුව ඉදිරි වැඩ කටයතු තීරණ කිරීම මෙම පියවරේදී සිදුවේ.
4. ව්යාපෘතිය/නිෂ්පාදිතය ගොඩනැගීම -
මෘදුකාංග සංවර්ධන ක්රියාවලියේ ඇති ප්රධානම සහ අනිවාර්යෙන්ම සිදුවන පියවර මෙය වේ. මක් නිසාද යත් මෘදුකාංගයක් නම් එහි ක්රියාකාරී තත්වය ලබාගැනීමට එය නිර්මාණය කිරීම සහ කේතනය (coding) කිරීම අත්යාවශ්ය වේ.
සිව්වැනි පියවරේදී සිදුවන්නේ මෙයයි. හඳුනාගත් අවශ්යතා අනුව නිර්මාණය කිරීමට යන පද්ධතිය හෝ මෘදුකාංගය ගැලපෙන ක්රමලේඛන භාෂාවක් යොදාගෙන සිදුකිරීම අවශ්යය. තවද අවශ්ය නම් පද්ධති සංවර්ධන කණ්ඩායමට මානව සහ දෘඩාංග සම්පත් ලබාගැනීමටද සිදුවේ.
5. නිෂ්පාදිතය පරීක්ෂා කිරීම -
නිර්මාණය කරගෙන යනු ලබන මෘදුකාංගය බාරදීමට පෙර අනිවාර්යෙන්ම කල යුතු අංගය වන්නේ මෙයයි. මෘදුකාංගය හෝ පද්ධතිය අඩුපාඩු නොමැතිව නිසිආකාරයෙන් ක්රියාත්මක වන්නේද යනවග පරීක්ෂා කිරීම වන්නේ මෙහිදීය. විවිධ පුද්ගලයින්,විවිධ අවස්ථා වලදී මෙම පරීක්ෂා කිරීම සිදුකරයි. විසඳුම් පරීක්ෂා කරන ආකාර කිහිපයක් පහත දැක්වේ.
* ඒකක පරීක්ෂාව (Unit testing) - නිර්මාණය කරන පද්ධතිය/මෘදුකාංගය, කොටස්/ඒකක ලෙස පරීක්ෂා කිරීම මෙහිදී සිදුවේ. මෙම පරීක්ෂාව සිදුකරනු ලබන්නේ programmer(වැඩසටහන්කරුවා) විසිනි.
* සමස්ත පරීක්ෂාව (Integration testing) - ඒකක වශයෙන් සිදුකල කොටස් සියල්ල එකට ගෙන බද්ධ කර පරීක්ෂා කිරීම මෙහිදී සිදුවේ. මෙය සම්පූර්ණ වැඩසටහන්කරණ කණ්ඩායම විසින් සිදුකරනු ලබයි.
* අතුරුමුහුණත් පරීක්ෂාව (Interface testing) - පද්ධතියේ නිරූපිතය,දෘශ්ය ආකාරය පරීක්ෂා කිරීම මෙය වේ. මෙය සිදුකරනු ලබන්නේද වැඩසටහන් කරුවන් විසිනි.
* පද්ධති පරීක්ෂාව(System testing) - සම්පූර්ණ පද්ධතියම එක වර පරීක්ෂා කිරීම මෙහිදී සිදුකෙරේ. මේ සඳහා පද්ධති පරීක්ෂක කණ්ඩායමක් සිටින අතර ඔවුන් විසින් අවශ්යතාවයන් නිවැරදිව සිදුවේද යන්න සොයා බලා කටයුතු කරයි.
* ප්රතිග්රහණ පරීක්ෂාව (Acceptance testing) - පද්ධතිය සමඟ වැඩ කරන පුද්ගලයින්ට එය සමඟ වැඩ කිරීමට අවස්ථාව ලබාදී සිදුකරන පරීක්ෂාව මෙය වේ. මෙය client හෝ ආයතනයේ user පිරිස මඟින් සිදුකරයි.අඩුපාඩු වෙනවීම් සිදුකල යුතුනම් ඒ බව පද්ධති සංවර්ධන කණ්ඩායම දැනුවත් කරයි.
මීට අමතරව තවත් පරීක්ෂා ක්රමවේද කිහිපයක් ඇත. Alpha test, Beta test ලෙස ඒවා හැඳින්වේ. විශේෂ පාරිභෝගිකයකු ඉලක්ක නොකර විශාල පිරිසකට මෘදුකාංග නිපදවන විවිධ මෘදුකාංග නිෂ්පාදනය කරන සමාගම් විසින් ඔවුන් නිෂ්පාදනය කරන මෘදුකාංග වල alpha සහ beta version නිකුත් කිරීම සිදුකරයි. (උදාහරණ ලෙස මෙහෙයුම් පද්ධති, වෙබ් browsers, මීඩියා players ආදී...)
එවිට ඒවා ලබාගන්නා අයට එම මෘදුකාංග භාවිතා කර ඒවායේ ගුණ අගුණ,අඩුපාඩු සහ වෙනත් සිදුවිය යුතු වෙනස්කම් සහ අවශ්යතා ගැන අදාළ සමාගම දැනුවත් කල හැකිය.එවිට ඔවුන්ට මීළඟ එළිදැක්වීමේදී (version) වඩාත් හොඳ නව මෘදුකාංගයක් ඉදිරිපත් කල හැකිය.
6: නිෂ්පාදිතය වෙළඳපොළට නිකුත් කිරීම සහ නඩත්තු කිරීම -
ඉහත සියලු පියවරයන් අවසානයේ පද්ධතිය ක්රියාත්මක තත්වයට පත්කර අදාළ ස්ථානයේ පිහිටුවීම සිදුකෙරේ. නමුත් එසේ කල පසු මෘදුකාංගය හෝ පද්ධතිය ගැන අදාළ සංවර්ධන කණ්ඩායමට ඇති වගකීමෙන් නිදහස් විය නොහැකිය. ඔවුන් එම පද්ධතිය ක්රියාකාරී තත්වය පරීක්ෂා කරමින්,එහි නඩත්තු කටයුතු කිරීම කල යුතුය.
එමෙන්ම client විසින් පසුකාලීනව නව අංග ඇතුලත් කර,අවශ්යතා වෙනස් කර පද්ධතිය වෙනස් කල යුතුයි ඉල්ලීම් කළවිට ඒවා සිදුකිරීම කල යුතුය.
එවිටද නැවතත් කලින් සඳහන් කල පියවරයන් අනුගමනය කරමින් මෘදුකාංගය හෝ පද්ධතිය සංවර්ධනය කිරීම කල යුතුය. එම නිසා මෙම පියවර සියල්ල එකිනෙක හා බද්ධ වූ ක්රියාවලියක්,චක්රයක් ලෙස සිදුවේ.


