Software Development Life Cycle : Introduction
- Software Development Life Cycle is the manner with the help of which software are produced.
- The Software Development Life Cycle is a type of notional(conceptual) model that is used during the development of any software product in project management and software engineering.
- It comprises of various stages, from initial stage of feasibility to final product stage. These stages ensures that no features and functions are missed before delivering the final product.
- The Software Development Life Cycle delivers the product along with detailed documentation.
- Software Development Life Cycle aims to generate quality products. This is because of its ability to develop the product through a streamlined process by passing it against the various stages of the Software Development Life Cycle.
Software Development Life Cycle : Need & Requirement
- Any software product cannot be developed without knowing its complete requirements. Also, how much efforts will be required in terms of teams needs to be decided before developing any software product. Tasks of each team needs to be decided in advance too.
- Every software product is designed and developed in a systematic way by a number of teams as only a single team cannot perform every function and task. These teams work at different stages of Software Development Life Cycle which further coordinates to develop a great quality product.
- Hence, Software Development Life Cycle is required to develop a software product in an efficient and effective manner keeping the workforce, time and budget in mind. Software Development Life Cycle keeps in maintaining a balance between these three(workforce, time & budget).
Software Development Life Cycle : Stages
- There exists a number of stages/phases in the Software Development Life Cycle. These stages/phases might vary according to the type of software and the teams involved in it. But in general, there are five must have stages that constitutes the Software Development Life Cycle.
- Also, the type of project/product which is to be developed, the workforce/teams involved and the processes used to develop that product decide the time and cost of any software product.
1. Requirement Analysis & Specification
- This is the first stage of Software Development Life Cycle of any software product. In this phase, a document is made containing all the requirements and specification about the software product.
- This document enable the teams and the project management to know about each and every aspect of the software product. It defines the What and How about the software, its features and its functions.
- Also, this phase is responsible for defining the feasibility of the software product in terms of :
- Cost/Budget Feasibility.
- Operational Feasibility.
- Technical Feasibility.
- Resource Feasibility.
- Feasibility of a product denotes “Weather it is possible to build a product or not”. This can be discovered in terms of technical feasibility, operational feasibility and economic feasibility.
2. Product Design
- The second phase of the Software Development Life Cycle is the product design phase. This phase generates the “Blue Print” of the software product. It means, flow charts are generated along with a software development model is chosen with the help of which the whole software product is generated.
- The “Blue Print” of the software product defines the design of software product. It constitute of all the features and functions the software product will possess. Also, the behavior of software product is directly dependent upon the type of flow chart generated. So, generating the flow chart can be termed as the most important factor in developing any software product.
- Also, a number of software development models are available from which a model is chosen according to the nature, size and resources of the available with software product.
3. Product Development
- The third phase of the Software Development Life Cycle is the product development phase. Once the design phase is finalized, development of software according to the design and software model is started. Development of software product is done through help of various programming languages.
4. Product Testing
- The implemented software product is passed on to the testing team. This team will find bug, error and crashes in the software product. Also, behavior of the product is also tested in this phase.
5. Deployment & Maintenance
- After successful completion of testing, the software product is finally deployed as per clients requirement. If any problem arises in future, maintenance team will provide support accordingly.