sdlc - software development life cycle
TRANSCRIPT
![Page 1: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/1.jpg)
Understanding on Software Development Life Cycle (SDLC)
Presented by – Suresh Koujalagi
![Page 2: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/2.jpg)
Definition and StagesIt is a process used by software (IT) industry to design, implement and test high quality software's and for Modify or replace specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.
The various Stages of SDLC. 1. Planning/ requirement gathering 2. Analysis3. Design 4. Coding/ Development5. Testing 6. Deployment
Deployment SDLC Design
Planning/ requirement gathering
Analysis
TestingCoding/
Development
![Page 3: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/3.jpg)
Preliminary Investigation:• What are the basic requirements & functions of the proposed system? Can we complete the proposed system be in time
to be useful? How much will it cost – do we have enough budgeted for it?
Requirements Definition:• What features are important? What do the users need it to do? What restrictions (site, environment, materials
availability) are there? What software do we need? What hardware do we need to run it? What connectivity do we need?
Design:• What do we need the system to output? What inputs do we have available? What processing do we need to do to turn
the input into the output? Is there an existing system we can leverage to do this? Can we buy a boxed product or make our own? Does the boxed product meet our requirements? If we need to build our own, what components will we need?
Construction:• Put all the objects gathered in the design phase. Redesign if the system does not work. Do we have sufficient training
material & documentation?
Deployment:• Are the users and support staff trained? What bugs are there? Does everyone agree that the system meets the
requirements?
Maintenance:• What new features are requested? What new regulations does it need to comply to? What training will new employees
need?
Obsolescence:• What safety hazards are there? Can we trade the hardware in or recycle it?
Description of each Stages
![Page 4: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/4.jpg)
6 Basic SDLC Methodologies1. Waterfall Model: Waterfall is the oldest and most straightforward of the structured SDLC methodologies — finish one phase, then move on to the next. No going back.
2. V-Shaped Model: Also known as the Verification and Validation model, the V-shaped model grew out of Waterfall and is characterized by a corresponding testing phase for each development stage. Like Waterfall, each stage begins only after the previous one has ended.
3. Iterative Model: The Iterative model is repetition incarnate. Instead of starting with fully known requirements, you implement a set of software requirements, then test, evaluate and pinpoint further requirements. A new version of the software is produced with each phase, or iteration. Rinse and repeat until the complete system is ready.
4. Spiral Model: One of the most flexible SDLC methodologies, the Spiral model takes a cue from the Iterative model and its repetition; the project passes through four phases over and over in a “spiral” until completed, allowing for multiple rounds of refinement.
5. Big Bang Model: A bit of an anomaly among SDLC methodologies, the Big Bang model follows no specific process, and very little time is spent on planning. The majority of resources are thrown toward development, and even the client may not have a solid grasp of the requirements.
6. Agile Model: By breaking the product into cycles, the Agile model quickly delivers a working product and is considered a very realistic development approach. The model produces ongoing releases, each with small, incremental changes from the previous release. At each iteration, the product is tested.
![Page 5: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/5.jpg)
Waterfall Model: The Waterfall Model was first Process Model to be introduced. It is also referred to as a linear-sequential life cycle model. It is very simple to understand and use.
When to use the waterfall model: This model is used only when the requirements are very well known, clear and fixed. Product definition is stable. Technology is understood. There are no ambiguous requirements Ample resources with required expertise are available freely The project is short.
Requirement Analysis
Design
Implementation
Testing
Deployment
Maintenance
![Page 6: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/6.jpg)
V-Shaped Model: V- model means Verification and Validation model. Just like the waterfall model, the V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins.
When to use the waterfall model: The V-shaped model should be used for small to medium sized projects where requirements are clearly
defined and fixed. The V-Shaped model should be chosen when ample technical resources are available with needed technical
expertise.
Code
Unit TestingCoding
Component TestingLLD (Low Level Design)
System Integration Testing
HLD (High Level Design)
System TestingSRS (System Req Specifications)
Acceptance TestingBRS (Business Req Specifications)
Developers Life Cycle (Verification Phases)
Testers Life Cycle (Verification Phases)
![Page 7: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/7.jpg)
Iterative Model: An iterative life cycle model does not attempt to start with a full specification of requirements. Instead, development begins by specifying and implementing just part of the software, which can then be reviewed in order to identify further requirements. This process is then repeated, producing a new version of the software for each cycle of the model.
When to use the waterfall model: Requirements of the complete system are clearly defined and understood. When the project is big. Major requirements must be defined; however, some details can evolve with time.
Design 0
Implementation 0
Analysis 0
Design 0
Implementation 0
Analysis 0
Design 0
Implementation 0
Analysis 0
![Page 8: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/8.jpg)
Spiral Model: The spiral model is similar to the incremental model, with more emphasis placed on risk analysis. The spiral model has four phases: Planning, Risk Analysis, Engineering and Evaluation. A software project repeatedly passes through these phases in iterations (called Spirals in this model). The baseline spiral, starting in the planning phase, requirements are gathered and risk is assessed. Each subsequent spirals builds on the baseline spiral.
When to use the waterfall model: When costs and risk evaluation is important For medium to high-risk projects Long-term project commitment unwise because of potential changes to economic priorities Users are unsure of their needs Requirements are complex New product line Significant changes are expected (research and exploration)
![Page 9: SDLC - Software Development Life Cycle](https://reader036.vdocuments.us/reader036/viewer/2022081818/589ddb771a28ab77148b51c9/html5/thumbnails/9.jpg)
Agile Model: Agile development model is also a type of Incremental model. Software is developed in incremental, rapid cycles. This results in small incremental releases with each release building on previous functionality. Each release is thoroughly tested to ensure software quality is maintained. It is used for time critical applications. Extreme Programming (XP) is currently one of the most well known agile development life cycle model.
When to use the waterfall model: When new changes are needed to be implemented. The freedom agile gives to change is very important. New
changes can be implemented at very little cost because of the frequency of new increments that are produced. To implement a new feature the developers need to lose only the work of a few days, or even only hours, to
roll back and implement it. Unlike the waterfall model in agile model very limited planning is required to get started with the project. Agile
assumes that the end users’ needs are ever changing in a dynamic business and IT world. Changes can be discussed and features can be newly effected or removed based on feedback. This effectively gives the customer the finished system they want or need.
Both system developers and stakeholders alike, find they also get more freedom of time and options than if the software was developed in a more rigid sequential way. Having options gives them the ability to leave important decisions until more or better data or even entire hosting programs are available; meaning the project can continue to move forward without fear of reaching a sudden standstill.