Friday, 26 July 2013

SDLC Models

·         Waterfall Model
·         Incremental model     
·         Prototype Model
·         Spiral Model
·         ‘V’ Model
·         Agile Model

1. WaterFall Model

 In a waterfall model, each phase must be completed in its entirety before the next phase can begin.  At the 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. 
Advantages & Disadvantages:
Easier and simple life cycle and useful when client has fixed requirements but for a client who is not sure of the requirements and for confused customers this model does not work.
                                

2. Incremental Models

The incremental model is an intuitive approach to the waterfall model.  Multiple development cycles take place here, making the life cycle a “multi-waterfall” cycle.  Cycles are divided up into smaller, more easily managed iterations.  Each iteration passes through the requirements, design, implementation and testing phases. A working version of software is produced during the first iteration, so you have working software early on during the software life cycle.  Subsequent iterations build on the initial software produced during the first iteration.
 Advantages
a)    Generates working software quickly and early during the software life cycle.
b)    More flexible – less costly to change scope and requirements.
c)    Easier to test and debug during a smaller iteration.
d)    Easier to manage risk because risky pieces are identified and handled during its iteration.
e)    Each iteration is an easily managed milestone.
Disadvantages
a)    Each phase of an iteration is rigid and do not overlap with each other.
b)    Problems may arise pertaining to system architecture because not all requirements are gathered up front for the entire software life cycle.

3. Prototype Model:

For a naïve client, who has no proper idea of the outcome he wants, the developers initially design a prototype model and customer is approached for evaluation and once the client approves the actual development is made.
Advantages
Another advantage of having a prototype modeled software is that the software is created using lots of user feedbacks. In every prototype created, users could give their honest opinion about the software. If something is unfavorable, it can be changed. Slowly the program is created with the customer in mind.
Disadvantages
There is also a great temptation for most developers to create a prototype and stick to it even though it has flaws. Since prototypes are not yet complete software programs, there is always a possibility of a designer flaw. When flawed software is implemented, it could mean losses of important resources

      

4. Spiral Model


The spiral is a risk-reduction oriented model that breaks a software project up into mini-projects, each addressing one or more major risks. After major risks have been addressed, the spiral model terminates as a waterfall model.

                         
Advantages
a.    Dynamic requirement changes present.
b.    Time taken to deliver the product is more.
c.    Only intended to large and complicated project.
   Disadvantages
a.    The spiral model is intended for large, expensive and complicated projects.
b.    Requires considerable expertise in risk evaluation and reduction.
c.    Complex, relatively difficult to follow  strictly.

5. V Model

V model of software development parallel involves testing in all the phases. During the initial phase where in requirements are gathered by the Business Analyst and development team, in V model testers are also involves and they analyze the requirements and make reviews.
When the development team is involved in design, testers need to write test cases and prepare RTM (requirements traceability matrix). For high level design (which consists of overview of the entire process) integration test cases are written. For a low level design(consists of  detailed description of all modules) unit testing is performed.
While in coding phase, testers need to execute the test cases.
In test execution
i)             First unit testing is performed (white box testing). Generally developers perform unit testing, which needs technical knowledge.
ii)            Then system testing (Black box testing) is done which includes Field validations, GUI, UI, Calculation, Database, URL etc.
iii)           Then integration testing an
iv)               And finally reporting
Advantages
a)    Emphasize planning for verification validation of the product in early stages of product development.
b)    Each deliverable must be deliverable.
c)    Easy to use, the errors can be corrected in that phase itself.
Disadvantages
a)    Does not easily handle iterations.
b)    Does not easily handle dynamic changes in the requirements.
c)    It needs lots of money and resources.


6. Agile Model

                 

Agile methodology is more of people oriented. Agile methodology helps us to increase productivity and reduce risks. There are 2 popular agile methods- Extreme
programming (XP) and Scrum.
                 People believe that there is less documentation in Agile.But agile also includes documentation and it can be used either a small or a large projects. In agile Development, testing is also integrated throughout the life cycle. But for the testers, they will not have a good business requirement. So they have to get the details from the client or through the developer. The testers will do more of Quality Assurance work than testing.
Agile Methodology- Characteristics
Ø  Frequent Delivery
Ø  More Iterations
Ø  Test frequently
Ø  Less defects

 The Requirement functionality may not be covered in one iteration for releasing the project, but it will be covered in multiple iterations. This idea is to have a defect free release available at the end of each iteration.  

Advantages
a)    The team does not have to invest time and effort and finally find that by the time they delivered the product, the requirement of the customer has changed.
b)    The documentation is crisp and to the point to save time.

Disadvantages
c)    There is lack of emphasis on necessary designing and documentation.

d)    The project can easily get taken off track if the customer representative is not clear what final outcome that they want.

Part time full time jobs available here at http://www.dataentryjobs.us/143316.html

No comments:

Post a Comment