Software Development Life-Cycle
- Overview
Software processes in software engineering refer to the methods and techniques used to develop and maintain software. Some examples of software processes include:
- Waterfall: a linear, sequential approach to software development, with distinct phases such as requirements gathering, design, implementation, testing, and maintenance.
- Agile: a flexible, iterative approach to software development, with an emphasis on rapid prototyping and continuous delivery.
- Scrum: a popular Agile methodology that emphasizes teamwork, iterative development, and a flexible, adaptive approach to planning and management.
- DevOps: a set of practices that aims to improve collaboration and communication between development and operations teams, with an emphasis on automating the software delivery process.
- Software Development Life Cycle (SDLC)
Software is the set of instructions in the form of programs to govern the computer system and to process the hardware components. To produce a software product the set of activities is used. This set is called a software engineering process.
The software engineering process is a systematic approach to designing, developing, testing, and maintaining software. It is also known as Software Development Life Cycle (SDLC).
The software engineering process is divided into five phases, which must be completed in a specific order:
- Planning
- System analysis and design
- Coding and development
- Testing
- Implementation
Other steps in the software engineering process include: requirements collection, analysis, design, maintenance, deployment, fabrication, installation, operation, retirement.
- Software Process Activities
Real software processes are inter-leaved sequences of technical, collaborative and managerial activities with the overall goal of specifying, designing, implementing and testing a software system.
The four basic process activities of specification, development, validation and evolution are organized differently in different development processes.
In the waterfall model, they are organized in sequence, whereas in incremental development they are interleaved.
[More to come ...]