Explain SDLC with phases

 Software Development Life Cycle (SDLC) is a process used by the software industry to design,  develop and test high quality softwares. 

It is a systematic process for building software that ensures the quality and correctness of the software built.

 It process aims to product high-quality software that meets customer expectations. The system development should be complete in the pre-define time frame and cost. 

SDLC consists of a detailed plan which explain how to plan, build, and maintain specific software. 

Every phase of the SDLC life cycle has its own process and deliverables that feed into the next phase. 

 The life cycle defines a methodology for improving the quality of software and  the overall development process.

  • SDLC is the acronym of Software Development Life Cycle.

  • It is also called as Software Development Process.

  • SDLC is a framework defining tasks performed at each step in the software development process.

  • ISO/IEC 12207 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.

Implementing a lifecycle lets project managers reduce the program implementation costs, 

remove complexity, and improve efficiencies. It also encourages reuse, upgrade and, most  

significantly, cost savings.


Why SDLC ? 

  • It offers a basic for project planning, scheduling and estimating.
  • Provides a framework for a standard set of activities and deliverables
  • It is a mechanism for project tracking and control
  • Increases visibility of project planning to all involved stakeholders of the development process
  • Increased and enhance development speed
  • Improved client relations
  • Helps you to decrease project risk and project management plan overhead. 


Phases of SDLC



1. Requirement Collection & Analysis

Requirement Gathering is the process of obtaining all the types of list of specifications (functional, program, technological, etc.) from all stakeholders (customers, users, suppliers, IT staff) which will be used as the basis for formal definition of what the project is. After the collection of desire requirements that needs to move forward, we will do analysis where it generates the main theme or result that the project going to build. The requirements describe the project, poorly written requirements can cause developmental issues and, more importantly, cause projects to fail if the objectives are misunderstood. That’s why the requirement analysis here defines the user’s current expectations or requirements for a new project/software being built or modified. So, at first the most significant step that we have to do is requirement collection with the better research analysis. The goal of the requirement collection and analysis in software engineering is to develop the most sophisticated and maintained proper descriptive documentation to build the new software at the optimum time frame. It has a four step process to be completed, which are:😎✌

  • ·       Feasibility Study
  • ·       Requirement Gathering
  • ·       Software Requirement Specification
  • ·       Software Requirement Validation
cc

·        

2. Planning

After completion of requirements collection, the project requirements are reviewed and a decision is taken as to whether a further actions will proceed. If it's decided to continue, plans for the next phase of the project will be drawn up. Main purpose of the project planning phase is to define requirements of information technology deriving from business objectives. The development strategy, benefits, and appropriate estimate of the conceptual design development costs are calculated during this process. First, we initiate the project by set of the project planning. Then, we Identify user expectations, specifications and functionality for system efficiency, current technology infrastructure, existing information technology system, potential technology considerations and the effect or gap analysis on relevant systems. Some more of the process except we mention above are following:

  • ·       Developed the conceptual design of the new.
  • ·       Assess factors, such as distance, expense, schedule, resources, staff and training.
  • ·       Analyze costs and advantages, and consider alternatives.
  • ·       Develop and approve the Plan for the project.
  • ·       Chart the business case that supports the new program to bring to management.

3. Development

After requirement and planning the development phase we will begin for the software development process which is the most significant phase to develop real software as per the stakeholder’s requirements. In the development phase, all the documents from the previous phase are transformed into the actual system. The purpose of the Development Phase is to convert the system design prototyped in the Design Phase into a working information system that addresses all documented system requirements. At the end of this phase, the working system will enter the Test Phase. In the design phase, only the blueprint of the IT infrastructure is provided, whereas in this phase the organization actually purchases and installs the respective software and hardware in order to support the IT infrastructure. Following this, the creation of the database and actual code can begin to complete the system on the basis of given specifications. Implementation/Coding starts once the developer gets the Design document. The Software design is translated into source code. All the components of the software are implemented in this phase.

4. Testing

In the testing phase, all the pieces of code are integrated and deployed in the testing environment. Testers then follow Software Testing Life Cycle activities to check the system for errors, bugs, and defects to verify the system’s functionalities work as expected or not, often. The two primary activities involved in the testing phase are as follows:

  • 1.    Writing test cases
  • 2.    Execution of test cases

Testing is a critical part of software development life cycle. To provide quality software, an organization must perform testing in a systematic way. Once test cases are written, the tester executes them and compares the expected result with an actual result in order to verify the system and ensure it operates correctly. Writing test cases and executing them manually is an intensive task for any organization, which can result in the success of any business if executed properly.

 

5. Deployment & Maintenance

Once the product is tested, it is deployed in the production environment or first UAT (User Acceptance testing) is done depending on the customer expectation. During this next phase the system will be deployed to a real-life environment (the client's) where the actual user will start operating the system. It then places all data and components in the production environment. This phase is also called 'delivery.'

 Then, Any necessary improvements, corrections and changes will be made in the maintenance phase to ensure that the system continues to work and remains updated to meet the business goals. Occasionally, the system needs to be maintained and upgraded so it can adapt to future needs. The three primary activities involved in the maintenance phase are as follows:

  • 1.    Support the system users
  • 2.    System maintenance
  • 3.    System changes and adjustment



Comments

Popular posts from this blog

Waterfall Model (Theory)

Dynamic NAT vs Static NAT

Network Security And it's Importance