SDLC is a process which follows in Software Projects to develop a product in a systematic way and to deliver a high-quality product. SDLC states the complete cycle or stages of development i.e. all the tasks involved in planning, designing, coding , testing, and deploying a Software Product.
Phases of SDLC
- Requirement Elicitation/ Gathering
- Feasibility Study
REQUIREMENT ELICITATION/ GATHERING
Requirement Analysis is the most important and necessary stage in SDLC. Project organizer and Business Analyst sets a meet up with the customer or client to gather and organise all the data and information like what the client or customer wants to build, and which segment of audience will be their end user, what is the objective of the product. Before developing a product, a deep knowledge or understanding of the respective product is very important. The stage of Requirements Gathering need team members to get precise and detailed requirements. This motivates the companies to complete the important timeline to accomplish the actual work required by that system.
feasibilities checks are of five major types :
- Technical: Need to check whether we have the updated/Current technology and IT infrastructure for the project
- Economic: Can we complete the project within the budget or not?
- Legal: Can project be handled in terms of cyber law and other main regulatory framework/compliances.
- Operation feasibility: Can we create operations which is expected by the client OR The idea proposed is applicable in the real world or not?
- Schedule: Decide that the project can be completed within the given schedule or not.
Once the requirement gathering and Feasiblity study is done the next step is to define and document the product requirements and get them approved by the customer. This is executed as per the process of SRS (Software Requirement Specification). SRS is properly consist of all the product requirements to be developed and designed during the life cycle of the product. People involved during this phase are mainly Project Manager, Senior members of the Team and Business Analyst. The outcome of this phase is the Software Requirement Specification.
In this phase, the system and software design documents are prepared as per the required specification document. This helps define overall system architecture.
High-Level Design (HLD)
- Brief description and name of each module
- The functionality of every module should be outlined.
- Interface relationship and dependencies between modules
- Database tables are identified with their advanced key elements.
Low-Level Design (LLD)
- Functional logic of the modules
- Database tables, which include type and size
- Complete detail of the interface
- Complete input and outputs for every module
The time period taken by this phase is longer as compared to other phases of software development life cycle. In this phase of Development, actual code is done by the developers for developing the software. Developers follows the guidelines of code specified by their organization and programming tools like interpreters, compilers, debuggers, etc. are used to develop the code. High level programming languages which involves C++, C, Java, Pascal, and PHP are done for the better coding. The chosen programming language is used with respect to the type of software being developed. Source Code Document (SCD) is created in the end of this phase with the developed product.
Once the software is complete, and it is deployed in the testing environment. The functionality of the entire system is properly checked by the testing team. This is to verify that the whole application works as per the customer requirement.
During this phase, QA and testing team may find some bugs/defects which they communicate to developers. The development team fixes the bug and send back to QA for a re-test. This process continues until the software is bug-free, stable, and working according to the business needs of that system
The product is formally released in the relevant market once it has undergone testing and is prepared for deployment. Depending on the organization’s business plan, product deployment may occasionally take place in phases. The product might be tested in the real business setting before being made available to a larger market (UAT- User acceptance testing).
The product may then be released as is or with proposed improvements in the intended market segment depending on the feedback. After a product is put on the market, maintenance is carried out for the clientele already in place.
Once the system is deployed, and customers start using the developed system, following 3 activities occur
- Bug fixing – bugs are reported because of some scenarios which are not tested at all
- Upgrade – Upgrading the application to the newer versions of the Software
- Enhancement – Adding some new features into the existing software
THANKS FOR YOUR PRECIOUS TIME
EPEDAGOGUE GLOBAL PVT LTD
PRAKASH CHAND THAPLIYAL