දැනට තිබෙන පාඩම්...

Saturday, March 12, 2016

Software Engineering ඉගෙන ගනිමු - 1 පාඩම

කොහොමද යාලුවන්ට, අද අපි කථා කරන්නෙ Software Engineering Basics ගැන

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 (පවත්වාගෙන යාම)

මේ ලිපියෙ අඩුපාඩු තියෙනවනම් කියන්න. මේකෙ දෙවෙනි ලිපියත් ඒක්ක ඉක්මනටම හමුවෙන්නම්...




Entrepreneurship ඉගෙන ගනිමුද? - 1 පාඩම

කෝමද යාලුවනේ? පහුගිය කාලේ තිබ්බ වැඩ කන්දත් ඒක්ක ලිපියක් ලියාගන්න වෙලාව නැති වුනත් චමියාට හිතුනා පොඩි ලිපියක් ලියන්න ව්‍යවසායකත්ව අධ්‍යය...