SlideShare uma empresa Scribd logo
1 de 23
Software Development Processes
Traditional/Waterfall
 Prototyping
 Rapid Application Development (RAD)
 Evolutionary


◦
◦
◦

Incremental
Spiral
Component Assembly

Agile Methods (e.g. XP)
 Formal Methods
 Fourth Generation Techniques

Project
Definition
Requirements
Analysis
Design

Program
Implementation
Component
Testing
Integration
Testing
System
Testing
System
Delivery
Maintenance









Most widely used, though no longer state-of-the-art
Each step results in documentation
May be suitable for well-understood developments using
familiar technology
Not suited to new, different systems because of
specification uncertainty
Difficulty in accommodating change after the process has
started
Can accommodate iteration but indirectly
Working version not available till late in process
Often get blocking states
Specifying requirements is often very difficult
 Users don’t know exactly what they want until
they see it
 Prototyping involves building a mock-up of
the system and using to obtain for user
feedback
 Closely related to what are now called “Agile
Methods”

Listen to
Customer

Build/Revise
Mock-up

Customer
test-drives
mock-up
Ideally mock-up serves as mechanism for
identifying requirements
 Users like the method, get a feeling for the actual
system
 Less ideally may be the basis for completed
product


◦
◦
◦

prototypes often ignore quality/performance/maintenance
issues
may create pressure from users on deliver earlier
may use a less-than-ideal platform to deliver e.g Visual
Basic - excellent for prototyping, may not be as effective
in actual operation
Similar to waterfall but uses a very short
development cycle (60 to 90 days to completion)
 Uses component-based construction and
emphasises reuse and code generation
 Use multiple teams on scaleable projects
 Requires heavy resources
 Requires developers and customers who are
heavily committed
 Performance can be a problem
 Difficult to use with new technology

Team 1

Team 2

Team 3

Business
Business

modelling

Business

modelling
Data
modelling

modelling
Data
modelling

Data
modelling

Process
modelling

Process
modelling

Process
modelling

Application
generation

Applicatio
n

Application

Testing
and
turnover

generation

generation

Testing and
turnover

Testing
and
turnover







Applies an iterative philosophy to the waterfall model
Divide functionality of system into increments and use a linear
sequence of development on each increment
First increment delivered is usually the core product, i.e only basic
functionality
Reviews of each increment impact on design of later increments
Manages risk well
Extreme Programming (XP), and other Agile Methods, are
incremental, but they do not implement the waterfall model steps in
the standard order
1st Increment
analysis

design

coding

testing

delivery

2nd Increment
analysis

design

coding

Project
Definition

testing

delivery

3rd Increment
analysis

design

coding

testing

delivery

4th Increment
analysis

design

coding

testing

delivery


Development cycles through multiple (3-6) task
regions (6 stage version)
◦
◦
◦
◦
◦
◦



Incremental releases
◦
◦



customer communication
planning
risk analysis
engineering
construction and release
customer evaluation

early releases may be paper or prototypes
later releases become more complicated

Models software until it is no longer used
Not a silver bullet, but considered to be one of the
best approaches
 Is a realistic approach to the problems of large
scale software development
 Can use prototyping during any phase in the
evolution of product
 Requires excellent management and risk
assessment skills

Incorporates features of the spiral model
 Usually based on object technologies, but not
necessarily e.g. Visual Basic (older versions)
 Compose applications from pre-packaged
software components
 Can greatly boost productivity and reuse
 Relies heavily on quality and robustness of the
software components
 Fits into the Engineering/Construction task region
of the spiral model






In the last few years, a group of influential writers and
consultants have got behind a group of software
development processes known collectively as “Agile
Methods”
Agile Methods reject the notion that we should design for
future change – don’t “borrow trouble”
There is a “Manifesto for Agile Software Development”:
“We are uncovering better ways of developing software by doing it and
helping others do it. Through this work we have come to value:
 Individuals and interactions over processes and tools
 Working software over comprehensive documentation
 Customer collaboration over contract negotiation
 Responding to change over following a plan”



Seductive, isn’t it?

◦ Beware: it is not yet widely accepted in industry, and its own
proponents admit that it is not always a good choice


The best-known agile development process eXtreme
Programming (XP), introduced by Kent Beck in
1999. It’s main principles are:
◦ Rapid feedback

 Very frequent builds – many per day
 Tests written first

◦ Assume simplicity

 Don’t borrow trouble – but “simplicity” is not easy. It can often
take skill, effort and experience to recognize the simplest
solution (as we will see with Design Patterns later in the
semester)

◦ Incremental change
◦ Embracing change
◦ Quality work


The XP methodology has many practices. Beck emphasizes that
you can’t pick and choose: if you’re not doing them all, you’re not
doing XP
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦
◦

The Planning Game
Small releases
Metaphor
Simple Design
Testing – tests are written first, by both programmers and customer
Refactoring
Pair programming
Collective ownership
Continuous integration
40-hour week
On-site customer
Coding standards


XP is very appealing to many programmers – often
because they think can get away from heavy
documentation

◦ in fact the test-first practice creates a lot of documentation, though in
code form



Beck himself indicates that there are situations where XP
is not appropriate. These include:
◦ When it is not supported by the company culture
 e.g. belief in big specifications, or overtime seen as a proxy for
commitment to company
◦ More than 10 or 20 programmers (this is a big one!)
◦ Project too big for regular complete integration
◦ Where it inherently takes a long time to get feedback
◦ Where you can’t realistically test
 e.g. already in production using a $1,000,000 machine that is
already at full capacity
◦ When the physical environment is wrong
Use of mathematical techniques to specify the
requirements of the system e.g the B method, Z,
VDM, Object-Z
 Mainly used in life or mission-critical applications, e.g
heart pacemakers, NASA
 Can get very high quality software
 Problems


◦
◦
◦

Time-consuming and expensive
Few developers have necessary skills, so extensive training
required
Difficult to use as a tool to communicate with users
The use of CASE and 4GL tools which let you
specify the software at a high-level
 Example: Hamilton-1 uses a formal specification
language to generate complete system from
requirements analysis ($100,000 per license)
 Use of 4GT has grown considerably in the last
decade
 Some indications of productivity improvements for
small and intermediate applications

Large projects require as much or more analysis,
design and testing to achieve the time gains from
the elimination of coding
 Often problems with efficiency of automatically
generated code


Mais conteúdo relacionado

Mais procurados

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
Fatemeh Karimi
 
Prototype model
Prototype modelPrototype model
Prototype model
shuisharma
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
Mr SMAK
 
Prototype model
Prototype modelPrototype model
Prototype model
sadhana8
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-model
Ali MasudianPour
 

Mais procurados (20)

Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Introduction To Extreme Programming
Introduction To Extreme ProgrammingIntroduction To Extreme Programming
Introduction To Extreme Programming
 
Agile Practices - eXtreme Programming
Agile Practices - eXtreme ProgrammingAgile Practices - eXtreme Programming
Agile Practices - eXtreme Programming
 
Prototype Model
Prototype ModelPrototype Model
Prototype Model
 
Software prototyping
Software prototypingSoftware prototyping
Software prototyping
 
Extreme Programming (XP) for Dummies
Extreme Programming (XP) for DummiesExtreme Programming (XP) for Dummies
Extreme Programming (XP) for Dummies
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Extreme & pair programming Slides ppt
Extreme & pair programming Slides pptExtreme & pair programming Slides ppt
Extreme & pair programming Slides ppt
 
XP In 10 slides
XP In 10 slidesXP In 10 slides
XP In 10 slides
 
Evolutionary models
Evolutionary modelsEvolutionary models
Evolutionary models
 
Software prototyping
Software prototypingSoftware prototyping
Software prototyping
 
How BDD enables True CI/CD
How BDD enables True CI/CDHow BDD enables True CI/CD
How BDD enables True CI/CD
 
ADUF - Adaptable Design Up Front
ADUF -  Adaptable Design Up FrontADUF -  Adaptable Design Up Front
ADUF - Adaptable Design Up Front
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Prototype model
Prototype modelPrototype model
Prototype model
 
Xp exterme-programming-model
Xp exterme-programming-modelXp exterme-programming-model
Xp exterme-programming-model
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Extreme programming (xp) | David Tzemach
Extreme programming (xp) | David TzemachExtreme programming (xp) | David Tzemach
Extreme programming (xp) | David Tzemach
 
Effective Prototyping Process for Software Creation
Effective Prototyping Process for Software CreationEffective Prototyping Process for Software Creation
Effective Prototyping Process for Software Creation
 

Semelhante a software lecture

Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
swatisinghal
 

Semelhante a software lecture (20)

Ch17
Ch17Ch17
Ch17
 
reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
Sdlc cource in_mumbai
Sdlc cource in_mumbaiSdlc cource in_mumbai
Sdlc cource in_mumbai
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Software development process basic
Software development process basicSoftware development process basic
Software development process basic
 
01lifecycles
01lifecycles01lifecycles
01lifecycles
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Slides chapter 3
Slides chapter 3Slides chapter 3
Slides chapter 3
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Introduction,Software Process Models, Project Management
Introduction,Software Process Models, Project ManagementIntroduction,Software Process Models, Project Management
Introduction,Software Process Models, Project Management
 
Software process life cycles
Software process life cyclesSoftware process life cycles
Software process life cycles
 
Sdlc
SdlcSdlc
Sdlc
 
Software process model
Software process modelSoftware process model
Software process model
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 

Último

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
kauryashika82
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Último (20)

Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
Ecological Succession. ( ECOSYSTEM, B. Pharmacy, 1st Year, Sem-II, Environmen...
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in DelhiRussian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
Russian Escort Service in Delhi 11k Hotel Foreigner Russian Call Girls in Delhi
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
Explore beautiful and ugly buildings. Mathematics helps us create beautiful d...
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 

software lecture

  • 2. Traditional/Waterfall  Prototyping  Rapid Application Development (RAD)  Evolutionary  ◦ ◦ ◦ Incremental Spiral Component Assembly Agile Methods (e.g. XP)  Formal Methods  Fourth Generation Techniques 
  • 4.         Most widely used, though no longer state-of-the-art Each step results in documentation May be suitable for well-understood developments using familiar technology Not suited to new, different systems because of specification uncertainty Difficulty in accommodating change after the process has started Can accommodate iteration but indirectly Working version not available till late in process Often get blocking states
  • 5. Specifying requirements is often very difficult  Users don’t know exactly what they want until they see it  Prototyping involves building a mock-up of the system and using to obtain for user feedback  Closely related to what are now called “Agile Methods” 
  • 7. Ideally mock-up serves as mechanism for identifying requirements  Users like the method, get a feeling for the actual system  Less ideally may be the basis for completed product  ◦ ◦ ◦ prototypes often ignore quality/performance/maintenance issues may create pressure from users on deliver earlier may use a less-than-ideal platform to deliver e.g Visual Basic - excellent for prototyping, may not be as effective in actual operation
  • 8. Similar to waterfall but uses a very short development cycle (60 to 90 days to completion)  Uses component-based construction and emphasises reuse and code generation  Use multiple teams on scaleable projects  Requires heavy resources  Requires developers and customers who are heavily committed  Performance can be a problem  Difficult to use with new technology 
  • 9. Team 1 Team 2 Team 3 Business Business modelling Business modelling Data modelling modelling Data modelling Data modelling Process modelling Process modelling Process modelling Application generation Applicatio n Application Testing and turnover generation generation Testing and turnover Testing and turnover
  • 10.       Applies an iterative philosophy to the waterfall model Divide functionality of system into increments and use a linear sequence of development on each increment First increment delivered is usually the core product, i.e only basic functionality Reviews of each increment impact on design of later increments Manages risk well Extreme Programming (XP), and other Agile Methods, are incremental, but they do not implement the waterfall model steps in the standard order
  • 11. 1st Increment analysis design coding testing delivery 2nd Increment analysis design coding Project Definition testing delivery 3rd Increment analysis design coding testing delivery 4th Increment analysis design coding testing delivery
  • 12.  Development cycles through multiple (3-6) task regions (6 stage version) ◦ ◦ ◦ ◦ ◦ ◦  Incremental releases ◦ ◦  customer communication planning risk analysis engineering construction and release customer evaluation early releases may be paper or prototypes later releases become more complicated Models software until it is no longer used
  • 13.
  • 14. Not a silver bullet, but considered to be one of the best approaches  Is a realistic approach to the problems of large scale software development  Can use prototyping during any phase in the evolution of product  Requires excellent management and risk assessment skills 
  • 15. Incorporates features of the spiral model  Usually based on object technologies, but not necessarily e.g. Visual Basic (older versions)  Compose applications from pre-packaged software components  Can greatly boost productivity and reuse  Relies heavily on quality and robustness of the software components  Fits into the Engineering/Construction task region of the spiral model 
  • 16.
  • 17.    In the last few years, a group of influential writers and consultants have got behind a group of software development processes known collectively as “Agile Methods” Agile Methods reject the notion that we should design for future change – don’t “borrow trouble” There is a “Manifesto for Agile Software Development”: “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:  Individuals and interactions over processes and tools  Working software over comprehensive documentation  Customer collaboration over contract negotiation  Responding to change over following a plan”  Seductive, isn’t it? ◦ Beware: it is not yet widely accepted in industry, and its own proponents admit that it is not always a good choice
  • 18.  The best-known agile development process eXtreme Programming (XP), introduced by Kent Beck in 1999. It’s main principles are: ◦ Rapid feedback  Very frequent builds – many per day  Tests written first ◦ Assume simplicity  Don’t borrow trouble – but “simplicity” is not easy. It can often take skill, effort and experience to recognize the simplest solution (as we will see with Design Patterns later in the semester) ◦ Incremental change ◦ Embracing change ◦ Quality work
  • 19.  The XP methodology has many practices. Beck emphasizes that you can’t pick and choose: if you’re not doing them all, you’re not doing XP ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ ◦ The Planning Game Small releases Metaphor Simple Design Testing – tests are written first, by both programmers and customer Refactoring Pair programming Collective ownership Continuous integration 40-hour week On-site customer Coding standards
  • 20.  XP is very appealing to many programmers – often because they think can get away from heavy documentation ◦ in fact the test-first practice creates a lot of documentation, though in code form  Beck himself indicates that there are situations where XP is not appropriate. These include: ◦ When it is not supported by the company culture  e.g. belief in big specifications, or overtime seen as a proxy for commitment to company ◦ More than 10 or 20 programmers (this is a big one!) ◦ Project too big for regular complete integration ◦ Where it inherently takes a long time to get feedback ◦ Where you can’t realistically test  e.g. already in production using a $1,000,000 machine that is already at full capacity ◦ When the physical environment is wrong
  • 21. Use of mathematical techniques to specify the requirements of the system e.g the B method, Z, VDM, Object-Z  Mainly used in life or mission-critical applications, e.g heart pacemakers, NASA  Can get very high quality software  Problems  ◦ ◦ ◦ Time-consuming and expensive Few developers have necessary skills, so extensive training required Difficult to use as a tool to communicate with users
  • 22. The use of CASE and 4GL tools which let you specify the software at a high-level  Example: Hamilton-1 uses a formal specification language to generate complete system from requirements analysis ($100,000 per license)  Use of 4GT has grown considerably in the last decade  Some indications of productivity improvements for small and intermediate applications 
  • 23. Large projects require as much or more analysis, design and testing to achieve the time gains from the elimination of coding  Often problems with efficiency of automatically generated code 