SDLC
SDLC
All the relevant information is collected from the customer to develop a product as per
their expectation. Business analyst and Project Manager set up a meeting with the
customer to gather all the information like what the customer wants to build, who will be
the end-user, what is the purpose of the product. Before building a product a core
understanding or knowledge of the product is very important.
For Example,
A customer wants to have an application which involves money transactions. In this case,
the requirement has to be clear like what kind of transactions will be done, how it will be
done, in which currency it will be done, etc.
Once the requirement gathering is done, an analysis is done to check the feasibility of
the development of a product. In case of any ambiguity, a call is set up for further
discussion.
This DDS is reviewed by all the important stakeholders and based on various parameters as
risk assessment, product robustness, design modularity, budget and time constraints, the
best design approach is selected for the product.
• Implementation or Coding
Actual development starts and the product is built. The programming code is
generated as per DDS during this stage. If the design is performed in a detailed
and organized manner, code generation can be accomplished without much
hassle.
Developers must follow the coding guidelines defined by their organization and
programming tools like compilers, interpreters, debuggers, etc. are used to
generate the code. Different high level programming languages such as C, C++,
Pascal, Java and PHP are used for coding. The programming language is chosen
with respect to the type of software being developed.
• Testing
The development team combines automation and manual testing
to check the software for bugs. Quality analysis includes testing
the software for errors and checking if it meets customer
requirements. Because many teams immediately test the code
they write, the testing phase often runs parallel to the
development phase.
• Deployment
Once the product is tested and ready to be deployed it is released
formally in the appropriate market. Sometimes product
deployment happens in stages as per the business strategy of that
organization. The product may first be released in a limited
segment and tested in the real business environment (UAT- User
acceptance testing).
• Maintenance
After the deployment of a product on the production environment,
maintenance of the product i.e. if any issue comes up and needs
to be fixed or any enhancement is to be done is taken care by the
developers
SDLC Models
There are various software development life cycle models defined and
designed which are followed during the software development process.
These models are also referred as Software Development Process
Models".
•Waterfall Model
•Iterative Model
•Spiral Model
•V-Model
• Waterfall
Model
Waterfall Model
The Waterfall Model was the 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. In a waterfall model, each phase must be completed
before the next phase can begin and there is no overlapping in the phases.
The Waterfall model is the earliest SDLC approach that was used for software
development.
•No working software is produced until late during the life cycle.
•High amounts of risk and uncertainty.
•Not a good model for complex and object-oriented projects.
•Poor model for long and ongoing projects.
•Not suitable for the projects where requirements are at a moderate to high risk
of changing. So, risk and uncertainty is high with this process model.
•It is difficult to measure progress within stages.
•Cannot accommodate changing requirements.