Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Sdlc (software development life cycle)

2,285 views

Published on

SDLC (Software Development Life Cycle),Software Development Process Model

Published in: Software
  • Login to see the comments

Sdlc (software development life cycle)

  1. 1. SDLC (Software Development Life Cycle) Software Development Process Model Nadeesha Thilakarathne 1
  2. 2. Software Development Life Cycle Requirement Gathering & Analyzing Design Implementation & Coding Testing Deployment Maintenance 2
  3. 3. 1. Requirement Gathering & Analyzing • Business requirements are gathered • Meetings with project managers & stake holders • Identify • “Who will use the system ” • “How the system should work “ • “What should be the input & output of the system ” • Analyze requirements for validity & incorporation of requirements • Finally prepare Requirement specification document Requirement Specification INPUT 3
  4. 4. 2. Design • Prepare system & software design from software requirement specification. • It helps in • Specifying hardware & system requirements • Defining overall system architecture • Logical & Physical designing Design Documentation INPUT 4
  5. 5. 3. Implementation / Coding • Work divide into modules • Actual coding started • Longest phase in SDLC Implementation INPUT 5
  6. 6. 4. Testing • Tested against requirements • Detection of errors in the software • Test related activities • Test case generation • Testing criteria • This phase complete • Unit testing • Integration testing • System testing • Acceptance testing Test Report INPUT 6
  7. 7. Unit Testing • Smallest testable part of the application • Function • Class • Procedure • Interface • Use to make sure individual parts are working correctly • Done by developers • White box testing is used to execute unit testing • Done before integration testing 7
  8. 8. White Box Testing (glass-box) • Known as structure – based testing • Test internal structures (as opposed to its functionality - black-box testing ) • Advantages • Easy to reveal hidden errors • Easy to automate • Disadvantages • Expensive (Time & Money) • In some occasions not realistic • Missing functionality may not discover 8
  9. 9. Integration Testing • Individual testing modules are combined and test as a group • Verify • Functional • Performance • & reliability requirements placed on major design items • These groups of units (design items) excised through their interfaces using black – box – testing Integration TestingUnit Testing Validation Testing After Before 9
  10. 10. Black Box Testing • Examine the functionality of an application • Not looking at the internal structure or working • Applicable levels of software testing • Unit • Integration • System • Acceptance • Aware of what the software is supposed to do ,not aware of how it does 10
  11. 11. System Testing • Testing conduct on completed integrated system to check • System's compliance with its specified requirements • Should required no knowledge in internal design or codes (Black – box – testing ) • System testing performed with FRS(Functional Requirement Specification) or SRS (System Requirement Specification) 11
  12. 12. Acceptance Testing • After the completion of system testing system will be delivered to the user or customer for acceptance testing • Help to establish confidence on system 12
  13. 13. 5. Deployment • After the successful completion of testing process application will deploy for the use of customer. 13
  14. 14. 6. Maintenance • Enhancing & optimizing deployed software 14
  15. 15. Waterfall-Model Requirements definition System & software design Implementation & unit testing Integration & system testing Operation & maintenance 15
  16. 16. Waterfall-Model • First published model of the software development lifecycle • Principal stages of the model map onto fundamental development activities 16
  17. 17. Waterfall-Model • Requirements analysis and definition • Services, constrains & goals are established by consultation with system users • System & software design • Partitions the requirements either hardware or software systems • Establish overall system architecture • Involves identifying & describing the fundamental software system abstraction & their relationship • Implementation & unit testing • Software design is realized as a set of programs or program units. SOMMERVILLE –SOFTWARE ENGINEERING 17
  18. 18. Waterfall-Model • Integration & unit testing • Integrated & tested as a complete system • Ensure that the software requirements have been met • Operation & maintenance • Involves in correcting errors • Improving the implementation • Enhancing the system’s services as new requirements discovered SOMMERVILLE –SOFTWARE ENGINEERING 18
  19. 19. Agile Software Development • Biggest problem with software development is changing requirements • Agile processes accept the reality of change versus the hunt for complete, rigid specifications 19
  20. 20. Agile Software Development 20
  21. 21. Agile Software Development • Advantages • Satisfy customer with rapid ,continuous delivery • Customers, developers & testers continuously interact with each other • Continuous attention • Late changes in requirements are welcome • Disadvantages • Lack of emphasized on necessary designing & documentations • Difficult to assess the effort required at the beginning of the software development life cycle. 21
  22. 22. References • http://www.agile-process.org/ • http://istqbexamcertification.com/what-is-agile-model-advantages- disadvantages-and-when-to-use-it/ • https://en.wikipedia.org/wiki/Main_Page • Sommerville –software engineering 22
  23. 23. 23

×