yt

Header Ads

Chapter 7 What is SDLC Models and Types Explain in Details

 CHAPTER -7

SDLC MODELS

Introduction :- Hi everyone in this chapter learn  details, What is SDLC Models and why is an important and where is use. Lets go start now.

SDLC Models :-  Using the concepts of basic SDLC some models were created to ensure success in the process of software developments. Every software developer is different and its requirement a suitable SDLC approach to be followed based on the internal and external factors.

Some important and popular SDLC Modules :-

1.)    Waterfall Model             

2.)    Prototype Mode

3.)    Iterative Model

4.)    V – Model

5.)    Spiral Model

 

1.)    Waterfall Model :- It was the 1st SDLC model to introduced, It is the based  on the based on the basic concepts of SDLC. In Waterfall Model, each phase can begin and these is no overlapping in the phases.

The waterfall model illustrates the software developments process in a linear sequential flow. It means that every phase in the developments process begins only if the previous phase is completed, This SDLC outputs of one phase acts the inputs for the next phase as a sequentially.

 

When to use waterfall Model :-

When requirements are very clear and fixed, No ambiguous requirements, tools and technology used is consistent and is not changing, resources are well prepared and available to use. A projects is always short this point is mindset and risk is minimum in waterfall model  used.

 

Advantages of Waterfall Model :-

a.)    Simple and easy to understands and use,

b.)    Works well for smaller projects where requirements as well as understands and fixed.

c.)    Easy to manage due to the right of the model.

d.)    Phase are processed and completed one at a time and clearly defined stages.

e.)    Easy to classify and prioritizes tasks with process and results are will documents.

Disadvantages of Waterfall Model :-

a.)    Not the best choice for complex and large projects and not suitable for the projects where requirements are at a moderates to high risk of changing.

b.)   Adjusting scope during the life cycle end a project.

c.)    No working software is produced until late during the life cycle.

 

2.)    Iterative Model : - In this Model, you can start with some of the software specifications and develop the first version of the software. After the first version if there is a need to change the software, then a new version of the software is created with a new iteration. Every release of the Iterative Model finishes in an exact and fixed period that is called iteration.

The Iterative Model allows the accessing earlier phases, in which the variations made respectively. The final output of the project renewed at the end of the Software Development Life Cycle (SDLC) process.


 

The various phases of Iterative model are as follows:

1. Requirement gathering & analysis: In this phase, requirements are gathered from customers and check by an analyst whether requirements will fulfil or not. Analyst checks that need will achieve within budget or not. After all of this, the software team skips to the next phase.

2. Design: In the design phase, team design the software by the different diagrams like Data Flow diagram, activity diagram, class diagram, state transition diagram, etc.

3. Implementation: In the implementation, requirements are written in the coding language and transformed into computer programmers which are called Software.

4. Testing: After completing the coding phase, software testing starts using different test methods. There are many test methods, but the most common are white box, black box, and grey box test methods.

5. Deployment: After completing all the phases, software is deployed to its work environment.

6. Review: In this phase, after the product deployment, review phase is performed to check the behaviour and validity of the developed product. And if there are any error found then the process starts again from the requirement gathering.

7. Maintenance: In the maintenance phase, after deployment of the software in the working environment there may be some bugs, some errors or new updates are required. Maintenance involves debugging and new addition options.

When to use the Iterative Model?

1.      When requirements are defined clearly and easy to understand.

2.      When the software application is large.

3.      When there is a requirement of changes in future.

Advantage (Pros) of Iterative Model:

1.      Testing and debugging during smaller iteration is easy.

2.      A Parallel development can plan.

3.      It is easily acceptable to ever-changing needs of the project.

4.      Risks are identified and resolved during iteration.

5.      Limited time spent on documentation and extra time on designing.

Disadvantage (Cons) of Iterative Model:

1.      It is not suitable for smaller projects.

2.      More Resources may be required.

3.      Design can be changed again and again because of imperfect requirements.

4.      Requirement changes can cause over budget.

5.      Project completion date not confirmed because of changing requirements.

 

3.)   Prototype Model :- The prototype model requires that before carrying out the development of actual software, a working prototype of the system should be built. A prototype is a toy implementation of the system. In such a scenario where there is an absence of detailed information regarding the input to the system, the processing needs, and the output requirement, the prototyping model may be employed.



 

Steps of Prototype Model


Requirement Gathering and Analyst

Advantage of Prototype Model


Reduce the risk of incorrect user requirement

Disadvantage of Prototype Model

An unstable/badly implemented prototype often becomes the final product.

 

4.)   V – Model :- V-Model also referred to as the Verification and Validation Model. In this, each phase of SDLC must complete before the next phase starts. It follows a sequential design process same as the waterfall model. Testing of the device is planned in parallel with a corresponding stage of development.


          Verification: It involves a static analysis method (review) done without executing code. It is the process of evaluation of the product development process to find whether specified requirements meet.

          Validation: It involves dynamic analysis method (functional, non-functional), testing is done by executing code. Validation is the process to classify the software after the completion of the development process to determine whether the software meets the customer expectations and requirements.

          So V-Model contains Verification phases on one side of the Validation phases on the other side. Verification and Validation process is joined by coding phase in V-shape. Thus it is known as V-Model.

          When to use V-Model?

          When the requirement is well defined and not ambiguous. 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 sample technical resources are available with essential technical expertise.

          Advantage (Pros) of V-Model:
          • Easy to Understand. 
          • Testing Methods like planning, test designing happens well before coding.
          • This saves a lot of time. Hence a higher chance of success over the waterfall model. 
          • Avoids the downward flow of the defects. 
          • Works well for small plans where requirements are easily understood.


              Disadvantage (Cons) of V-Model:

              • Very rigid and least flexible. 
              • Not a good for a complex project.
              • Software is developed during the implementation stage, so no early prototypes of the software are produced.
              • If any changes happen in the midway, then the test documents along with the required documents, has to be updated.

              5.)   Spiral Model :- The spiral model, initially proposed by Barry Boehm. It is a combination of waterfall model and iterative model. Each phase of the Spiral Model is divided into four quadrants as shown in the above figure. The functions of these four quadrants are discussed below.



              Objectives determination and identify alternative solutions: Requirements are gathered from the customers and the objectives are identified, elaborated, and analyzed at the start of every phase. Then alternative solutions possible for the phase are proposed in this quadrant. 
              Identify and resolve Risks: During the second quadrant, all the possible solutions are evaluated to select the best possible solution. Then the risks associated with that solution are identified and the risks are resolved using the best possible strategy. At the end of this quadrant, the Prototype is built for the best possible solution. 
              Develop next version of the Product: During the third quadrant, the identified features are developed and verified through testing. At the end of the third quadrant, the next version of the software is available. 
              /


                 

                Why Spiral Model is called Meta Model?
                The Spiral model is called a Meta-Model because it subsumes all the other SDLC models. For example, a single loop spiral actually represents the Iterative Waterfall Model. The spiral model incorporates the stepwise approach of the Classical Waterfall Model. The spiral model uses the approach of the Prototyping Model by building a prototype at the start of each phase as a risk-handling technique.


                When to use Spiral Model?
                • When deliverance is required to be frequent.
                • When the project is large
                • When requirements are unclear and complex
                • When changes may require at any time
                • Large and high budget projects

                Advantages
                • High amount of risk analysis
                • Useful for large and mission-critical projects.

                 Disadvantages

                • Can be a costly model to use.
                • Risk analysis needed highly particular expertise
                • Doesn't work well for smaller projects.

                No comments

                Theme images by Dizzo. Powered by Blogger.