Old
SDLC (Software Development Life Cycle) Models:
a) Waterfall model or Linear sequential model
b)Prototype model
c) Incremental model
d)Spiral model
e) Rapid application development (RAD) model
Before learning the waterfall model let you know about:
Software bidding: A proposal to develop a new software is called as 'software bidding'
a) Waterfall model or Linear sequential model
b)Prototype model
c) Incremental model
d)Spiral model
e) Rapid application development (RAD) model
Before learning the waterfall model let you know about:
Software bidding: A proposal to develop a new software is called as 'software bidding'
·
If a proposal came from the customer point of view then it is
called as "software project bidding".
·
If a company will study the needs of the market and develop
the software then that type of proposal is called as "software product
bidding"
a) Waterfall
Model:
Fig: Waterfall Model
Note: The above waterfall model is also called as the "Linear Sequential Model"
Explanation of above diagram:
Note: The above waterfall model is also called as the "Linear Sequential Model"
Explanation of above diagram:
1.
From the above diagram at first software bidding will be done
between the CEO of company and customer or client. Then after bidding, the CEO
will conduct the meeting with all the project managers(PM) in the company
called as "kick of meeting"(KIM).
2.
In that meeting CEO will make an announcement about
that new project to handle that project any one of the project manager will be
selected.Then that project manager will give an project initiation note(PIN) to
CEO.
3.
Then PM will assign the work to the business
analyst(BA) to gather all the requirements from the customer.
4.
Then BA will submit all the gathered requirements to the
system analyst(SA) to design inorder to do the analysis or detailed planning
which is going to submit it to the PM.Then PM will approve that planning done
by SA.
5.
Then SA will submit that document to the technical
architect(TA).
6.
Then designers will do the design which consists of HLD and
LLD's.
7.
Based on that design programmers will do the coding and that
corresponding programmers will test the developed code.
8.
Then after testing that s/w few programmers will be
selected for onsite and release the s/w.
9.
Then change for control board(CCB) people will do the
maintenance/support of that s/w.
b) Prototype Model:
Whenever the customer requirements are not clear, organizations can goto develop a model software to show to customers and to get clear requirements.This sample software is called as "prototype".
Whenever the customer requirements are not clear, organizations can goto develop a model software to show to customers and to get clear requirements.This sample software is called as "prototype".
Fig: Prototype model
Explanation of above diagram:
1.
From the above diagram at first software bidding will be done
between the CEO of company and customer or client. Then after bidding, the CEO
will conduct the meeting with all the project managers(PM) in the company
called as "kick of meeting"(KIM).
2.
In that meeting CEO will make an announcement
about that new project, to handle that project any one of the project manager
will be selected.Then that project manager will give an project initiation
note(PIN) to CEO.
3.
Then PM will assign the work to the business analyst(BA) to
gather all the requirements from the customer.If customer requirements are not
clear then company will develop a model s/w and show to the customer. At that
time customer will identify the new requirements and those requirements will be
gathered by BA.
4.
Then BA will submit all the gathered requirements to the
system analyst (SA) inorder to do the analysis or detailed planning which is
going to submit it to the PM.Then PM will approve that planning done by
SA.
5.
Then SA will submit that document to the technical
architect(TA).
6.
Then designers will do the design which consists of HLD and
LLD's.
7.
Based on that design, programmers will do the coding and that
corresponding programmers will test the developed code.
8.
Then after testing that s/w, few programmers will be
selected for onsite and release the s/w. Then change for control board(CCB)
people will do the maintenance/support of that s/w.
c) Incremental Model:
When customer requirements are clear but, huge.Then the organizations can follow the incremental model to release the software installment by installment.
When customer requirements are clear but, huge.Then the organizations can follow the incremental model to release the software installment by installment.
Fig: Incremental model
1.
From the above diagram in the first installment (i #1) all
the process from the software requirement gathering(SRG) to maintenance will be
done and this will be proceeded upto last installment (i # N).
2.
Thus finally all the huge requirement software will be
developed and released to the customer installment by installment.
d) Spiral Model:
When the requirements are clear and enhancing regularly, organizations can follow spiral model to release the software version by version.
When the requirements are clear and enhancing regularly, organizations can follow spiral model to release the software version by version.
Fig: Spiral Model
1.
From the above diagram requirement gathering will be done at
first and later design this will be continued till the maintenance stage.
2.
If customer will need any enhancements,
those enhancements will be gathered by them and again with the new
requirements, analysis will be done. This cycle will be repeated for every new
version of the software.
e) Rapid Application Development
(RAD) Model:
1.
Organizations are following this Model, when Customer
Requirements are known.
2.
When customer requirements are similar to old projects, then
organizations can follow this model to develop a new software by copying coding
from old projects and they will r
elease new Software using existing Software
Coding.
3.
Here, New Software will be integrated by using Existing
Components of Old Projects
5.What are Advanced SDLC Models?
(ANS):
Advanced
SDLC (Software Development Life Cycle) Models:
Before going to learn the Advanced SDLC models, let you know the reasons for
outdating the old SDLC models in the organizations.They are:
1. In all the Old SDLC Models, Testing Stage comes after Coding only.
2. This Single Stage of Testing is conducted by the Same Programmers / Developers who perform Coding.
3. Due to this, Organizations are not able to release Quality Software to Customer or to Market.
4. To Develop and Release Quality Software, Organizations are following New SDLC Models.
5. In New SDLC Models, Organizations conduct Multiple Stages of Testing and maintain Separate Testing Teams. The new SDLC models are as follows:
a) Fish Model
b) V-Model
c) Agile Model(XP,SPRINT,SCRUM)
a) Fish Model:
To develop a quality s/w w.r.t to customer requirements and expectations,organizations are following fish model.But, this model is costly to follow
and time consuming model.
Explanation of above diagram:
Before going to learn the Advanced SDLC models, let you know the reasons for
outdating the old SDLC models in the organizations.They are:
1. In all the Old SDLC Models, Testing Stage comes after Coding only.
2. This Single Stage of Testing is conducted by the Same Programmers / Developers who perform Coding.
3. Due to this, Organizations are not able to release Quality Software to Customer or to Market.
4. To Develop and Release Quality Software, Organizations are following New SDLC Models.
5. In New SDLC Models, Organizations conduct Multiple Stages of Testing and maintain Separate Testing Teams. The new SDLC models are as follows:
a) Fish Model
b) V-Model
c) Agile Model(XP,SPRINT,SCRUM)
a) Fish Model:
To develop a quality s/w w.r.t to customer requirements and expectations,organizations are following fish model.But, this model is costly to follow
and time consuming model.
Explanation of above diagram:
Fig: Fish
Model
1.
At first project initiation note(PIN) will be given to the
CEO,from there the work is going to begin.
2.
The business analyst(BA) will gather all the requirements from
the customer and for that gathered requirements testing purpose a 'seperate
testing team' will be assigned.
3.
Then system analyst(SA) will do the analysis of that
requirements and for the review of those analysed requirements a 'seperate
testing team' will be assigned.
4.
Technical architect (s.r programmer) will do the design of
those analysed requirements in the form of HLD and LLD's after that a 'seperate testing team' will
be assigned for the review of those design.
5.
All the above conducted testing or reviewing is called as
'documents testing' or 'verification' or 'static testing'.
6.
Unit testing: unit testing means that conducting
testing on a single programme in java, .NET,oracle,SAP,C,C++ and etc.
7.
Integration testing: Integration testing means conducting
testing on the interconnection of two or more programmes.The below diagram
depicts the integration testing:
8.
Software testing: software testing means
conducting the testing on a complete
software w.r.t to the customer requirements and expectations.
9.
Acceptance testing: Acceptance testing means
that collecting the feedback on
s/w from the real customers(Clients) or model customers(Public).
10.
Release testing: Release testing means that the
whether s/w was completely and
correctly ported into customer site or not. It is also called as
onsite testing/
delivery testing/port testing.
11.
Maintenance testing: During the maintenance
testing, CCB people can modify
and test s/w w.r.t to customer change request.
b) V-Model:
·
This model was introduced by "William evans
ferrie".
·
'V' stands for verification and validation.
·
This model is also defining mapping in between development
stages and testing stages.
·
This model is not taking more time to develop a quality s/w
unlike Fish model.
Fig: V-Model
Explanation
of above diagram:
1.
From the above model BA can prepare and review BRS.
2.
SA can prepare and review SRS.
3.
TA can prepare and review HLD and LLD's.
4.
Programmer can write programmes and conduct unit testing and
integration testing w.r.t LLD's and integration testing w.r.t HLD.
5.
A seperate testing team can test s/w (system testing) w.r.t
SRS.
6.
Customer site people can provide feedback on s/w w.r.t BRS.
7.
Release team will take care of s/w release and port testing
and CCB people can take care of maintenance/support.
Note: From the V-model, a
separate test engineers will be needed for s/w testing stage.Those test
engineers also responsible for involve in the acceptance testing and release
testing.
Note: Small and medium scale
companies prefer V-model to follow because this model is inexpensive and not
taking more time.
c) Agile Model: In large scale companies,this model is followable.Because, client is able to maintain stakeholder team to approve deliverables of each stage in development.
c) Agile Model: In large scale companies,this model is followable.Because, client is able to maintain stakeholder team to approve deliverables of each stage in development.
After completion of software testing and approval from the stakeholders, real customers are involving to give the feedback on that software.
Under the guidence of stakeholders,release team can release software and CCB can maintain software.
In agile model development stages will be called with different names:
Note: In old SDLC models, testing will come after coding only. But, in advanced SDLC models testing will come in every stage of development by same developer or separate tester.
Old SDLC models with V-Model:
Prototype V-Model:
·
When
customer requirements are clear, organizations are following v-model by
conducting testing in every stage of development and separate testing team for
software testing stage.
·
When
customer requirements are not clear, organizations will follow prototype
V-model.
·
Once
requirements are finalized, again same V-model will proceeds.
Incremental V-Model:
When customer
requirements are clear and huge, organizations’ can follow Incremental V-model.
Spiral V-Model:
When customer
requirements are enhancing regularly, organizations’ can follow Spiral V-model.
Case Study:(Old SDLC
under along with Agile Model)
When customer
requirements are clear and customers are ready to provide stakeholders then
organizations can follow the 'Agile model'.
1.
When
customer requirements are not clear and customer is ready to provide
stakeholders, organizations can follow prototype based agile model called as
'XP' (Extreme Programming).
2.
When
customer requirements are huge and customer is ready to provide stakeholders, organizations
can follow in based incremental based agile model called as 'SPRINT'.
3.
When
customer requirements are enhancing regularly and customer is ready to provide
stakeholders, organizations can follow spiral based agile model called as
'SCRUM'.
I wonder why there is no comments. This article is a complete information about all the SDLC models. Thanks a bunch for the blog post. I must bookmark your blog for future articles.
ReplyDeleteBest Regards,
Prasant
Software Development Company
This is really helpful. Thanks a lot Brahma Reddy gaaru...!
ReplyDeleteCan I have your contact number please..! I have a few doubts to be clarified.
Thanks in advance
Harsha