Strategic Planning for/of Information Systems
SYSTEM INTEGRATION AND ARCHITECTURE
SDLC
LET’S GET STARTED
Take note every single word
- Definition of SDLC
What is SDLC?
01
- Describe SDLC phases
Software Development Life Cycle: Phase
02
- Predictive SDLC Models
-Adaptive SDLC Models
Models of SDLC
03
-Choose perfect model for your project
How to choose SDLC model
04
AGENDA:
-
Conclusion
05
WHAT IS
SDLC?
DEFINITION
SDLC or the Software Development Life Cycle is a process
that produces software with the highest quality and lowest
cost in the shortest time possible. SDLC provides a well-
structured flow of phases that help an organization to quickly
produce high-quality software which is well-tested and ready
for production use.
It’s also important to know that there is a strong focus on the
testing phase. As the SDLC is a repetitive methodology, you
have to ensure code quality at every cycle. Many
organizations tend to spend few efforts on testing while a
stronger focus on testing can save them a lot of rework,
time, and money. Be smart and write the right types of tests.
There are many different SDLC models in software
engineering, and they vary according to many factors. Still,
the sequence of software life cycle phases usually remains
the same, with a few exceptions. Let’s see what software life
cycle phases there are and what should be done during
each.
Software Development
Life Cycle: Phase
1. Requirement Phase
This is the first and fundamental step in the Life Cycle of Software Development. It starts
with gathering the requirements from customers or clients. In most organizations, this role is
taken care of by Business Analysts. A Business Analysts interacts with the customer/clients,
set up daily meetings, document the requirements in Business Requirement Specifications
(or Simple Business Specification), and hand over the final documented requirement to the
development team. It is the responsibility of Business Analysts that every detail is captured
and documented and also to make sure that everyone clearly understands the client
requirements.
2. Analysis Phase
Once the Requirement Gathering phase is completed, the next task is to analyze the
requirements and get them approved by the customer/clients. This is achieved through
Software Requirement Specification (SRS), which consists of all the requirements gathered
and developed during the Requirements Gathering phase. This phase is mainly done by
Project Managers, Business Analysts, and Consultants
3. Design Phase
Once the Analysis Phase is over, next comes the
need to come up with the most accurate, robust,
efficient and cost-effective architecture of the
product that needs to be developed. Usually,
more than one design is proposed in this phase,
and the best one is selected based on different
parameters such as robustness, durability,
timeline, cost-effectiveness, and many more! The
different design architecture is generally
documented in Design Document Specification or
DDS.
This phase consists of 2 design approaches:
Low-Level Design: This task is performed by the
Senior Developers where they specify the
function of each module of the product
architecture that has to be developed.
High-Level Design: This task is performed by
Architects/Senior Architects where they design
different possible architectures of the product that
has to be developed.
Software Development Life Cycle: Phase
4. Development Phase
This phase is where the actual implementation of programming languages and different
frameworks are being utilized for the development of the product. In this phase, all
developers are involved. Developers are expected to follow certain predefined coding
standards and guidelines; they are expected to complete the project modules within the
defined deadline for the project. This phase is also the longest and one of the most critical
phases in the Software Development Life Cycle. This phase is documented as a Source
Code Document (SCD).
5. Testing Phase
Once the Development phase is completed, the next step is to test the developed software.
The developed software is sent to the testing team, where they conduct different types of
testing thoroughly on the software and look for defects. If any defect is found, the testing
team records and document which is again sent back to the development team for error
removal. This role is taken care of by Software Testers and Quality Analysts of the company.
The testing team has to make sure that each component of the software is error-free and it
works as expected.
6. Deployment and Maintenance Phase
After the testing phase is over, the first version
of the software is deployed and delivered to
the customer for their use. Once the customer
starts using the developed software, there is
the scope of bug fixing that was not detected
during the testing phase as when a large group
of end-users starts using the software; there
could be some probability that few boundary
cases might have been missed. There is also
scope for upgrading the software with newer
versions and the latest security patches and
technologies. And finally, there is also scope
for enhancement of the software by adding
more features into the existing software..
Popular SDLC Models
SDLC
MODELS
 Waterfall
Model  Iterative
Model
 Spiral Model
 V-Model
 The waterfall is a cascade SDLC model
that presents the development process
like the flow, moving step by step
through the phases of analysis,
projecting, realization, testing,
implementation, and support. This
SDLC model includes gradual execution
of every stage. Waterfall implies strict
documentation. The features expected
of each phase of this SDLC model are
predefined in advance.
Waterfall
Model
SDLC MODEL
Waterfall Model
ADVANTAGE DISADVANTAGE
Simple to use and understand The software is ready only after the last stage is
over
Management simplicity thanks to its rigidity: every
phase has a defined result and process review
High risks and uncertainty
Development stages go one by one Not the best choice for complex and object-
oriented projects
Perfect for the small or mid-sized projects where
requirements are clear and not equivocal
Inappropriate for the long-term projects
Easy to determine the key points in the
development cycle
The progress of the stage is hard to measure while
it is still in the development
Easy to classify and prioritize tasks Integration is done at the very end, which does not
give the option of identifying the problem in
advance
 This model starts with a smaller set of
requirements, and it does not need the full
context of product specification in order to
start the SDLC process. This process is
repetitive, and on each iteration of the SDLC
process, a newer version of the software is
made. Each iteration may be between 2-6
weeks. Each iteration develops a separate
component in this approach. This model also
requires a mode resource than the waterfall
model.
Iterative
Model
SDLC MODEL
Iterative Model
ADVANTAGE DISADVANTAGE
Some functions can be quickly developed at the
beginning of the development lifecycle
Iterative model requires more resources than the
waterfall model
The paralleled development can be applied Constant management is required
The progress is easy measurable Issues with architecture or design may occur
because not all the requirements are foreseen
during the short planning stage
The shorter iteration is – the easier testing and
debugging stages are
Bad choice for the small projects
It is easier to control the risks as high-risk tasks are
completed first
The process is difficult to manage
Problems and risks defined within one iteration can
be prevented in the next sprints
Integration is done at the very end, which does not
give the option of identifying the problem in advance
 This model starts with a smaller set of
requirements, and it does not need the full
context of product specification in order to
start the SDLC process. This process is
repetitive, and on each iteration of the SDLC
process, a newer version of the software is
made. Each iteration may be between 2-6
weeks. Each iteration develops a separate
component in this approach. This model also
requires a mode resource than the waterfall
model.
 This model is a combination of a Waterfall
and Spiral model, and it works in an iterative
manner. Based on the risk involved in the
project, this model guides the team to adopt
elements of one or more SDLC models such
as a waterfall or Iterative model. Here the
lifecycle of Software is divided into smaller
parts, and new functionality can be added to
the software even at the late stages of SDLC.
Spiral
Model
SDLC MODEL
Spiral Model
ADVANTAGE DISADVANTAGE
Lifecycle is divided into small parts, and if the risk
concentration is higher, the phase can be finished
earlier to address the treats
Can be quite expensive
The development process is precisely documented
yet scalable to the changes
The risk control demands involvement of the
highly-skilled professionals
The scalability allows to make changes and add
new functionality even at the relatively late stages
Can be ineffective for the small projects
The earlier working prototype is done – sooner
users can point out the flaws
Big number of the intermediate stages requires
excessive documentation
 This model starts with a smaller set of
requirements, and it does not need the full
context of product specification in order to
start the SDLC process. This process is
repetitive, and on each iteration of the SDLC
process, a newer version of the software is
made. Each iteration may be between 2-6
weeks. Each iteration develops a separate
component in this approach. This model also
requires a mode resource than the waterfall
model.
 V model is basically an expansion to the
waterfall model where the testing and the
development phases are planned in parallel.
One side consists of the verification phase,
while the other one consists of the validation
phase, which is finally joined by coding. The
next state starts only when the previous state
gets completed.
V-Model
SDLC MODEL
V-Model
ADVANTAGE DISADVANTAGE
Every stage of V-shaped model has strict results
so it’s easy to control
Lack of the flexibility
Testing and verification take place in the early
stages
Bad choice for the small projects
Good for the small projects, where requirements
are static and clear
Relatively big risks
HOW TO CHOOSE THE SDLC
MODEL
When it’s time to choose the software development approach, there’s a strong chance of getting confused over
numerous options. However, if you learn a little about each, it all starts shaping up. Each software development
methodology has some significant distinctions that you may proceed from. In addition, it’s usually project or delivery
managers who are in charge of choosing the right approach. Their knowledge of the peculiarities of each methodology
noticeably facilitates the task.
Still, let’s find out what logic is implied in choosing the technique that will make the best fit for your project. Firstly, it’s
necessary to think about:
 How precise the requirements are
 How lengthy the project is
 How complex the project is
 How large the budget is
How extensive the client wants the documentation to be
As soon as you have answered these questions, you should integrate them with your knowledge about software
development techniques. Let’s briefly go over each question.
CONCLUSION
Methodologies eliminate the need to invent new management and
development techniques. They are a framework for the software
development process. Also, they provide every team member with a clearly
defined plan so that everyone understands what they’re doing, why, and
what’s the final goal.
Different models were created during the SDLC evolution to meet a wide
variety of development requirements and expectations. Nowadays, the world
is moving towards flexibility instead of excessive regularity and orderliness.
Still, agile approaches perfectly combine responsiveness and well-organized
project management.
Reference:
https://www.educba.com/what-is sdlc/
https://existek.com/blog/sdlc-models
THANK YOU
PREPARE ONE WHOLE SHEET OF PAPER

REPORT IN SYSTEM INTEGRATION AND ARCHITECTURE.pptx

  • 1.
    Strategic Planning for/ofInformation Systems SYSTEM INTEGRATION AND ARCHITECTURE SDLC
  • 2.
    LET’S GET STARTED Takenote every single word
  • 3.
    - Definition ofSDLC What is SDLC? 01 - Describe SDLC phases Software Development Life Cycle: Phase 02 - Predictive SDLC Models -Adaptive SDLC Models Models of SDLC 03 -Choose perfect model for your project How to choose SDLC model 04 AGENDA: - Conclusion 05
  • 4.
    WHAT IS SDLC? DEFINITION SDLC orthe Software Development Life Cycle is a process that produces software with the highest quality and lowest cost in the shortest time possible. SDLC provides a well- structured flow of phases that help an organization to quickly produce high-quality software which is well-tested and ready for production use. It’s also important to know that there is a strong focus on the testing phase. As the SDLC is a repetitive methodology, you have to ensure code quality at every cycle. Many organizations tend to spend few efforts on testing while a stronger focus on testing can save them a lot of rework, time, and money. Be smart and write the right types of tests. There are many different SDLC models in software engineering, and they vary according to many factors. Still, the sequence of software life cycle phases usually remains the same, with a few exceptions. Let’s see what software life cycle phases there are and what should be done during each.
  • 5.
    Software Development Life Cycle:Phase 1. Requirement Phase This is the first and fundamental step in the Life Cycle of Software Development. It starts with gathering the requirements from customers or clients. In most organizations, this role is taken care of by Business Analysts. A Business Analysts interacts with the customer/clients, set up daily meetings, document the requirements in Business Requirement Specifications (or Simple Business Specification), and hand over the final documented requirement to the development team. It is the responsibility of Business Analysts that every detail is captured and documented and also to make sure that everyone clearly understands the client requirements. 2. Analysis Phase Once the Requirement Gathering phase is completed, the next task is to analyze the requirements and get them approved by the customer/clients. This is achieved through Software Requirement Specification (SRS), which consists of all the requirements gathered and developed during the Requirements Gathering phase. This phase is mainly done by Project Managers, Business Analysts, and Consultants 3. Design Phase Once the Analysis Phase is over, next comes the need to come up with the most accurate, robust, efficient and cost-effective architecture of the product that needs to be developed. Usually, more than one design is proposed in this phase, and the best one is selected based on different parameters such as robustness, durability, timeline, cost-effectiveness, and many more! The different design architecture is generally documented in Design Document Specification or DDS. This phase consists of 2 design approaches: Low-Level Design: This task is performed by the Senior Developers where they specify the function of each module of the product architecture that has to be developed. High-Level Design: This task is performed by Architects/Senior Architects where they design different possible architectures of the product that has to be developed.
  • 6.
    Software Development LifeCycle: Phase 4. Development Phase This phase is where the actual implementation of programming languages and different frameworks are being utilized for the development of the product. In this phase, all developers are involved. Developers are expected to follow certain predefined coding standards and guidelines; they are expected to complete the project modules within the defined deadline for the project. This phase is also the longest and one of the most critical phases in the Software Development Life Cycle. This phase is documented as a Source Code Document (SCD). 5. Testing Phase Once the Development phase is completed, the next step is to test the developed software. The developed software is sent to the testing team, where they conduct different types of testing thoroughly on the software and look for defects. If any defect is found, the testing team records and document which is again sent back to the development team for error removal. This role is taken care of by Software Testers and Quality Analysts of the company. The testing team has to make sure that each component of the software is error-free and it works as expected. 6. Deployment and Maintenance Phase After the testing phase is over, the first version of the software is deployed and delivered to the customer for their use. Once the customer starts using the developed software, there is the scope of bug fixing that was not detected during the testing phase as when a large group of end-users starts using the software; there could be some probability that few boundary cases might have been missed. There is also scope for upgrading the software with newer versions and the latest security patches and technologies. And finally, there is also scope for enhancement of the software by adding more features into the existing software..
  • 7.
    Popular SDLC Models SDLC MODELS Waterfall Model  Iterative Model  Spiral Model  V-Model
  • 8.
     The waterfallis a cascade SDLC model that presents the development process like the flow, moving step by step through the phases of analysis, projecting, realization, testing, implementation, and support. This SDLC model includes gradual execution of every stage. Waterfall implies strict documentation. The features expected of each phase of this SDLC model are predefined in advance. Waterfall Model SDLC MODEL
  • 9.
    Waterfall Model ADVANTAGE DISADVANTAGE Simpleto use and understand The software is ready only after the last stage is over Management simplicity thanks to its rigidity: every phase has a defined result and process review High risks and uncertainty Development stages go one by one Not the best choice for complex and object- oriented projects Perfect for the small or mid-sized projects where requirements are clear and not equivocal Inappropriate for the long-term projects Easy to determine the key points in the development cycle The progress of the stage is hard to measure while it is still in the development Easy to classify and prioritize tasks Integration is done at the very end, which does not give the option of identifying the problem in advance
  • 10.
     This modelstarts with a smaller set of requirements, and it does not need the full context of product specification in order to start the SDLC process. This process is repetitive, and on each iteration of the SDLC process, a newer version of the software is made. Each iteration may be between 2-6 weeks. Each iteration develops a separate component in this approach. This model also requires a mode resource than the waterfall model. Iterative Model SDLC MODEL
  • 11.
    Iterative Model ADVANTAGE DISADVANTAGE Somefunctions can be quickly developed at the beginning of the development lifecycle Iterative model requires more resources than the waterfall model The paralleled development can be applied Constant management is required The progress is easy measurable Issues with architecture or design may occur because not all the requirements are foreseen during the short planning stage The shorter iteration is – the easier testing and debugging stages are Bad choice for the small projects It is easier to control the risks as high-risk tasks are completed first The process is difficult to manage Problems and risks defined within one iteration can be prevented in the next sprints Integration is done at the very end, which does not give the option of identifying the problem in advance
  • 12.
     This modelstarts with a smaller set of requirements, and it does not need the full context of product specification in order to start the SDLC process. This process is repetitive, and on each iteration of the SDLC process, a newer version of the software is made. Each iteration may be between 2-6 weeks. Each iteration develops a separate component in this approach. This model also requires a mode resource than the waterfall model.  This model is a combination of a Waterfall and Spiral model, and it works in an iterative manner. Based on the risk involved in the project, this model guides the team to adopt elements of one or more SDLC models such as a waterfall or Iterative model. Here the lifecycle of Software is divided into smaller parts, and new functionality can be added to the software even at the late stages of SDLC. Spiral Model SDLC MODEL
  • 13.
    Spiral Model ADVANTAGE DISADVANTAGE Lifecycleis divided into small parts, and if the risk concentration is higher, the phase can be finished earlier to address the treats Can be quite expensive The development process is precisely documented yet scalable to the changes The risk control demands involvement of the highly-skilled professionals The scalability allows to make changes and add new functionality even at the relatively late stages Can be ineffective for the small projects The earlier working prototype is done – sooner users can point out the flaws Big number of the intermediate stages requires excessive documentation
  • 14.
     This modelstarts with a smaller set of requirements, and it does not need the full context of product specification in order to start the SDLC process. This process is repetitive, and on each iteration of the SDLC process, a newer version of the software is made. Each iteration may be between 2-6 weeks. Each iteration develops a separate component in this approach. This model also requires a mode resource than the waterfall model.  V model is basically an expansion to the waterfall model where the testing and the development phases are planned in parallel. One side consists of the verification phase, while the other one consists of the validation phase, which is finally joined by coding. The next state starts only when the previous state gets completed. V-Model SDLC MODEL
  • 15.
    V-Model ADVANTAGE DISADVANTAGE Every stageof V-shaped model has strict results so it’s easy to control Lack of the flexibility Testing and verification take place in the early stages Bad choice for the small projects Good for the small projects, where requirements are static and clear Relatively big risks
  • 16.
    HOW TO CHOOSETHE SDLC MODEL When it’s time to choose the software development approach, there’s a strong chance of getting confused over numerous options. However, if you learn a little about each, it all starts shaping up. Each software development methodology has some significant distinctions that you may proceed from. In addition, it’s usually project or delivery managers who are in charge of choosing the right approach. Their knowledge of the peculiarities of each methodology noticeably facilitates the task. Still, let’s find out what logic is implied in choosing the technique that will make the best fit for your project. Firstly, it’s necessary to think about:  How precise the requirements are  How lengthy the project is  How complex the project is  How large the budget is How extensive the client wants the documentation to be As soon as you have answered these questions, you should integrate them with your knowledge about software development techniques. Let’s briefly go over each question.
  • 17.
    CONCLUSION Methodologies eliminate theneed to invent new management and development techniques. They are a framework for the software development process. Also, they provide every team member with a clearly defined plan so that everyone understands what they’re doing, why, and what’s the final goal. Different models were created during the SDLC evolution to meet a wide variety of development requirements and expectations. Nowadays, the world is moving towards flexibility instead of excessive regularity and orderliness. Still, agile approaches perfectly combine responsiveness and well-organized project management. Reference: https://www.educba.com/what-is sdlc/ https://existek.com/blog/sdlc-models
  • 18.
    THANK YOU PREPARE ONEWHOLE SHEET OF PAPER