0% found this document useful (0 votes)
23 views

Software Process

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Software Process

Uploaded by

Tanzeel Sial
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Software Process Models

Part - II
V model
● A variation of waterfall model
● Uses unit testing to verify procedural design
● Uses integration testing to verify architectural(system) design
● Uses acceptance testing to validate the requirements
● If problems are found during verification and validation the left side of
the V model can be re-executed before testing on the right side is
re-enacted
Phases of V model
● Requirements like BRS and SRS begin the life cycle model just like the Waterfall model. but, in this model
before development is started a system test plan is created. the test plan focuses on meeting the functional
the specified in the requirement gathering.
● The higher level design (HLD) phase focuses on system architecture and design. It provides an overview
of the solution, platform, System, product and service/process . An integration test plan is created In this
phase as well in order to test the pieces of the software systems ability to work together
● The low level design LLD phase is the actual software components are designed. It defines the actual logic
for each and every component of the system. Class diagram with all the methods and relation between
classes comes under LLD. Component tests are created in this phase as well.
● The implementation phase is, again, where all coding takes place. Once coding is complete the path of
execution continues up to the right side of the V model where the test plans developed earlier are now put
to use.
● Coding: this is the bottom of the V shaped model. Module design is converted into Code by developers
Advantages of V model
● Simple and easy to use
● Testing activities like planning, test designing happens well before coding.
This says a lot of time. Hence higher chance of success over the Waterfall
model.
● Proactive defects tracking - that is defects are found at an early stage.
● Avoids the downward flow of the defects
● Works well for small projects where requirements are easily understood
Disadvantages of V model

● Very rigid and least flexible.


● Software is developed during implementation phase, so no early prototype of
the softwares are produced
● If any changes happen midway, then the test documents along with
requirement documents have to be updated.
● Since, no prototype are produced, there is a very high risk involved in meeting
customer expectations
When should we use V model

● The V shaped model should we use for small to medium sized projects where
requirements are clearly defined and fixed.
Difference between V-model and Waterfall model:
Waterfall V model

● The cost of the Waterfall model is low. ● V-model is expensive.


● Simplicity of the Waterfall model is simple ● Simplicity of V-model is Intermediate
● Waterfall model is a continuous process.. ● V-model is a simultaneous process.
● It is not possible to test a software during ● There is possibility to test a software
its development. during its development.
● Identification of defects is done in the ● Identification of defects can be done from
testing phase. the beginning.
● Debugging is done after the last phase. ● Debugging can be done in between
phases.
Iterative Model
● No start with a full specification of requirements.
● Development begins by just specifying and implementing just part of the
software, which can be reviewed in order to identify further requirements.
● Processes is then repeated, producing a new version of the software for each
cycle of model
Advantages

● Can create a high-level design of the application before beginning the actual product and
define the design solution for the entire product.
● Design and build a skeleton version of the that, and then evolved the design based on what
has been built
● Building and improving the product step by step
● Track the defects at early stages → avoids the downwards flow of the defects
● Reliable user feedback. When presenting sketches and blueprint of the product to users for
their feedback, we are effectively asking them to imagine how the product will work
● In Iterative model less time is spent on documenting and more and is given for designin.
Disadvantages
● Each phase of iteration is rigid with no overlaps
● Costly system architecture or design issues may arise because not all
requirements are gathered up front for the entire life cycle
When to use the Iterative Model?
● When requirements are defined clearly and easy to understand.
● When the software application is large.
● When there is a requirement of changes in future.
Agile Model
A type of incremental model.

Software is developed in incremental, rapid cycles → small incremental releases


with each release building on previous functionality.

Each release is thoroughly tested to ensure software quality is maintained.

Used for time critical applications.

Extreme Programming (XP) is currently one of the most well know agile
methodology.
Agile Testing Methods:
● Scrum
● Crystal
● Dynamic Software Development Method(DSDM)
● Feature Driven Development(FDD)
● Lean Software Development
● eXtreme Programming(XP)
Scrum
SCRUM is an agile development process focused primarily on ways to manage tasks in team-based development
conditions.

There are three roles in it, and their responsibilities are:

● Scrum Master: The scrum can set up the master team, arrange the meeting and remove obstacles for the
process
● Product owner: The product owner makes the product backlog, prioritizes the delay and is responsible for
the distribution of functionality on each repetition.
● Scrum Team: The team manages its work and organizes the work to complete the sprint or cycle.
eXtreme Programming(XP)
This type of methodology is used when customers are constantly changing
demands or requirements, or when they are not sure about the system's
performance.
Advantage(Pros) of Agile Method:
● Frequent Delivery
● Face-to-Face Communication with clients.
● Efficient design and fulfils the business requirement.
● Anytime changes are acceptable.
● It reduces total development time.
Disadvantages(Cons) of Agile Model
Due to the shortage of formal documents, it creates confusion and crucial
decisions taken throughout various phases can be misinterpreted at any time by
different team members.

Due to the lack of proper documentation, once the project completes and the
developers allotted to another project, maintenance of the finished project can
become a difficulty.
When to use Agile model:
● When new changes are needed to be implemented. The freedom agile gives to change is very
important. New changes can be implemented at very little cost because of the frequency of new
increments that are produced.
● To implement a new feature the developers need to lose only the work of a few days, or even only
hours, to roll back and implement it.
● Unlike the waterfall model in agile model very limited planning is required to get started with the
project. Agile assumes that the end users’ needs are ever changing in a dynamic business and IT
world. Changes can be discussed and features can be newly effected or removed based on
feedback. This effectively gives the customer the finished system they want or need.
● Both system developers and stakeholders alike, find they also get more freedom of time and options
than if the software was developed in a more rigid sequential way. Having options gives them the
ability to leave important decisions until more or better data or even entire hosting programs are
available; meaning the project can continue to move forward without fear of reaching a sudden
standstill.

You might also like