Software ,Generic software හා Bespoke software කියලා ප්රධාන කොටස් 2කට බෙදන්න පුලුවන්.
1.Generic software: stand-alone software කියන්නෙ මේවට. open market ඒකට අරන් යන software.
උදා: spreadsheet applications
database systems
text editors වගේ දේවල්
2.Bespoke software: විශේෂ customer කෙනෙක් සදහාම නිර්මාණය වුන software
උදා: banking systems
air traffic control systems
ඒ වගේම software system software, application software කියලා ප්රධාන කොටස් 2කට බෙදන්න පුලුවන්.
System software: පරිගණකයේ resources manage කරගන්නයි application programme වල execution
වෙන විදිහ check කරන්න තියෙන software.
Application software: end user ඒ කියන්නෙ පාරිභෝගිකයාට අදාල වන විශේෂ වන ක්රියාවලියකට දායක වන software.
System software ප්රධාන කොටස් කිහිපයක් යටතේ වර්ග කරන්න පුලුවන්.
1.Operating Systems
I.Client operating systems
II.Network operating systems
2.Database management systems
3.Network Software
I.Network management software
II.Server software
III.Security and encryption software
IV.Middleware
4.Development tools සහ Programming language software
I.Software development tools
II.Testing tools
5.General business productivity applications
I.Word processors
II. Spreadsheets
III.Simple databases
IV.Graphics applications
V. project management software
6.Home use applications
I.Games
II.Media players
7.Cross-industry application software
I. Professional accounting software
II.Human resource management
III.Customer relations management software
IV.Geographic information system software
8.Vertical market application software
I.Software for a specific industry(manufacturing, health care, telecom)
9.Utilities software
I.Anti virus
II.Compression programme
III.Search engines
IV.Font
V.Voice recognition software
software engineering වල අර්ථ කථනය ගොඩනැගුනේ 1968දි "software crisis" කියන තේමාව යටතේ පැවැත්වුනු සමුළුවේදීයි.
software crisis(මෘදුකාංග අර්බුදයට හේතු වූ කරුණු)
i. පරිගණක දඩාංග තාක්ෂණය අධි වේගයෙන් වර්ධනය වීම
ii. ඒහි ප්රතිපලයක් වශයෙන් සංකීර්ණ මෘදුකාංග නිර්මාණය කරන්නට හැකිවීම
iii. ඒසේ වුවත් මෙි සංකීර්ණ මෘදුකාංග තාක්ෂණය දරා ගැනීමට තරම් ඒ සදහා නිවැරදි සම්මත ක්රමවෙිදයන් පැවතුනේ නැත.
iv. මෙි නිසා සිදුකරන මෘදුකාංග අයවැයට වඩා විශාල මුදලකට මෙන්ම නියමිත කාලයටත් වඩා වැඩියෙන් නිම වන්නට විය.
v. මෘදුකාංග අඩු ප්රමිතියකින් යුක්ත වන්නට විය.
vi. මෘදුකාංග ඒහි අවශ්යතා සම්පූර්ණ කලේ නැත.
vii. ව්යාපති කලමණාකරණය කර ගැනීමට නොහැකි වූ අතර නඩත්තු කිරීමටද අපහසු විය.
නව මදුකාංග නිර්මාණය කිරීම ප්රධාන ක්රම 3ක් යටතේ සිදුවිය.
1. නව මෘදුකාංග සංවර්ධනය කිරීම
2. සංවිධානයකට සුදුසු වන පරිදි generic software හදුනා ගැනීම
3. පෙර භාවිතා කළ මෘදුකාංගය නැවත පාවිච්චි කිරීම
මෘදුකාංග ක්රියාවලිය (Software process)
Software Engineering වල පාවිච්චි වෙන ක්රමවත් පද්ධතියක් විදියට වන අාරම්භයක් software process ඒකක් කියලා හදුන්වන්න පුලුවන්. අැත්තටම software process ඒකක් කියන්නෙ ක්රියාවලි කිහිපයක් අනුපිලිවෙලින් සිදුවීමක්. මේ ක්රියාවලිය ගමන් කරන්නෙ සම්පුර්ණ මෘදුකාංගයක් අාරම්භයේ සිට අවසන් වන තැන දක්වා...
ඔිනෑම software ඒකක් නිර්මාණය වීමේදි සිදුවෙන මූලික ක්රියාවන් 4ක් තියෙනවා.
1. Software Specification (මෘදුකාංග විස්තර)
i.Analysis ( විශ්ලේෂණය කිරීම)ii. Specification ( විස්තර පිලිවෙලකට බෙදා ගැනීම)
2. Software Development(මෘදුකාංග විකාශනය)
i. Design (නිර්මාණය කිරීම)
ii. Implementation (ක්රියාවට නැංවීම)
iii. Documentation (ලේඛන ගත කිරීම)
3. Software Validation (මෘදුකාංග වලංගුකරණය)
i. Testing (පරික්ෂා කිරීම)
ii. Debugging (වැරදි අඩුපාඩු නිවැරදි කිරීම)
4. Software Evolution ( මෘදුකාංග විකාශනය)
i. Maintenance (පවත්වාගෙන යාම)
මේ ලිපියෙ අඩුපාඩු තියෙනවනම් කියන්න. මේකෙ දෙවෙනි ලිපියත් ඒක්ක ඉක්මනටම හමුවෙන්නම්...