Sdlc (software development life cycle)

Post on 15-Apr-2017

1,277 views 4 download

transcript

1

SDLC (Software Development Life Cycle)

Software Development Process Model

Nadeesha Thilakarathne

2

Software Development Life CycleRequirement Gathering

& Analyzing

Design

Implementation& Coding

Testing

Deployment

Maintenance

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

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

5

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

Implementation INPUT

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

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

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

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

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

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)

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

13

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

deploy for the use of customer.

14

6. Maintenance • Enhancing & optimizing deployed software

15

Waterfall-ModelRequirements definition

System & software design

Implementation & unit testing

Integration & system testing

Operation & maintenance

16

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

activities

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

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

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

20

Agile Software Development

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.

23

Your Valuable Feedback is

always welcome…. Nadeesha