A cycle and not a linear process. After developing a software, it is necessary to go back to the start of the process again if something has been discovered during development.
Program Development Life Cycle
1. Analysis
2. Design
3. Coding
4. Testing
Analysis requirement specification
Problem needs to be clearly defined and set out so anyone working on the solution understands what is needed (understanding what the client wants to create the app that meets the requirement)
Analysis
1. Decomposition
2. Abstraction
Decomposition
Breaks down a complex problem into smaller part/subtasks
Abstraction
Keeps the key elements required for the solution to the problem and discards any unnecessary details and information that is temporary/not required
Design
1. Decomposition
2. Structure diagrams
3. Flowcharts
4. Pseudocode
Coding
Writing program code and iterative testing
Testing
Testing program code with the use of test data
Testing
1. Unit Testing
2. Integration Testing
Unit Testing
Testing each part of the code individually
Integration Testing
All code is combined to form a program. Then, the program is tested.