A software development process, also known as a software development life-cycle (SDLC), is a set of steps that a software program goes through when developed. These are the activities and steps of this process that software developers often does:
- Requirements analysis in systems engineering and software engineering (SE), is the process of reviewing a business' processes to determine the business needs and functional requirements that a system must meet.
- In systems engineering and software development, functional specification is the documentation that describes in non-technical terms and illustrations how the requested behavior of an engineering system should work.
- The term software architecture of a computer program or software system is the structure or structures of system that aids in the understanding of how the system will behave.
- Software construction is the detailed creation of programs, processes and information used to perform various tasks within the building of a structure of meaningful software through a combination of coding, verification, unit testing, integration testing and debugging. It's one of the software engineering disciplines.
- Software design is about designing the individual modules or components. What responsibilities, functions, of module and of class are? What can it do, what's not and what design patterns can be used? It is very similar to systems design.
- Software testing is an investigation about the quality of the software product or service under test, to detect differences between given input and expected output.
- Debugging is a methodical process of identifying the number of errors such as bugs or defects, from a computer program or software to be fixed.
- Software deployment is all of the activities that get a software system ready for market. In other words, it is the process of making a computer program available for use.
- Software maintenance in software engineering is the activity of modifying a software product after delivery, in order to correct faults, to improve performance or other attributes.
Software Development Process Models
Software development models or software process models are the standardised formats or systems for planning, organising and running a development project. On the following writing below, you will see some common software process models.
Waterfall Model
The waterfall model is a traditional engineering approach applied to software engineering. The activities of the software development process represented in this model are display below.
Design⤵
Implementation⤵
Verification⤵
Maintenance
The waterfall model shows steps of a software development process, where developers are to follow these phases in order:
- Software requirements specification (SRS) is a comprehensive description of the intended purpose and environment for software system under development, or it can also be requirements analysis.