Software Development Life Cycle (SDLC) is the process of creating a new software or system.Software Development Life Cycle (SDLC) is the process of creating a new software or system.

Software Development Life Cycle (SDLC) is the process of creating a new software or system. In other words these are the models and methodologies that experts use to develop the system. In software engineering the SDLC concept reinforces many kinds of software development techniques. These techniques process the framework for planning and controlling the creation of software. The software development life cycle (SDLC) is the process of planning, writing, modifying, and maintaining software. Developers use the methodology as they design and write modern software for computers, cloud deployment, mobile phones, video games, etc. In IT, the term “life cycle” was first time used in the 1950s to describe the stages involved in developing a new computer system, but it is now commonly used to refer to all the stages in the production of any type of software.

Different Phases of Software Development Life Cycle

Software Development Life Cycle

 

In this phase the problem to be solved or system to be developed is clearly defined. All the requirements are documented and approved from the customer or the company which consists of all the product requirements to be designed and developed during the development life cycle.

Example: Students’

 Examination System Developmen

Defining the problem: A Students’Examination System is needed to be developed that covers all the aspects from Examination taking to the Students’ results generations.

 

In the project planning phase, the project’s goal is identified, and the necessary requirements for product development are assessed. A thorough evaluation of resources, including personnel and costs, is conducted, accompanied by the conceptualization of the new product. The gathered information undergoes analysis to explore potential alternative solutions. If no feasible alternatives are found, the data is organized into a comprehensive project plan, which is then presented to management for approval.

Example: In the Students’ Examination System Development project planning will be made to set the ultimate goals and an estimate of resources, such as personnel and costs, is prepared.

Feasibility study is an essential aspect of project planning and decision-making in the Software Development Life Cycle (SDLC). It involves evaluating various dimensions to determine the viability and practicality of developing a proposed system.Feasibility study is the analysis and evaluation of a proposed system, to determine, whether it is technically, financially/economically, legally and operationally feasible within the estimated cost and time. Different feasibility studies are explained as follows.

Technical Feasibility:

Technical feasibility assesses the practicality of implementing a proposed project from a technological standpoint. It involves evaluating whether the necessary technology (hardware, software), tools and resources are available or can be developed to support the system.

Example: Consider the Students’ Examination System Development project

Technical Feasibility Considerations: The developing company will evaluate whether the existing infrastructure (hardware/software) can support the proposed system.

Economic Feasibility: Economic feasibility evaluates the financial viability of a proposed system by comparing its costs and benefits.

Operational Feasibility: Operational feasibility assesses the extent to which a proposed system aligns with the organization’s operational processes and goals.

Legal Feasibility: Legal feasibility evaluates whether a proposed system complies with applicable laws, regulations, and standards.

Schedule Feasibility: Schedule feasibility assesses whether a system can be completed within a specified timeframe.

During the analysis phase the project team determines the end-user requirements. Frequently, this process involves the aid of client focus groups, who articulate their requirements and expectations for the new system’s performance.

 In this phase, the in-charge of the project team must decide whether the project should go ahead with the available resources or not. Analysis is also looking at the existing system to see what and how it is doing its job. The project team asks the following questions during the analysis.

  • The proposed software system be developed with the available resources and total budget?
  • Will this system significantly improve the organization?
  • Does the existing system even need to be replaced etc.?Example: The school Student Examination System Development project is analyzed for development. The project team will visit the College to study the existing system and will suggest the possible improvements.

Requirement Engineering is a crucial phase in the Software Development Life Cycle (SDLC) that focuses on gathering, analyzing, documenting, and managing requirements for the development of the proposed system. This phase lays the foundation for the subsequent stages of development and ensures that the software meets the needs and expectations of stakeholders (e.g. End users). The Requirement engineering consist of the following steps.

  • Requirement gathering
  • Requirement validation
  • Requirements management

Requirement Gathering

Requirements gathering is a pivotal stage in the Software Development Life Cycle (SDLC), aiming to identify and document the needs and expectations of stakeholders. Various techniques are employed for this purpose, and they can be broadly classified into different types. Below are some typical types of requirement gathering types with examples.

  1. Interviews: It involves direct conversations with stakeholders to gather information about their needs, expectations, and preferences.

Example: In the Students’

Examination System Development project the business analyst conducts interviews with key users and managers to understand their requirements for a new customer relationship management (CRM) system.

  1. Surveys and Questionnaires: This method involves distributing surveys or questionnaires to collect information from a large number of stakeholders.

Example: In the context of developing a Students’ Examination System for a college, surveys or questionnaires could be distributed to gather information from students, faculty, and administrators. For example, the IT team might send out a survey to students and faculty members to collect feedback on the user interface and functionality of the proposed examination system.

iii. Observation: This technique involves observing users in their natural work environment to understand how they currently perform tasks and identify areas for improvement.

Example: In the context of developing a Students’ Examination System for a college, the observation method involves actively watching and understanding how students, faculty, and administrators currently handle examination-related tasks in their work environments. For instance, designers could observe students during examination times, noting how they submit papers, how faculty members manage grading, and how administrators oversee the overall process. This direct observation allows the project team to identify weak areas, inefficiencies, or areas for improvement in the existing examination system.

  1. Document Analysis: This approach includes reviewing existing documentation, reports, and manuals to extract relevant information about the current system or processes.

Example: For the Students’ Examination System Development project, the development team could analyze academic policies, grading criteria, and any previous reports on examination processes to extract relevant information.

Requirements Validation

Requirement validation focuses on scrutinizing the gathered requirements to ensure they align with the stakeholders’ intentions. This process distinguishes itself from verification, which takes place after requirements have been accepted. During requirements validation, a thorough review is conducted to verify the completeness and accuracy of the elicited requirements.

Example: In the context of the Students’ Examination System development project, once the initial requirements for the examination system are compiled, the project team engages in requirement validation by carefully examining each specification. This ensures that the proposed features and functionalities accurately reflect the expectations of students, faculty, and administrators involved in the examination process.

Requirements Management

Requirements management is a continual process aimed at guaranteeing that the software consistently fulfills the expectations of both the acquirer and users. It involves the collection of new requirements that may emerge due to evolving expectations, changing regulations, or other sources of modification.

Example: In the context of the Students’ Examination System development project, as the Students’ Examination System evolves, requirements management becomes essential. This involves actively seeking and incorporating new requirements that may arise from feedback sessions with users, changes in academic policies, or advancements in examination methodologies. Continuous requirements management ensures that the examination system adapts to the dynamic needs of the educational environment.

The design phase in the Software Development Life Cycle (SDLC) is a crucial step where the system architecture is planned and detailed specifications are created based on the requirements gathered during the analysis phase. Unified Modeling Language (UML) and various Design patterns play significant roles in this phase. Unified Modeling Language (UML) is a standardized visual modeling language widely used in software engineering and system design. It plays a crucial role in the Software Development Life Cycle (SDLC) by providing a common notation that allows developers, analysts, and stakeholders to communicate and visualize the different aspects of a system. Design patterns play a pivotal role in the SDLC by offering reusable solutions, promoting best practices, enhancing communication among team members, and contributing to the creation of maintainable and scalable software systems. They are valuable tools for software engineers striving to build high-quality, robust, and efficient software solutions. The design phase normally consists of two simple structures.

  • Algorithms
  • Flow chart

 

  1. Algorithms

Algorithms are precise and systematic procedures designed to guide the step-by-step solution of a problem. They provide a structured and detailed set of instructions for solving a particular problem or performing a specific task.

Example: In the Students’ Examination System Development project the following algorithms will find the result of a student using percentage marks.

  1. Flow chart

In the development/coding phase, developers translate the plans formulated in the design phase into actions.They develop the database structures, design codes for the data flow processes, and design the tangible user interface screens. This stage involves the preparation and iterative processing of test data to enhance the precision and efficiency of the written code. The actual coding is carried out using programming languages, a process commonly referred to as Computer coding.

Example: In the Students’ Examination System development project, developers create the database structure, specifying how the system will store and retrieve exam-related data. They write code for the flow of information within the system, ensuring seamless processes from question generation to result compilation. Additionally, user interface screens are precisely designed to provide a user-friendly environment for 9. students, faculty, and administrators interacting with the examination system. Throughout this phase, rigorous testing using prepared test data is performed to identify and rectify any issues, contributing to the creation of a robust and efficient examination system.by using coding calculate students’ percentage marks in a subject for the Students’ Examination System Development project.

 

In the testing/verification phase, all aspects of the system are tested for functionality and performance. Testing involves the execution of programming modules to detect errors, commonly known as bugs. The primary goal of testing is to assess specific attributes or capabilities of a program or system, ensuring that they are aligned with the required specifications. It involves checking items for consistency by comparing results against predetermined requirements. Software testers employ various techniques, including black box and white box testing, to identify and eliminate all identified bugs or errors before the final product is released. The process of error identification and removal is referred to as debugging.

Black Box Testing: Black Box

Testing is a software testing method where the internal workings or logic of a system are not known to the tester. The focus is on evaluating the system’s outputs based on specified inputs without considering its internal code structure.

Example: Login Functionality of a Web ApplicationScenario: Testing the login

functionality of a web application.

Tester’s Perspective: The tester does not have access to the source code or knowledge of the internal implementation details.

Test Cases:

Input: Valid username and password, Expected Output: Successful login.

Input: Incorrect password, Expected Output: Login failure.

Input: Invalid username, Expected Output: Login failure.

The Deployment/Implementation Phase involves a series of activities aimed at making the software/system accessible for use. During this phase, the finalized software is handed over to users, making the transition from development to utilization.The main activities that are involved during deployment/implementation phase are:

Installation and activation of the hardware and software.

  • In some cases the users and the computer operation personals are trained on the developed software system.
  • Conversion: The process of changing from the old system to the new one is called conversion.
  • Deployment/Implementation Methods . The deployment or implementation of a system can be executed through various methods
  1. Direct: In this method, the old system is entirely replaced by the new system simultaneously. The transition is abrupt, and once implemented, the old system becomes obsolete.

Parallel: The parallel method involves running both the old and new systems concurrently for a certain period. This approach allows for the identification and rectification of major issues with the new system without risking data loss.

iii. Phased: The phased implementation method facilitates a gradual transition from the old system to the new one. It involves the incremental introduction of the new system while progressively phasing out the old system.

  1. Pilot: In the Pilot method, the new system is initially deployed for a small user group. These users engage with, assess, and provide feedback on the new system. Once the system is deemed satisfactory, it is then rolled out for use by all users.

Old System/Direct /Old System

Parallel/Old System Phased

Old System/New System Pilot

In SDLC, developing good user documentation is an important part of the implementation process. Documentation serves as a method of communication among the people responsible for developing, implementing, and maintaining the newly developed system. Installing and operating a newly designed system or modifying an established application requires a detailed record of that system’s design. Documentation is extremely important in diagnosing errors and making changes, especially if the systems analysts who developed a system are no longer with the organization.

In SDLC, the system maintenance is an ongoing process. The system is monitored continually for performance in accordance with user requirements and needed system modifications are incorporated. When modifications are identified, the system may reenter the planning phase. This process continues until a complete solution is provided to the customer. Maintenance can be either be repairing or modification or some enhancement in the existing system.

By ilmge.com

i am a professional blogger and Teacher of high level School and College

2 thought on “Software Development Life Cycle (SDLC)”
  1. Just wish to say your article is as amazing. The clarity to your publish is simply excellent and i can assume you’re knowledgeable in this subject. Well together with your permission allow me to take hold of your feed to keep up to date with coming near near post. Thanks one million and please carry on the gratifying work.

  2. Hi there, I found your website via Google while searching for a related topic, your web site came up, it looks great. I have bookmarked it in my google bookmarks.

Leave a Reply

Your email address will not be published. Required fields are marked *