Upload
nadeesha-thilakarathne
View
1.276
Download
4
Embed Size (px)
Citation preview
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.
22
References• http://www.agile-process.org/• http://istqbexamcertification.com/what-is-agile-model-advantages-di
sadvantages-and-when-to-use-it/• https://en.wikipedia.org/wiki/Main_Page• Sommerville –software engineering
23
Your Valuable Feedback is
always welcome…. Nadeesha