Sdlc (software development life cycle)

23
SDLC (Software Development Life Cycle) Software Development Process Model Nadeesha Thilakarathne 1

Transcript of Sdlc (software development life cycle)

Page 1: Sdlc (software development life cycle)

1

SDLC (Software Development Life Cycle)

Software Development Process Model

Nadeesha Thilakarathne

Page 2: Sdlc (software development life cycle)

2

Software Development Life CycleRequirement Gathering

& Analyzing

Design

Implementation& Coding

Testing

Deployment

Maintenance

Page 3: Sdlc (software development life cycle)

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

Page 4: Sdlc (software development life cycle)

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

Page 5: Sdlc (software development life cycle)

5

3. Implementation / Coding • Work divide into modules • Actual coding started • Longest phase in SDLC

Implementation INPUT

Page 6: Sdlc (software development life cycle)

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

Page 7: Sdlc (software development life cycle)

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

Page 8: Sdlc (software development life cycle)

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

Page 9: Sdlc (software development life cycle)

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 Testing Unit Testing Validation Testing After Before

Page 10: Sdlc (software development life cycle)

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

Page 11: Sdlc (software development life cycle)

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)

Page 12: Sdlc (software development life cycle)

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

Page 13: Sdlc (software development life cycle)

13

5. Deployment • After the successful completion of testing process application will

deploy for the use of customer.

Page 14: Sdlc (software development life cycle)

14

6. Maintenance • Enhancing & optimizing deployed software

Page 15: Sdlc (software development life cycle)

15

Waterfall-ModelRequirements definition

System & software design

Implementation & unit testing

Integration & system testing

Operation & maintenance

Page 16: Sdlc (software development life cycle)

16

Waterfall-Model• First published model of the software development lifecycle• Principal stages of the model map onto fundamental development

activities

Page 17: Sdlc (software development life cycle)

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

Page 18: Sdlc (software development life cycle)

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

Page 19: Sdlc (software development life cycle)

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

Page 20: Sdlc (software development life cycle)

20

Agile Software Development

Page 21: Sdlc (software development life cycle)

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.

Page 23: Sdlc (software development life cycle)

23

Your Valuable Feedback is

always welcome…. Nadeesha