Software Development Process
The software development process involves a set of phase, where each phase acts a sequence of steps representing a variety of methodologies.

Figure 1.1 Software paradigm.
Commonly has theses phases:
- Requirements analysis: State the problem precisely.
- This gives a clearer picture of the scope of the entire project.
- The output is the Software Requirements Spec (SRS) document.
- Design: The design phase serves as input for the next phase of the model.
- There are three kinds of design developed in this phase: architecture, high-level, and detailed design.
- The outputs are architecture, description, or logic design documents.
- Coding: Developers start build the entire system by writing code using the chosen programming language.
- Implement the design with simple and easy to understand code.
- The output is the code.
- Testing: Verify that the entire application works according to the customer requirement.
- This is a very expensive task — must be properly planned and executed.
- The outputs are test plans/results and the final tested code.
- Delivery: Once the software testing phase is over and no bugs or errors left in the system then the final deployment process starts.
Different process models perform the five phases of process development in different manner. In the next section, we will cover these process models.
Process Models
A software process model is an abstract representation of a process. It presents a description of a process from some particular perspective.
- Traditional Modes:
- Waterfall model - Oldest and most widely used.
- Prototype model - Followed by the waterfall model.
- Iterative model - Widely used in product development.
- Timeboxing model - Iterative 2.0.
- Modern Modes:
- Agile model - Best suitable for mobile applications.
The goal of a software process model is to provide guidance for controlling and coordinating the tasks to achieve the end product and objectives as effectively as possible. Each has their advantages and disadvantages which will cover at the end.
Waterfall Model
The waterfall model is a linear sequence of stages or phases where you must plan and schedule all your activities before starting the project. It has the following phases:
- Requirements