Thursday 6 December 2018

Software Engineering ඉගෙන ගමු

Software  Engineering  කියන්නේ software  development quality  වැඩි කර ගන්න යොදන framework  එකක් . එතකොට computer  software  කියන්නේ client  කෙනෙකුගේ  requirement ඉටු වන පරිදි create කරපු එකක් .

SDLC life Cycle කියන්නේ මොනවටද  බලමුකෝ

Software Development  Life  Cycle  නොහොත් SDlC  කියන්නේ Software  develop  කරන්න යොදා  ගන්නා  systematic process  එකකටයි . එහෙම කරපුවහම අපි build  කරන software  එකේ quality එක වගේම correctness  එකත් තහවුරු වෙනවා .SDLC  වල aim  එක වෙන්නෙත් customer ගේ expectation  උපරිම වන පරිදි high  quality  software  එකක්   අවසානයේ නිර්මාණය  කිරීමයි . software development  වලදී කළින්  define  කරපු  time  එකට සහ cost complete  කරන්න ඕන . 








SDLC  වල අන්තර්ගත වෙනවා detailed plan  එකක්. ඒ කිවේ software  එක build  කරන්න  plan  කරන විදිය , build  කරන විදිය maintain කරන විදිය define  කරපු plan  එකක් . SDLC  phases  වල phases  වලට ආවේණික  වූ process සහ deliverable   තියනවා .

SDLC  phases  මුලික වශයෙන් 7ක් තියනවා .

Phase 1: Requirement collection and analysis
Phase 2: Feasibility study
Phase 3: Design
Phase 4: Coding
Phase 5: Testing
Phase 6: Installation/Deployment
Phase 7: Maintenance 


  1. Requirement  analysis
SDLC  process  වල පළමු stage  එක තමයි requirement  analysis  කියන්නේ . ඒක  මෙහෙයවන්නේ Software development  team  එකේ ඉන්න senior සාමාජිකයන් ය . Quality  assurance plan  කිරීම , requirements  හදුනා ගැනීම , ඇතිවිය හැකි risk  හදුනා ගැනීම සිදු කරන්නේ මෙම stage  එක තුල දිය . මේ stage  එක පැහැදිලි අවබෝධයක් දෙනවා සම්පුර්ණ project  එකේ scope  එක ගැන වගේම ඇතිවෙන්න පුළුවන්  risk   , සහ opportunities  ගැනත් .  මුලික වශයෙන් කෙරෙන කාර්යය තමයි requirements  හදුනා ගැනීම .ඉතින් මේ ස්ටගේ එකේදී project  එකේ timeline එක finalize  කරන්න උදව්   වෙනවා .



     2. Feasibility studies

Requirement  Analysis  phase  එක අවසන් වු විට තියෙන ඊලග  පියවර තමයි software  needs  define  කරලා document  කරන එක . මේ සදහා උපකාර වන document  එක තමයි SRS  නොහොත් Software  Requirement  Specification  document  එක . එකේ තමයි project  life cycle එක තුල  design  කරපු develop  කරපු හැමදේම තියෙන්නේ .


Feasibility  check  කරන ක්‍රම 5ක් තියනවා .


  1. . Economic : එනම් අප කරන project එක අපට තියන  budget එක ඇතුලත කරන්න පුලුවන්ද බැරිද   යන වග .
  2. . Legal        : අප කරන project  එක cyber  law  එක යටතේ වගේම අනෙක් regulatory framework  එක යටතේ   කරන්න පුලුවන්ද බැරිද යන වග 
  3. .Operation  Feasibility  :  Client  ගේ expectation  එකට  අනුව project  operations  මෙහෙයවන්න පුලුවන්ද බැරිද  යන වග   
  4. . Technical :වර්තමානයේ ඇති computer system  එක build  කරන software  එකට support  කරනවද නැද්ද යන වග 
  5. : Schedule  : සම්පුර්ණ project  එක නියමිත කාල රාමුවේ   සම්පුර්ණ කල හැකිද නොහැකිද යන වග .
ආදිය check  කිරීම සිදු කරයි .


  3. Design


තෙවන අදියරේදී requirement  වලට අනුව සුදානම් කල system සහ software  design  documents මගින් සම්පුර්ණ architecture  එක define  කිරීම කරයි . මෙම stage  එකේදී design  documents 2ක්  develop  කරනවා . 

High  Level  Design (HLD )


  • හැම module  එකක් ගැනම කෙටි description  එකක්  ඇතුලත් වේ. 
  • හැම module  එකකම functionalities  නිරුපනය කරයි 
  •  relationship  සහ modules  අතර dependencies   interface  කිරීම 
  • key elements  සමග  database  tables  identify  කිරීම 
  • technology  details  සමග  architecture  diagrams   complete  කිරීම .



Low  Level  Design (LLD )


  •  modules  වල Functional logic
  •  type  සහ size  එක ඇතුලත් DB  tables 
  •  Interface  පිළිබද සම්පුර්ණ තොරතුරු 
  • සියලු වර්ගයේ dependency  issues 
  • error  messages 
  • හැම module  එකකම සම්පුර්ණ inputs  සහ  outputs  



යනාංග  ඇතුලත් වේ .

4. Coding 

Design phase  එක අවසන් වුනාට පසුව ඊලගට තියන වැදගත්ම කාර්යය තමයි Coding  කිරීම .මෙම phase  එකේදී developers ල සිදු කරන කාර්ය තමයි සුදුසු programming  language  එකක් තෝරාගෙන  සම්පුර්ණ system  එකම code  කිරීමයි .මෙහිදී සම්පුර්ණ system  එකම units , modules  වලට කඩාගෙන developers ල අතර modules  බෙදා හද ගෙන code  කිරීම සිදු කරයි .software  development life  cycle  එකේ තියන විශාලතම අවධිය තමයි මේක . මෙහිදී developers  ල compiler , interpreters , debugger , වැනි tools  පාවිච්චි කරලා code generate කරලා implement  කිරීම සිදු කරයි .

5.Testing 

Software  එක සම්පුර්ණ කල පසු ඉතිරි කාර්යය වන්නේ testing  කිරීමයි . එහිදී testing  team  එක , සම්පුර්ණ system  එකෙහිම functionalities  test  කිරීම ආරම්භ කරයි . එහෙම කරන්න හේතුව තමයි customer  requirements  වලට අනුව  සම්පුර්ණ application එක නිවැරදිව ක්‍රියාත්මක වනවාද නැද්ද යන්න තහවුරු කිරීමටයි . මෙහිදී QA  testing  team  එක bugs , defects  වගේ තියන අඩුපාඩු හොයාගෙන development  team  එකට දැනුම් දෙනවා .ඊට පස්සේ development  team  එක ඒ bug  fix  කරලා නැවත පරික්ෂා  කිරීමට  QA  ට එවනවා .මේක චක්‍රයක් වගේ software  එකේ bug  free  වෙලා business  need  එකට අනුව අවසන් output  එක වෙනකම්ම continue  වෙනවා .

6. Installation  

software  testing  phase  එක අවසන් වෙලා system  එකේ  bugs , errors free  වුවාට  පසු ඇති ඊලග level  එක තමයි installation  කියන්නේ .ඒ අනුව software  project  manager ගේ feedback  එක මත final  software  එක release  කරනවා .

7. Maintenance

system  එක install  කලාට පසුව customer  එම system  එක පාවිච්චි කිරීමට පටන් ගන්නවා . එවිට පහත activities  3 සිදු කරනු ලබනවා . 

  • Bug  Fixing : tested  වෙලා නැති සමහර bugs  report  කිරීම 
  • Upgrade  : අලුත් versions  වලට  upgrade  කිරීම . 
  • Enhancement : existing  system  එකට අලුත් features  add  කිරීම යනාදියයි .



ඊලගට මන් SDLC  වල තියන  ජනප්‍රිය models  ටිකක් කියන්නම් .

  1. Waterfall Model
  2. Incremental approach
  3. V Model
  4. Agile Model
  5. Spiral Model
  6. Big Bang Model

waterfall  model  එක කියන්නේ ලෝකය පුරා  ව්‍යාප්ත  වූ  පිළිගත් ජනප්‍රිය   model  එකක් . waterfall  model   එකේදී සිදු වන්නේ සම්පුර්ණ process  එකම විවිධ phases  වලට බෙදා වෙන්කිරීමයි .විශේෂ ලක්ෂණය තමයි එක phase  එකක output  එක ඊලග  phase  එකක input  එක වීමයි . 



0 comments:

Post a Comment