0% found this document useful (0 votes)
5 views19 pages

Software Engineering Methodologies

The document discusses three software engineering methodologies: eXtreme Programming (XP), Boehm's Spiral, and Incremental Software Development. XP emphasizes frequent releases and client feedback, while Boehm's Spiral combines iterative prototyping with systematic development, suitable for large projects. Incremental Software Development breaks down requirements into modules, allowing for flexibility and early releases, making it ideal for projects with clear requirements and high-risk features.

Uploaded by

hyderatikul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views19 pages

Software Engineering Methodologies

The document discusses three software engineering methodologies: eXtreme Programming (XP), Boehm's Spiral, and Incremental Software Development. XP emphasizes frequent releases and client feedback, while Boehm's Spiral combines iterative prototyping with systematic development, suitable for large projects. Incremental Software Development breaks down requirements into modules, allowing for flexibility and early releases, making it ideal for projects with clear requirements and high-risk features.

Uploaded by

hyderatikul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 19

CSE 469: Project Management

Lecture 3: Software Engineering Methodologies

Dr. Suman Ahmmed


Asst. Prof., CSE, UIU
Director, Centre for Development of IT Professionals (CDIP)
Room: 1035, Email: [email protected], Mobile/WhatsApp: 01765 049901
United International University | Dhaka, Bangladesh
Today’s Topics

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

The spiral model, initially proposed


by Boehm, is an evolutionary
software process model that
couples the iterative feature of
prototyping with the controlled and
systematic aspects of the linear
sequential model. It implements the
potential for rapid development of
new versions of the software.

CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 9
What is Boehm’s Spiral Methodology

Using the spiral model, the software


is developed in a series of
incremental releases. During the
early iterations, the additional
release may be a paper model or
prototype. During later iterations,
more and more complete
versions of the engineered system
are produced.

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?

✓ When deliverance is required to


be frequent.
✓ When the project is large
✓ When requirements are unclear
and complex
✓ When changes may require at any
time
✓ Large and high budget projects

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

Incremental Model is a process of


software development where
requirements are broken down
into multiple standalone modules
of software development cycle.
Incremental development is done in
steps from analysis design,
implementation,
testing/verification, maintenance.

CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 14
What is Incremental Software Development Methodology

Each iteration passes through the


requirements, design, coding and
testing phases. And each
subsequent release of the system
adds function to the previous
release until all designed
functionality has been
implemented.

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?

✓ Requirements of the system are clearly


understood
✓ When demand for an early release
of a product arises
✓ When software engineering team
are not very well skilled or trained
✓ When high-risk features and goals are
involved
✓ Such methodology is more in use for
web application and product based
companies

CSE 469 | Software Engineering Methodologies Dr Suman Ahmmed, Department of CSE, United International University 18
Thank You

You might also like