CAIIB IT SYSTEMS AND DESIGN SOFTWARE DEVELOPMENT LIFE CYCLE
SOFTWARE DEVELOPMENT LIFE CYCLE
SDLC, Software Development Life Cycle, refers to the process commonly used to design, develop and test high-quality software by the software industries.
The main aim of SDLC is to develop software that can meet customers’ expectations in terms of cost estimates and gets developed in the shortest completion time.
It is basically a detailed plan that describes how a specific software will be developed, maintained, replaced and altered, or enhanced at every step in the whole process. It is sometimes also termed as Software Development Process.
SDLC is a framework that defines the tasks performed at each step in the software development process which is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
WORKING OF SDLC
As mentioned earlier, SDLC’s main focus is to lower the cost of software development while making sure that the quality is improved and production time is shortened. These goals are achieved by following a plan that eliminates the pitfalls of software development projects.
The next thing that is done is to define the new system’s requirements. After that, it is used to create equality software by analyzing, planning, designing, developing, testing, and deploying.
The above stages eliminate any possibility of redundant reworks and after fixes bind the skating the mistakes that could be costly such as failure to ask the end-user or client for feedback.
SDLC mainly focuses on the testing phase. Because SDLC is a protective methodology, one has to ensure that the code that is being inputted is of quality standard. Spending enough time to test the software can save a lot of work, time, and money.
NEED OF SDLC
Having a suitable life cycle model for the development plan adds value to the software development in the following ways:
- SDLC gives us an effective framework and method for the development of software applications.
- Because SDSLC allows the developers to analyze requirements before the actual development, it helps us in making the planning effective.
- Unnecessary costs are reduced in the development process but meeting an excuse meets at the initial fees of the cost and costly mistakes.
- As it provides a systematic process that allows the developers to test the software before it is delivered, the end product comes out of high quality.
- It helps in evaluating the software’s effectiveness by providing a basis for comparison.
STAGES OF SDLC
For better understanding, you can take a look at the graphical representation of the software development life cycle that is given below:
A software life cycle model, which can also be termed a process model, represents the software lifecycle in pictorial and diagrammatic form. It presents all the methods which are required to how software products pass through the stages of the life cycle, thereby, capturing the structure in which these methods need to be undertaken.
In simple words, it represents all activities that get performed on the software product from the beginning to its end. Although, the life cycle model can vary, thus, could include in the necessary development activities that need to be applied at different phases in different ways.
The software development life cycle contains all the essential activities that need to be performed on the software. But this doesn’t mean that that needs to be carried out in particular order. During any life cycle stage or process, one stage could come first instead of following the mentioned pattern and it could also involve more than one activity in one stage.
It basically describes the entry and exit for every phase. One phase can only begin after fulfilling the stage entry criteria that have been prescribed. These entry and exit criteria are only mentioned in the software life cycle model. Therefore, without having one, you would not know the exit and entry criteria for a stage and it becomes difficult to monitor the progress of the project by the software project managers.
A typical Software Development Life Cycle has to go through the below-mentioned stages:
- Planning and Requirement Analysis
- Defining Requirements
- Designing the Product Architecture
- The Product Building or Development
- Product Testing
- Deployment in the Market and Maintenance
- PLANNING AND REQUIREMENT ANALYSIS
The most important and fundamental stage in the software development life cycle process is the requirement analysis. A team of senior members performs this analysis after getting input from the customers, market surveys, sales department, and some of the domain experts in the industry. It is a basic project approach where the information that is collected from various sources is used to find whether the product is feasible in operational, economical, and technical areas.
This stage also involves planning quality requirements and to identify the risks that might be faced in the whole project process. Results of the technical feasibility study help us define technical approaches that could be used or followed for the implementation of a project while facing minimum risk and making the project successful.
- DEFINING REQUIREMENTS
After the requirement analysis has been done, the next step is to define and document the requirements of the product and get the customer on market analyst’s approval. This process of defining the requirements with the help of the Software Requirement Specification (SRS) document contains all the requirements of a product that need to be designed and developed during the whole project life cycle.
- DESIGNING THE PRODUCT ARCHITECTURE
By referring to the SRS, the product architects can come out with the best architecture for the development of the product. On the basis of SRS requirements, one gets to choose from different design approaches for the architecture of a product in a Design Document Specification (DDS).
The product architecture is reviewed by all the stakeholders on different parameters such as risk assessment, design modularity, budget, product robustness, and constraints of time so as to select the best design approach to be followed for the product.
The design should clearly define all the models of architecture along with the data flow representation without side and third-party modules if any.
While the internal design of the proposed architecture’s modules must have clear definitions with min details in Design Document Specification software
Important Topic:- IIBF CAIIB INFORMATION TECHNOLOGY STUDY MATERIAL 2022
STAGE 4: THE PRODUCT BUILDING OR DEVELOPMENT
After designing, the development stages of software begin where the actual product is built. The programming codes are generated as per the designs developed in DDS in this stage. When the designs of the product are in detail, thereby, get implemented or performed in an organized manner, the generation of codes is accomplished without facing many difficulties.
The software developers have to follow the coding guidelines that have been defined by the organization. Different programming tools are charged debuggers, interpreters, and compilers are used for the development of codes by using different high-level programming languages such as Java, Pascal, C, C++, and PHP.
The language will depend on the type of software that is getting developed.
- PRODUCT TESTING
Usually, a product gets tested at every stage of the life cycle. Testing as one phase of SDLC refers to the product testing as such it refers to the stage of product where the defects are specifically reported, tracked down to be fixed, and then the product is retested again and again until it reaches the standard (quality) that has been defined in SRS.
- DEPLOYMENT IN THE MARKET AND MAINTENANCE
Once the product has gone through Di testing and has passed the quality standards, it gets ready to be deployed for use and is released officially in the appropriate market.
There are times when the deployment of a product happens in parts or stages as per the organizational strategy.
It could be first released in a limited segment and tested for the real business environment.
Then, feedback is taken from the users, based on which it is decided whether the product will be released as it is or some enhancements will be applied to the software for the target market segment.
Once it gets released in the market, the maintenance work will be done from time to time.
SDLC has many models, referred to with the name ‘Software Development Process Models’, that are predefined and designed and could be followed during the software development process. Each of these models has a series of steps that are unique to each model place to ensure success in the software development process.
Given below are popular and important SDLC models that are followed in the industry:
- Waterfall Model
- Iterative Model
- Spiral Model
- Big Bang Model
When SDLC is followed properly, you can help in achieving the highest level of management control and documentation as the developers know and understand what they are required to build and why. All the involved parties agree on one thing and have a clear plan to arrive at that goal as per the specified cost and resources.
Although, there can be many pitfalls that can turn the SDLC into more of a liability than an asset. So, the SDLC will only benefit when the plan is being faithfully followed.