Management Notes

Reference Notes for Management

System Development Life Cycle (SDLC) Models – 7 Major Models of SDLC | Management Information System

System Development Life Cycle (SDLC) Models

A System Development Life Cycle (SDLC) is a framework for software development, which includes the following types:

  • Waterfall Model: The linear sequential model should be used for projects with well-defined requirements and a limited scope. It is typically used for projects with well-defined requirements.
  • Agile Model: Iterative models are best suited to projects with rapidly changing requirements and high levels of uncertainty. This model allows for flexibility and constant adaptation to changing requirements.
  • Spiral Model: Waterfall and Agile are combined in this process, where development takes place in multiple iterations. Each iteration involves risk analysis, design, and implementation.
  • V-Model: Each phase of the development process is represented by a V shape in this graphical representation of the Waterfall Model.
  • Incremental Model: A software development model is iterative, where each increment builds upon the previous one.
  • Rapid Application Development (RAD) Model: Rapid prototyping and iterative development are emphasized in this model for developing software quickly.
  • Prototype Model: In this model, a working prototype of the software is quickly developed, and then refined and updated based on feedback from users. A project’s specific needs determine which SDLC model to use, since each model has its own strengths and weaknesses.

A) Waterfall Model

System Development Life Cycles (SDLCs) based on the Waterfall Model consist of the following stages:

  • The first stage in the project development process involves identifying stakeholder groups, defining business requirements and defining the scope of the project. A feasibility study is also conducted to determine the project’s technical and economic viability.
  • The design stage includes the user interface design, the database design, as well as the architecture of the system based on the requirements collected in the previous stage.
  • In the implementation stage, the actual software development takes place, including writing and testing code, as well as integrating any necessary components.
  • A comprehensive testing process ensures that the software meets all requirements, and any defects are identified and corrected before release.
  • Software deployment refers to making it available to end users by deploying it.
  • To keep the system running smoothly, maintenance and support are provided during this final stage.

The development of accounting software for a small business would be a good example of a Waterfall Model project. During the requirements gathering and analysis phase, the business requirements would be identified, the architecture and user interface would be designed, the code would be written and tested during the implementation phase, the deployment stage would require that the software be installed for the business, and the maintenance stage would require that the software be maintained.

As long as the requirements are well-defined and the scope of the project is limited, Waterfall Models are suitable for projects with a linear development process.


B) Agile Model

Agile is an iterative and flexible model of System Development Life Cycle (SDLC) that emphasizes constant configuration of requirements. It is made up of the following principles:

  • A software development process in which the software is developed in small iterations, building upon the previous phase, is known as iterative development.
  • All stakeholders, including developers, business stakeholders, and end users, are encouraged to collaborate in the Agile Model.
  • Due to the flexibility of the Agile Model, software requirements and designs can be modified as needed.
  • The Agile Model involves continuous feedback and communication between stakeholders to make sure the software meets their needs.
  • An agile model emphasizes the delivery of working software instead of extensive documentation.
  • It is often implemented by using an Agile methodology, such as Scrum, Kanban, or Extreme Programming (XP), which defines roles, ceremonies, and practices that support the Agile model.

Developing a new mobile app using the Agile Model, for example, would involve working in small iterations, delivering little pieces of functionality and getting feedback every few weeks from stakeholders.

In order to deliver working software, with the minimum amount of documentation, the requirements and design of the app can be flexible and adaptable to changing user needs.

Projects with rapidly changing requirements and a high degree of uncertainty are best suited to the Agile Model, which emphasizes adaptability and flexibility.

C) Spiral Model 

An iterative model that allows both risk analysis and development to occur simultaneously, the Spiral Model of System Development Life Cycle (SDLC) is derived from the Waterfall and Agile models. It is made up of the following stages:

  • During this stage, the project’s objectives and constraints are clarified, and a plan for its implementation is developed.
  • An assessment of technical and business risks is conducted during this stage of the project.
  • As part of the engineering process, the software is designed, developed, and tested.
  • This stage involves evaluating whether the software meets the project’s objectives and constraints, as well as whether its risks have been mitigated.
  • Spiral Model is a cycle of these four stages, with each iteration building upon the previous one. Each iteration aims to reduce project risks and increase understanding.

A new financial management system for a large organization is an example of a project that could use the Spiral Model. At the planning stage, the project’s objectives and constraints will be defined, while at the risk analysis stage, the project’s risks will be identified and evaluated.

At the engineering stage, software would be developed, and at the evaluation stage, software would be evaluated to determine if it meets the organization’s needs. Each iteration of the spiral model builds on the previous one and reduces the overall project risk. As the spiral model allows for risk analysis and development to take place simultaneously, it is best suited for complex, high-risk projects that can be adapted based on the results of each iteration.

D) V Model 

System Development Life Cycle (SDLC) is a sequential model for linking software development stages with testing stages. It consists of the following stages:

  • A software requirement is defined and analyzed during this stage, which includes defining both functional and non-functional requirements.
  • This stage involves the creation of the software design, in which the requirements defined in the previous stage are outlined.
  • During the implementation stage, the actual development of the software takes place, including coding and testing.
  • A complete system is integrated and tested to ensure that all software components work together as expected.
  • The end user or stakeholder tests the software to determine whether it meets their needs during the acceptance testing stage.
  • By linking each development stage with a corresponding testing stage, the V Model ensures that all requirements are tested as well as that defects are identified as early as possible.

Developing a new customer relationship management (CRM) system for a sales organization is an example of a project that can use the V Model. The requirements stage would involve defining the functional and non-functional requirements of the CRM system, the design stage would involve creating the design for the CRM system, the implementation stage would involve coding and testing the individual components of the CRM system, the integration and system testing stage would involve integrating the individual components into a complete system and testing the system as a whole, and the acceptance testing stage would involve testing the CRM system by the sales organization to determine if it meets their needs.

In order for the V Model to be effective, the requirements must be well defined and stable, and they must be separated into phases for development and testing. The rigorous testing process ensures that the software meets the needs of stakeholders and end users, so it is also well suited for projects where a high level of quality is required.

E) Incremental Model 

Iterative software development, referred to as the incremental model, entails developing software in small, manageable increments over time. The incremental model consists of the following phases:

  • The requirements stage is where the functional and non-functional requirements of the software are defined and analyzed.
  • This stage involves the creation of the software design, in which the requirements defined in the previous stage are outlined.
  • During the implementation stage, the actual development of the software takes place, including coding and testing.
  • This stage involves integrating the individual components of the software into a complete system.
  • The software is evaluated in this stage to determine if the individual components work together and whether they meet the requirements.
  • Each increment of the Incremental Model builds upon the previous one, adding new features and refining the existing ones. This is an iterative process. Each increment aims to deliver a usable subset of the software that stakeholders and users can evaluate.

The development of an e-commerce website for an online retailer would be an example of a project that could use the Incremental Model. The requirements stage would involve defining the functional and non-functional requirements of the website, the design stage would involve creating the design for the website, the implementation stage would involve coding and testing individual components of the website, the integration stage would involve integrating the individual components into a complete system, and the evaluation stage would involve evaluating the website to determine if it meets the needs of the retailer and if the individual components work together as expected.

The Incremental Model is best suited for projects that have complex and evolving requirements, as it allows for changes to be made to the software as the project progresses, based on the feedback received from stakeholders and end users. It is also well-suited for projects that have limited resources, as each increment can be completed with a smaller subset of the overall team, reducing the risk of burnout or turnover.

F) Rapid Application Development (RAD) Model 

Software development is iterated using the Rapid Application Development (RAD) Model of the System Development Life Cycle (SDLC). RAD Model consists of the following stages:

  • The requirements stage is where the functional and non-functional requirements of the software are defined and analyzed.
  • To test and validate the requirements defined in the previous stage, a rapid prototype of the software is created. This prototype is then used to gather feedback from stakeholders and end users.
  • During this stage, the actual development of the software component takes place, including coding and testing.
  • This stage involves integrating the individual components of the software into a complete system.
  • After the software has been deployed and maintained, any defects and changes that need to be made are addressed based on feedback received from stakeholders and end users.
  • Rapid prototyping is used to gather feedback and validate requirements using the RAD Model. This reduces the risk of creating software that doesn’t satisfy stakeholders’ needs.

For example, the development of a new mobile app for a restaurant would be an appropriate project to use the RAD Model. The requirements stage would involve defining the functional and non-functional requirements of the app, the rapid prototyping stage would involve creating a rapid prototype of the app to test and validate the requirements, the development stage would involve coding and testing individual components of the app, the integration stage would involve integrating the individual components into a complete system, and the deployment and maintenance stage would involve deploying the app and fixing any defects and making any necessary changes based on the feedback received from the restaurant.

As the RAD Model allows for rapid and easy software changes based on feedback from stakeholders and end users, it is best suited for projects with fast-paced and rapidly changing requirements. Rapid prototyping is also ideal for projects requiring a high degree of user involvement, since it encourages stakeholders and end users to participate early and in the development process.

G) Prototype Model

In System Development Life Cycle (SDLC), prototypes are created before actual development begins, in order to test the final product.

  • In the prototype model, the first step is to define the system’s goals, objectives, and desired features. The next step is to develop the prototype.
  • After the initial concept is defined, a rapid prototype of the system is created, which serves as a visual representation of the product’s functionality and serves as a simplified version of the final product.
  • Using feedback from stakeholders, the prototype is refined and improved based on feedback about its functionality and design.
  • A prototype is developed in iterative stages based on the stakeholders’ feedback until it meets their expectations and meets all their requirements.
  • A final prototype is built based on the refined and tested prototype, and the final product is built based on the final prototype.

The prototype model can be applied to web-based systems, mobile applications, and software development tools. The development of a mobile application, for example, might begin with a simple prototype that shows off the app’s main features. In order to create a final product, this prototype is refined and improved based on the feedback of users.

As a result, SDLC’s prototype model allows for rapid prototyping and iterative development that is cost-effective and efficient. As a result, it reduces the risk of costly rework and delays in the final product by validating the concept and gathering feedback before actual development starts.

Leave a Comment