Software Development Life Cycle (SDLC), as name suggests, is a blueprint or a process for entire project that is used by the software industry to design, develop, and test high-quality software. This blueprint or process includes some common stages like requirement gathering and analysis, software design, coding and implementation, testing, development, and maintenance. The main goal of SDLC is to achieve and produce high-quality software that satisfies customer requirements and expectations, gets completed within a given period of time and cost estimates.
The ISO (International Organization for Standards) is an international standard for life cycle process. It aims to define primary standards that define all processes required for developing and maintaining software systems.
The SDLC activities of ISO 12207 are as follows :
- Agreement Processes –
Agreement processes are generally carried out for simply establishing agreement between two organizations. In this set of processes, many tasks are carried out that are important like requirement analysis, defining scope of system, finding out constraints for system development.
- Organizational Project Enabling Processes –
Organizational Project Enabling Processes are set of processes that define and maintain life cycle models and procedures for use by organization with respect to scope of international standards.
- Project Processes –
In this phase, project is described concerning planning, assessment, and control. There are two categories of processes- Project management processes and project support processes. This is a phase in which decision management processes, risk management processes, configuration management processes work.
- Technical Processes –
This is a phase in which a set of processes works to define requirements for system, to analyses requirements, and to transform requirements into effective design.
- Software Implementation Processes –
In this phase, set of processes is used to produce a specified system element implemented in software. Thus, a software product or service is developed in this phase.
- Software Support Processes –
This phase contains a set of processes that include documentation management process, quality assurance process, software verification process, and so on. These processes serve as support processes for developed software system.
- Software Reuse Processes –
There are certain processes such as domain engineering processes, reuse program management processes that serve as software reuse processes.