Software Engineering Methodologies
Software Engineering Methodologies
eXtreme Programming
07 Methodology
Boehm’s Spiral
08 Methodology
Incremental Software
Development
09 Methodology
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 2
eXtreme Programming
Methodology
CSE 6147
What is eXtreme Programming Methodology
Extreme programming, or XP, focuses
on frequent releases of software
versions within short time frames,
allowing the developers to
incorporate new requirements as
needed with each version.
This methodology relies on regular
feedback and open communication with
the client to establish these
requirements. XP helps ensure all the
members of the development team are
aware of the project goals and can align
their efforts.
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 4
Pros and Cons of eXtreme Programming
Advantages/Strengths/Pros Disadvantages/Weaknesses/Cons
✓ The main advantage of Extreme 🚫Some specialists say that Extreme
Programming is that this methodology Programming is focused on the code
allows software development companies rather than on design. That may be a
to save costs and time required for project problem because good design is extremely
realization. Time savings are available important for software applications. It
because of the fact that XP focuses on helps sell them in the software market.
the timely delivery of final products. Additionally, in XP projects the defect
Extreme Programming teams save lots of documentation is not always good. Lack of
money because they don’t use too much defect documentation may lead to the
documentation. They usually solve occurrence of similar bugs in the future.
problems through discussions inside of the
team.
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 5
Pros and Cons of eXtreme Programming
Advantages/Strengths/Pros Disadvantages/Weaknesses/Cons
✓ Simplicity is one more advantage of 🚫One more disadvantage of XP is that this
Extreme Programming projects. The methodology does not measure code
developers who prefer to use this quality assurance. It may cause defects in
methodology create extremely simple code the initial code.
that can be improved at any moment.
🚫XP is not the best option if programmers
✓ The whole process in XP is visible and are separated geographically.
accountable.
✓ Constant feedback is also the strong side.
✓ XP assists to create software faster
thanks to the regular testing at the
development stage.
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 6
When to Choose eXtreme Programming Methodology?
✓ Expect their system’s
functionality to change every few
months.
✓ Experience constantly changing
requirements or work with
customers who aren’t sure what
they want the system to do.
✓ Want to mitigate project risk,
especially around tight deadlines.
✓ Are able to work closely with
customers.
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 7
Boehm’s Spiral Methodology
CSE 6147
What is Boehm’s Spiral Methodology
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 9
What is Boehm’s Spiral Methodology
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 10
Pros and Cons of Boehm’s Spiral
Advantages/Strengths/Pros Disadvantages/Weaknesses/Cons
✓ High amount of risk analysis 🚫Can be a costly model to use.
✓ Useful for large and mission-critical 🚫Risk analysis needed highly particular
projects. expertise
🚫Doesn't work well for smaller projects.
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 11
When to Choose Boehm’s Spiral Methodology?
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 12
Incremental Software
Development Methodology
CSE 6147
What is Incremental Software Development Methodology
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 14
What is Incremental Software Development Methodology
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 15
What is Incremental Software Development Methodology
✓ System development is broken
down into many mini
development projects
✓ Partial systems are successively
built to produce a final total
system
✓ Highest priority requirement is
tackled first
✓ Once the requirement is
developed, requirement for
that increment are frozen
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 16
Pros and Cons of Incremental Software Development
Advantages/Strengths/Pros Disadvantages/Weaknesses/Cons
✓ The software will be generated quickly 🚫It requires a good planning designing
during the software life cycle
🚫Problems might cause due to system
✓ It is flexible and less expensive to change architecture as such not all requirements
requirements and scope collected up front for the entire software
lifecycle
✓ Throughout the development stages
changes can be done 🚫Each iteration phase is rigid and does not
overlap each other
✓ This model is less costly compared to
others 🚫Rectifying a problem in one unit requires
correction in all the units and consumes a
✓ A customer can respond to each building
lot of time
✓ Errors are easy to be identified
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 17
When to Choose Incremental Software Development?
CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 18
Thank You