SDLC Models are classified into 2 types:
1. Sequential Models - Waterfall Model, V Model
2. Iterative/Incremental Models - RAD(Rapid Action Development), Prototype, Agile, Spiral
· Software development technologies and tools is well known
faster and of higher quality through:
• Gathering requirements using workshops or focus groups
• Prototyping and early, reiterative user testing of designs
• The re-use of software components
• A rigidly paced schedule that defers design improvements to the next product
version
• Less formality in reviews and other team communication
RAD is a methodology for compressing the analysis, design, build, and test phases
into a series of short, iterative development cycles. This has a number of distinct
advantages over the traditional sequential development model.

The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development
combines the features of the prototyping model and the waterfall model. The spiral
model is intended for large, expensive, and complicated projects.
The basic principles are:
It means cross checking with the Test cases written
Validation: Are we building the right product.
It cross checks with the user requirements.
VERerification: assuring, that requirements were built right
VALidation: assuring that requirements (i.e. the system built) satify user needs
Let us take the example of a car manufacturing which is easier to explain and understand
Imagine a car company wants to make a new car with some features and specifications. They do not manufacture all the components themselves. They sub-contract some. For example the tires. The company designs the car and gives out the specifications of various components to the subcontracting units of the same company or another company. The tire company received the specifications and made the tire. They tested the tire against the specifications they received. This is verification. The success of the verification does not mean the tire is useful. The car company once it receives the product (tire) uses the tire with the car and does the testing. This is validation. This ensures the product "The tire" is really useful.
If there is a small problem in the specifications given to the tire company, there will be problem in the final usage and the product will be useless, though legally the tire company did the right thing of making the product, as per the specification given to them. The product is made good but is not useful. It is more important to do the validation for new products as "Qualification tests" which will not only qualify the final product but also validate the specifications of the sub-components. Once qualified, then for subsequent production, a simple verification will be good enough.
Verification is a phase-wise defect containment technique. Validation will be a failure if the verification is failure, but the other way may not be true. i.e. Validation may not be successful in spite of a successful verification for a new product or development project.
Hope this can clear the doubts of any new employee
1. Sequential Models - Waterfall Model, V Model
2. Iterative/Incremental Models - RAD(Rapid Action Development), Prototype, Agile, Spiral
- Waterfall: a linear framework
- Spiral: a combined linear-iterative framework with main factor as RISK
- Incremental: a combined linear-iterative framework or V Model
- Prototyping: an iterative framework
- Rapid application development (RAD): an iterative framework
Waterfall Model
Description
The waterfall Model is a linear sequential flow. In
which progress is seen as flowing steadily downwards (like a waterfall)
through the phases of software implementation. This means that any phase
in the development process begins only if the previous phase is
complete. The waterfall approach does not define the process to go back
to the previous phase to handle changes in requirement. The waterfall
approach is the earliest approach that was used for software
development.
The usage
Projects did not focus on changing requirements, for example, responses for request for proposals (RFPs)Advantages and Disadvantages
| Advantages | Disadvantages |
| · Easy to explain to the user· Structures
approach.· Stages and activities are well defined· Helps to plan and
schedule the project
· Verification at each stage ensures early detection of errors / misunderstanding · Each phase has specific deliverables |
· Assumes that the requirements of a system can be frozen· Very difficult to go back to any stage after it finished.· Little flexibility and adjusting scope is difficult and expensive.· Costly and required more time, in addition to detailed plan |
V-Shaped Model
Description
It is an extension for waterfall model, Instead of
moving down in a linear way, the process steps are bent upwards after
the coding phase, to form the typical V shape. The major difference
between v-shaped model and waterfall model is the early test planning in
v-shaped model.
The usage
· Software requirements clearly defined and known· Software development technologies and tools is well known
Advantages and Disadvantages
| Advantages | Disadvantages |
| · Simple and easy to use.· Each phase has specific deliverables.· Higher chance of success over the waterfall model due to the development of test plans early on during the life cycle.· Works well for where requirements are easily understood. | · Very inflexible, like the waterfall model.· Little flexibility and adjusting scope is difficult and expensive.· Software is developed during the implementation phase, so no early prototypes of the software are produced.· Model doesn’t provide a clear path for problems found during testing phases. · Costly and required more time, in addition to detailed plan |
Evolutionary Prototyping Model
Description
It refers to the activity of creating prototypes of
software applications, for example, incomplete versions of the software
program being developed. It is an activity that can occur in software
development. It used to visualize some component of the software to
limit the gap of misunderstanding the customer requirements by the
development team. This also will reduce the iterations may occur in
waterfall approach and hard to be implemented due to inflexibility of
the waterfall approach. So, when the final prototype is developed, the
requirement is considered to be frozen.
The usage
· This process can be used with any software
developing life cycle model. While this shall be focused with systems
needs more user interactions. So, the system do not have user
interactions, such as, system does some calculations shall not have
prototypes.
Advantages and Disadvantages
| Advantages | Disadvantages |
| · Reduced time and costs, but this can be disadvantage if the developer lose time in developing the prototypes· Improved and increased user involvement | · Insufficient analysis· User confusion of prototype and finished system· Developer misunderstanding of user objectives· Excessive development time of the prototype · Expense of implementing prototyping |
RAD
RAD (rapid application development) is a concept that products can be developedfaster and of higher quality through:
• Gathering requirements using workshops or focus groups
• Prototyping and early, reiterative user testing of designs
• The re-use of software components
• A rigidly paced schedule that defers design improvements to the next product
version
• Less formality in reviews and other team communication
RAD is a methodology for compressing the analysis, design, build, and test phases
into a series of short, iterative development cycles. This has a number of distinct
advantages over the traditional sequential development model.
Spiral Model
The spiral model, also known as the spiral lifecycle model, is a systems development
method (SDM) used in information technology (IT). This model of development
combines the features of the prototyping model and the waterfall model. The spiral
model is intended for large, expensive, and complicated projects.
The basic principles are:
- Focus is on risk assessment and on minimizing project risk by breaking a project into smaller segments and providing more ease-of-change during the development process, as well as providing the opportunity to evaluate risks and weigh consideration of project continuation throughout the life cycle.
- "Each cycle involves a progression through the same sequence of steps, for each part of the product and for each of its levels of elaboration, from an overall concept-of-operation document down to the coding of each individual program."
- Each trip around the spiral traverses four basic quadrants: (1) determine objectives, alternatives, and constraints of the iteration; (2) evaluate alternatives; Identify and resolve risks; (3) develop and verify deliverables from the iteration; and (4) plan the next iteration.
- Begin each cycle with an identification of stakeholders and their win conditions, and end each cycle with review and commitment.
Agile Model
Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed
iterative approach, and encourages rapid and flexible response to
change. It is a conceptual framework that promotes foreseen interactions
throughout the development cycle.
Difference Between Validation and Verification
Verification: Are we building the product right.It means cross checking with the Test cases written
Validation: Are we building the right product.
It cross checks with the user requirements.
VERerification: assuring, that requirements were built right
VALidation: assuring that requirements (i.e. the system built) satify user needs
Let us take the example of a car manufacturing which is easier to explain and understand
Imagine a car company wants to make a new car with some features and specifications. They do not manufacture all the components themselves. They sub-contract some. For example the tires. The company designs the car and gives out the specifications of various components to the subcontracting units of the same company or another company. The tire company received the specifications and made the tire. They tested the tire against the specifications they received. This is verification. The success of the verification does not mean the tire is useful. The car company once it receives the product (tire) uses the tire with the car and does the testing. This is validation. This ensures the product "The tire" is really useful.
If there is a small problem in the specifications given to the tire company, there will be problem in the final usage and the product will be useless, though legally the tire company did the right thing of making the product, as per the specification given to them. The product is made good but is not useful. It is more important to do the validation for new products as "Qualification tests" which will not only qualify the final product but also validate the specifications of the sub-components. Once qualified, then for subsequent production, a simple verification will be good enough.
Verification is a phase-wise defect containment technique. Validation will be a failure if the verification is failure, but the other way may not be true. i.e. Validation may not be successful in spite of a successful verification for a new product or development project.
Hope this can clear the doubts of any new employee
No comments:
Post a Comment