Wednesday 18 December 2013

MY WORDS FOR SDLC MODELS

Software Development LIFE CYCLE Models.

The SDLC models are the methodologies that being selected for the Software development of project depending on the project’s requirements and goals. The selection of model has very high impact on the testing that is carried out. There are many Software development life cycle models that have developed in order to achieve different required objectives.  It will define the what, where and when of our planned testing, influence regression testing and largely determines which test techniques to use. The Software development life cycle models specify the stages of the process  the order in which they are carried out.

Software Development LIFE CYCLE Waterfall Model.




The SDLC Waterfall Model is first Process Model to be introduced. It is also referred to as a Very linear-sequential life cycle model. In a waterfall model, each phase must be completed fully before the next phase can begin. In waterfall model phases do not overlap. At end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project.  It is very simple to understand and use..




Why we use the waterfall model:

Requirements are very well known, clear and fixed. Ample resources with required expertise are available freely. There are no ambiguous requirements . 
Product definition is very stable. Technology is understood.






Advantages of waterfall model:

Works well for smaller projects where requirements are very well understood. Very Easy to manage due to the rigidity of the model – each phase has specific deliverable s and a review process. So 
Simple and easy to understand and use. The 
Phases are processed and completed one at a time.




Disadvantages of waterfall model:

This is Not suitable for the projects where requirements are at a moderate to high risk of changing. As Once an application is in the Software testing stage, it is very difficult to go back and change something that was not well-thought out in the concept stage. Not a good model for complex and object-oriented projects. High amounts of risk and uncertainty. 
No working software is produced until late during the life cycle. 


Poor model for long and ongoing projects.

Software Development LIFE CYCLE V-Model


Verification and Validation model called 
V- model 

Testing of the Application and software is planned in parallel with a corresponding phase of development and maintenance . 

Just like the waterfall model, the V-Model life cycle is a sequential path of execution of processes. Each phase completed at the same time before the next phase begins.  







 Phases of the V-model 

1. Requirements:- Business Requirement Specifications and Software Requirement Specification begin  life cycle model just as same as the waterfall model.

The test plan focuses on meeting the functionality specified in the requirements gathering.
But, in this model before development is started, a system test plan is created and testing done with just built live . 




2. HLD (high-level design) :- This phase focus on systems architectures and designing. It provides overviews of solutions, platforms, systems, products and services/process. An integration test plan is created in this phase in order to test the pieces of the software systems ability to work together in a group as a load testing.

3. LLD (low-level design):- phase is where the actual software components are designed. It defines the actual logic for each and every component of the system. 

Components tests are created in this phase as well.
Class diagrams with all the methods and relations between classes comes under Low L D. 

4. Implementation phase:- That again, where all coding takes place again. Once coding is complete, then path of execution continues up the right side of the V where the test plans developed earlier are now put to use for testing and run application.

5. The Coding Phase:-  Module design is converted into code by developers.

This is bottom of the V-Shape model Validation and Verification.

Advantages of V-model:

Works well for small projects where requirements are easily understood. Simple and easy to use.Avoids the downward flow of the defects.Proactive defect tracking – that is defects are found at early stage.
Testing activities like planning, test designing happens well before coding. This saves a lot of time. Hence higher chance of success over the waterfall model.



Disadvantages of V-model:


If any changes happen in midway, then the test documents along with requirement documents has to be updated. Software is developed during the implementation phase, so no early prototypes of the software are produced.
Very rigid and least flexible.

Software Development LIFE CYCLE Incremental Model.



In incremental model is divided into various builds. Multiple software development cycles take place here, making the life cycle a “multiple-waterfall” cycle.  Cycles are divided up into smaller, more easily managed modules. The incremental Model is an evolution of the waterfall model, where the waterfall model is incrementally applied.
 Each module passes through the requirements, design, implementation and testing phases. 
The incremental build model is a method of software development where the model is designed, implemented and tested incrementally (a little more is added each time) until the product is finished. 
A working version of software is produced during the first module, so you have working software early on during the software life cycle. 
The series of releases is referred to as “increments”, with each increment providing more functionality to the customers. 
Each subsequent release of the module adds function to the previous release. The process continues till the complete system is achieved.



Why we use the Incremental model:

Requirements of the complete system and application are clearly defined and understood already. 
There are some high risk features and goals during there phases. 
There is a need to get a product to the market early as so soon. 
A new technology is being used. 
Major requirements must be defined; however, some details can evolve with time. 
Resources with needed skill set are not required .

Advantages of Incremental (I) model:

Easy to manage risk because risk pieces are identified and handled during iteration. 
More flexible  less costly to change scope and requirements. 
Generate working software and applications quickly and early during the software life cycle running . 
Customer can respond to each built whenever . Very 
Easy to test and debug during a smaller iteration. 
Lowers initial delivery cost.

Disadvantages of Incremental (I) model:

Needs a clear and complete definition of the whole system and applications before it can be broken and built incrementally. 
Needs good planning with design. 
Total cost is higher than waterfall costly so user not prefers.





3 comments:

Zeppelin said...

Very valuable post...! This information shared is helpful to improve my knowledge skill. Thank you...!
software testing services
software testing companies
Regression testing services
Performance testing Services
Test automation services

Allen Marry said...

I like your post there is a lot of information about software testing, which i would like to learn, thank you for the great guide. Very useful post and I think it is rather easy to see from the other comments as well that this post is well written and useful. I bookmarked this blog a while ago because of the useful content and I am never being disappointed. Keep up the good work.. Read more about QA Services

sathya said...

I hope it is useful for others. Thanking you.
selenium training in chennai |
Selenium Training in Chennai | Certification | Online Training Course | Selenium Training in Bangalore | Certification | Online Training Course | Selenium Training in Hyderabad | Certification | Online Training Course | Selenium Training in Coimbatore | Certification | Online Training Course | Selenium Training in Online | Certification | Online Training Course