Uploaded by Anas Hashmi

Extreme Programming (XP) (1)

advertisement
SOFTWARE
ENGINEERING
EXTREME
PROGRAMMING
(XP) & V-MODEL
PRESENTATION
Extreme
Programming
(XP)
Extreme programming (XP) is one of the
most important software development
frameworks of Agile models. It is used to
improve software quality and
responsiveness to customer
requirements. The extreme
programming model recommends taking
the best practices that have worked well
in the past in program development
projects to extreme levels. Good
practices need to be practiced in extreme
programming
Basic principles of Extreme
programming:
• Coding: The concept of coding which is used in the XP model is slightly
different from traditional coding. Here, the coding activity includes
• Code Review: Code review detects and corrects errors efficiently. It
suggests pair programming as coding and reviewing of written code
drawing
diagrams
(modeling)
that
will
be
transformed
into
code,
scripting
carried out by a pair of programmers who switch their works between
every hour. and choosing among several alternative solutions.
a web-basedthem
system,
• Testing: Testing code helps to remove errors and improves its
reliability. XP suggests
development
to continually
• Testing:
XPtest-driven
model
gives(TDD)
high
importance to testing and considers it to be
write and execute test cases. In the TDD approach test cases are
written even
before
any code is written.
the
primary
factor to develop fault-free software.
• Incremental development: Incremental development is very good
• because
Listening:
Theis developers
need
to carefully listen to the customers if they
customer feedback
gained and based on this
development
team comes up with new increments every few days after each
have to develop
good quality software. Sometimes programmers may not
iteration.
have the depth knowledge of the system to be developed. So, the
programmers should understand properly the functionality of the system
and they have to listen to the customers.
Advantages &
Disadvantages
Close contact with the
customer
Additional work
No review
unnecessary
• Code Review: Code
detects and corrects errors efficiently.
It
Customer
must participate in the process
programming
workand reviewing of written code
suggests pair programming
as coding
carried out by a pair of programmers who switch their works between
them every
hour.
Stable software
through
• Testing: Testing code helps to remove errors and improves its Relatively large time investment
continuous testing
reliability. XP suggests test-driven development (TDD) to continually
write and execute test cases. In the TDD approach test cases are
Errorwritten
avoidance
through
pair
even before
any code
is written.
Relatively high costs
• Incremental development:
Incremental
development
is
very
good
programming
because customer feedback is gained and based on this development
team comes up with new increments every few days after each
No overtime, teams
work at
iteration.
Requires version management
own pace contact with the customer
Close contact withtheir
the customerClose
Changes can be made at
short notice
Code is clear and
comprehensible at all times
Requires self-discipline to practice
Applications of Extreme Programming (XP): Some of the
projects that are suitable to develop using the XP model are
given below:
• Small projects: XP model is very useful in small projects
consisting of small teams as face-to-face meeting is easier
to achieve.
• Projects involving new technology or Research projects: This
type of project face changing requirements rapidly and
technical problems. So XP model is used to complete this
type of project.
V-Shape
Model
The V-model is a type of SDLC model where
process executes in a sequential manner in
V-shape. It is also known as Verification
and Validation model. It is based on the
association of a testing phase for each
corresponding development stage.
Development of each step directly
associated with the testing phase. The next
phase starts only after completion of the
previous phase i.e. for each development
activity, there is a testing activity
corresponding to it.
V-Shape
Working
methdology
Basic principles of V-Shap Model:
• Large to Small: In V-Model, testing is done in a hierarchical perspective, For
example, requirements identified by the project team, create High-Level
Design, and Detailed Design phases of the project. As each of these phases
• Code Review: Code review detects and corrects errors efficiently. It
is
completed
requirements,
they are defining become more and more
suggests
pair programmingthe
as coding
and reviewing of written code
carried out by a pair of programmers who switch their works between
refined and detailed.
them every hour.
• Testing: Testing code helps to remove errors and improves its
• reliability.
Data/Process
Integrity:
This
principle states that the successful design of
XP suggests test-driven
development (TDD)
to continually
write and execute test cases. In the TDD approach test cases are
any project
requires
the
incorporation
and
cohesion
of
both
data
and
written even before any code is written.
• Incremental development: Incremental development is very good
processes.
Process
elements
must
be
identified
at
each
and
every
because customer feedback is gained and based on this development
team comes up with new increments every few days after each
requirements.
iteration.
• Scalability: This principle states that the V-Model concept has the flexibility
to accommodate any IT project irrespective of its size, complexity or
duration.
• Cross Referencing: Direct correlation between requirements and
corresponding testing activity is known as cross-referencing.
Applications of V-Shape:
It can be used for software projects of any size, whether in
commerce, the military or the public sector. The model serves
as a tool to facilitate the organization and execution of
development, maintenance, and advancement of diverse IT
systems.
Advantage
s
• This is a highly disciplined model and Phases are completed one at a time.
• V-Model is used for small projects where project requirements are clear.
• Simple and easy to understand and use.
• This model focuses on verification and validation activities early in the life cycle thereby enhancing the probability of building an errorfree and good quality product.
• It enables project management to track progress accurately.
• Clear and Structured Process: The V-Model provides a clear and structured process for software development, making it easier to
understand and follow.
Disadvantage
• High risk and uncertainty.
• It is not a good for complex and object-oriented projects.
• It is not suitable for projects where requirements are not clear and contains high risk of changing.
• This model does not support iteration of phases.
• It does not easily handle concurrent events.
• Inflexibility: The V-Model is a linear and sequential model, which can make it difficult to adapt to changing requirements or unexpected
events.
Refrences:
https://www.geeksforgeeks.org/software-engineering-sdlc-v-model/
https://www.geeksforgeeks.org/software-engineering-extremeprogramming-xp/
“Software Engineering: A Practitioner’s Approach” by Roger S.
Pressman, published by McGraw-Hill Education, 2017.
Thank You
Group Members
Tariq Kamran
M.Ahsan
Muhammad Anas Hashmi
Salik Khan Tareen
Download