SlideShare ist ein Scribd-Unternehmen logo
1 von 33
PROTOTYPING
• Often, a customer defines a set of general
objectives for software,but does not identify
detailed requirements for functions and
features.
• Often, a customer defines a set of general
objectives for software, but does not identify
detailed requirements for functions and
features.
Prototyping Model
(Diagram)
Prototyping Model
(Description)
•Follows an evolutionary and iterative approach
•Used when requirements are not well understood
•Serves as a mechanism for identifying software
requirements
•Focuses on those aspects of the software that are visible
to the customer/user
•Feedback is used to refine the prototype
Prototyping Model
(Potential Problems)
•The customer sees a "working version" of the software, wants to stop all
development and then buy the prototype after a "few fixes" are made
•Developers often make implementation compromises to get the software
running quickly (e.g., language choice, user interface, operating system
choice, inefficient algorithms)
•Lesson learned
–Define the rules up front on the final disposition of the prototype before it
is built
–In most circumstances, plan to discard the prototype and engineer the
actual production software with a goal toward quality
Spiral Model
(Diagram)
Spiral Model
(Description)
•Follows an evolutionary approach
•Used when requirements are not well understood
and risks are high
•Inner spirals focus on identifying software
requirements and project risks; may also
incorporate prototyping
•Outer spirals take on a classical waterfall
approach after requirements have been defined,
but permit iterative growth of the software
•Operates as a risk-driven model…a
go/no-go decision occurs after each
complete spiral in order to react to risk
determinations
•Requires considerable expertise in risk
assessment
•Serves as a realistic model for large-
scale software development
General
Weaknesses
of
Evolutionary
Process
Models
• 1)Prototyping poses a problem to
project planning because of the
uncertain number of iterations required
to construct the product
• 2)Evolutionary software processes do
not establish the maximum speed of
the evolution
• •If too fast, the process will fall into
chaos
• If too slow, productivity could be
affected
• 3)Software processes should focus first on
flexibility and extensibility, and second on high
quality
• •We should prioritize the speed of the
development over zero defects
• •Extending the development in order to reach
higher quality could result in late delivery
Concurrent Models
Agile Development
•The project will produce the wrong product.
•The project will produce a product of inferior quality.
•The project will be late.
•We’ll have to work 80 hour weeks.
•We’ll have to break commitments.
•We won’t be having fun.
What is “Agility”?
•Effective (rapid and adaptive) response to change
•Effective communication among all stakeholders
•Drawing the customer onto the team
•Organizing a team so that it is in control of the work
performed
Yielding …
•Rapid, incremental delivery of software
An Agile Process
•Is driven by customer descriptions of what is required
(scenarios)
•Recognizes that plans are short-lived
•Develops software iteratively with a heavy emphasis on
construction activities
•Delivers multiple ‘software increments’
•Adapts as changes occur
Principles of agile methods
Agile process models
•Extreme Programming (XP)
•Scrum
•Adaptive Software Development
•Dynamic System Development Method (DSDM)
•Crystal
•Feature Driven Development
•Agile Modeling (AM)
•Perhaps the best-known and most widely used agile method.
•Extreme Programming (XP) takes an ‘extreme’ approach to
iterative development.
–New versions may be built several times per day;
–Increments are delivered to customers every 2 weeks;
–All tests must be run for every build and the build is only
accepted if tests run successfully.
•XP Values
–Communication
–Simplicity
–Feedback
–Courage
–Respect
Extreme Programming (XP)
Extreme Programming (XP)
Extreme Programming (XP)
•XP Planning
–Begins with the creation of user stories
–Agile team assesses each story and assigns a
cost
–Stories are grouped to for a deliverable
increment
–A commitment is made on delivery date
–After the first increment project velocity is used
to help define subsequent delivery dates for other
Extreme Programming (XP)
•XP Design
–Follows the KIS (keep it simple) principle
–Encourage the use of CRC (class-responsibility-cards) cards
–For difficult design problems, suggests the creation of spike solutions
— a design prototype
–Encourages refactoring — an iterative refinement of the internal
program design
•XP Coding
–Recommends the construction of a unit test for a store before coding
commences
–Encourages pair programming
•XP Testing
–All unit tests are executed daily
–Acceptance tests are defined by the customer and executed to
XP and agile principles
•Incremental development is supported through small,
frequent system releases.
•Customer involvement means full-time customer
engagement with the team.
•People not process through pair programming,
collective ownership and a process that avoids long
working hours.
•Change supported through regular system releases.
•Maintaining simplicity through constant refactoring of
code.
Customer involvement
•Customer involvement is a key part of XP where the
customer is part of the development team.
•The role of the customer is:
–To help develop stories that define the requirements
–To help prioritize the features to be implemented in
each release
–To help develop acceptance tests which assess
whether or not the system meets its requirements.
Requirements scenarios
• •In XP, user requirements are expressed as scenarios or
user stories.
• •These are written on cards and the development team
break them down into implementation tasks. These tasks
are the basis of schedule and cost estimates.
• •The customer chooses the stories for inclusion in the
next release based on their priorities and the schedule
estimates.
Story card for document downloading
XP and change
•Conventional wisdom in software engineering is to
design for change. It is worth spending time and
effort anticipating changes as this reduces costs
later in the life cycle.
•XP, however, maintains that this is not worthwhile as
changes cannot be reliably anticipated.
Rather, it proposes constant code improvement
(refactoring) to make changes easier when they
have to be implemented
Refactoring
•Refactoring is the process of code improvement
where code is reorganised and rewritten to make it
more efficient, easier to understand, etc.
•Refactoring is required because frequent releases
mean that code is developed incrementally and
therefore tends to become messy.
•Refactoring should not change the functionality of the
system.
•Automated testing simplifies refactoring as you can
see if the changed code still runs the tests
successfully.
Testing in XP
•Test-first development.
•Incremental test development from scenarios.
•User involvement in test development and
validation.
•Automated test harnesses are used to run all
component tests each time that a new release
is built.
Task cards for document downloading
Test case description
Test-first development
•Writing tests before code clarifies the requirements to be
implemented.
•Tests are written as programs rather than data so that they
can be executed automatically. The test includes a check
that it has executed correctly.
•All previous and new tests are automatically run when new
functionality is added. Thus checking that the new
functionality has not introduced errors
Pair programming
•In XP, programmers work in pairs, sitting together to
develop code.
•This helps develop common ownership of code and
spreads knowledge across the team.
•It serves as an informal review process as each line of
code is looked at by more than 1 person.
•It encourages refactoring as the whole team can
benefit from this.
•Measurements suggest that development productivity
with pair programming is similar to that of two people
working independently.
Problems with XP
• Customer involvement
• This is perhaps the most difficult problem. It may be difficult or impossible to find a customer who can
represent all stakeholders and who can be taken off their normal work to become part of the XP team.
For generic products, there is no ‘customer’ - the marketing team may not be typical of real customers.
• Architectural design
• The incremental style of development can mean that inappropriate architectural decisions
are made at an early stage of the process.
• Problems with these may not become clear until many features have been implemented
and refactoring the architecture is very expensive.
• Test complacency
• It is easy for a team to believe that because it has many tests, the system is properly tested.
• Because of the automated testing approach, there is a tendency to develop tests that are
easy to automate rather than tests that are ‘good’ tests.
Key points
•Extreme programming includes practices such as systematic
testing, continuous improvement and customer involvement.
•Customers are involved in developing requirements which
are expressed as simple scenarios.
•The approach to testing in XP is a particular strength where
executable tests are developed before the code is written.
•Key problems with XP include difficulties of getting
representative customers and problems of architectural
design.

Weitere ähnliche Inhalte

Was ist angesagt?

Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...babak danyal
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingMr SMAK
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2Rupesh Vaishnav
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)Amardeep Vishwakarma
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Mithun B N
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile modelsGolda Margret Sheeba J
 
Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Pardeep Bhadwal
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Ahmed Alageed
 
Agile India 2015 Conference - Scaling agile in a mainframe product developm...
Agile India 2015 Conference  -  Scaling agile in a mainframe product developm...Agile India 2015 Conference  -  Scaling agile in a mainframe product developm...
Agile India 2015 Conference - Scaling agile in a mainframe product developm...PoojaUppalapati
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9Ian Sommerville
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chartcarbrac
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategyRahat Chowdhury
 

Was ist angesagt? (20)

Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29  - sw process 1-3 sdlc m...
Beit 381 se lec 5, 6, 7 & 8 - 69 - 12 feb21,22,28,29 - sw process 1-3 sdlc m...
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Agiel sw development
Agiel sw developmentAgiel sw development
Agiel sw development
 
Cobol agile
Cobol agileCobol agile
Cobol agile
 
4. ch 3-agile process
4. ch 3-agile process4. ch 3-agile process
4. ch 3-agile process
 
Intoduction to software engineering part 2
Intoduction to software engineering part 2Intoduction to software engineering part 2
Intoduction to software engineering part 2
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3Software Process and Project Management - CS832E02 unit 3
Software Process and Project Management - CS832E02 unit 3
 
Chapter 2 Time boxing & agile models
Chapter 2   Time boxing & agile modelsChapter 2   Time boxing & agile models
Chapter 2 Time boxing & agile models
 
Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17Assignment 2nd(sdlc)id-17
Assignment 2nd(sdlc)id-17
 
Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3Agile Method - Lec 1-2-3
Agile Method - Lec 1-2-3
 
Agile India 2015 Conference - Scaling agile in a mainframe product developm...
Agile India 2015 Conference  -  Scaling agile in a mainframe product developm...Agile India 2015 Conference  -  Scaling agile in a mainframe product developm...
Agile India 2015 Conference - Scaling agile in a mainframe product developm...
 
Ch3-Software Engineering 9
Ch3-Software Engineering 9Ch3-Software Engineering 9
Ch3-Software Engineering 9
 
Extreme Programming (XP) Project Process Flow Chart
Extreme Programming (XP)  Project Process Flow ChartExtreme Programming (XP)  Project Process Flow Chart
Extreme Programming (XP) Project Process Flow Chart
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Process models
Process modelsProcess models
Process models
 
Lect3
Lect3Lect3
Lect3
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Ais development strategy
Ais development strategyAis development strategy
Ais development strategy
 

Ähnlich wie Lecture3.se.pptx

agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.pptAteeqaKokab1
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimationssuserb7c8b8
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzAhmadSajjad34
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model arvind pandey
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineeringRupesh Vaishnav
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptDurga Prasad
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notesSiva Ayyakutti
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMMubashir Ali
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptxAnkitKumar891632
 
Software process Models
Software process ModelsSoftware process Models
Software process ModelsSADEED AMEEN
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notesAruna M
 

Ähnlich wie Lecture3.se.pptx (20)

agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.ppt
 
Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Project Life Cycle and Effort Estimation
Project Life Cycle andEffort EstimationProject Life Cycle andEffort Estimation
Project Life Cycle and Effort Estimation
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
Unit 6- Development Evolution model
Unit 6- Development Evolution model Unit 6- Development Evolution model
Unit 6- Development Evolution model
 
Software process models
Software process modelsSoftware process models
Software process models
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
what-is-devops.ppt
what-is-devops.pptwhat-is-devops.ppt
what-is-devops.ppt
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Chap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.pptChap 3 - Agile - XP.ppt
Chap 3 - Agile - XP.ppt
 
Software engineering lecture notes
Software engineering lecture notesSoftware engineering lecture notes
Software engineering lecture notes
 
Ppt nardeep
Ppt nardeepPpt nardeep
Ppt nardeep
 
Lect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPMLect-4: Software Development Life Cycle Model - SPM
Lect-4: Software Development Life Cycle Model - SPM
 
Chapter6
Chapter6Chapter6
Chapter6
 
module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Extreme Programming (XP).pptx
Extreme Programming (XP).pptxExtreme Programming (XP).pptx
Extreme Programming (XP).pptx
 
Software process Models
Software process ModelsSoftware process Models
Software process Models
 
Chapter 1,2,3,4 notes
Chapter 1,2,3,4 notesChapter 1,2,3,4 notes
Chapter 1,2,3,4 notes
 

Kürzlich hochgeladen

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projectssmsksolar
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startQuintin Balsdon
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086anil_gaur
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfRagavanV2
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...soginsider
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performancesivaprakash250
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 

Kürzlich hochgeladen (20)

Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
 
2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects2016EF22_0 solar project report rooftop projects
2016EF22_0 solar project report rooftop projects
 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 
Design For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the startDesign For Accessibility: Getting it right from the start
Design For Accessibility: Getting it right from the start
 
Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086Minimum and Maximum Modes of microprocessor 8086
Minimum and Maximum Modes of microprocessor 8086
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced LoadsFEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
FEA Based Level 3 Assessment of Deformed Tanks with Fluid Induced Loads
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 

Lecture3.se.pptx

  • 1. PROTOTYPING • Often, a customer defines a set of general objectives for software,but does not identify detailed requirements for functions and features. • Often, a customer defines a set of general objectives for software, but does not identify detailed requirements for functions and features.
  • 3. Prototyping Model (Description) •Follows an evolutionary and iterative approach •Used when requirements are not well understood •Serves as a mechanism for identifying software requirements •Focuses on those aspects of the software that are visible to the customer/user •Feedback is used to refine the prototype
  • 4. Prototyping Model (Potential Problems) •The customer sees a "working version" of the software, wants to stop all development and then buy the prototype after a "few fixes" are made •Developers often make implementation compromises to get the software running quickly (e.g., language choice, user interface, operating system choice, inefficient algorithms) •Lesson learned –Define the rules up front on the final disposition of the prototype before it is built –In most circumstances, plan to discard the prototype and engineer the actual production software with a goal toward quality
  • 6. Spiral Model (Description) •Follows an evolutionary approach •Used when requirements are not well understood and risks are high •Inner spirals focus on identifying software requirements and project risks; may also incorporate prototyping •Outer spirals take on a classical waterfall approach after requirements have been defined, but permit iterative growth of the software
  • 7. •Operates as a risk-driven model…a go/no-go decision occurs after each complete spiral in order to react to risk determinations •Requires considerable expertise in risk assessment •Serves as a realistic model for large- scale software development
  • 8. General Weaknesses of Evolutionary Process Models • 1)Prototyping poses a problem to project planning because of the uncertain number of iterations required to construct the product • 2)Evolutionary software processes do not establish the maximum speed of the evolution • •If too fast, the process will fall into chaos • If too slow, productivity could be affected
  • 9. • 3)Software processes should focus first on flexibility and extensibility, and second on high quality • •We should prioritize the speed of the development over zero defects • •Extending the development in order to reach higher quality could result in late delivery
  • 11. Agile Development •The project will produce the wrong product. •The project will produce a product of inferior quality. •The project will be late. •We’ll have to work 80 hour weeks. •We’ll have to break commitments. •We won’t be having fun.
  • 12. What is “Agility”? •Effective (rapid and adaptive) response to change •Effective communication among all stakeholders •Drawing the customer onto the team •Organizing a team so that it is in control of the work performed Yielding … •Rapid, incremental delivery of software
  • 13. An Agile Process •Is driven by customer descriptions of what is required (scenarios) •Recognizes that plans are short-lived •Develops software iteratively with a heavy emphasis on construction activities •Delivers multiple ‘software increments’ •Adapts as changes occur
  • 14.
  • 16. Agile process models •Extreme Programming (XP) •Scrum •Adaptive Software Development •Dynamic System Development Method (DSDM) •Crystal •Feature Driven Development •Agile Modeling (AM)
  • 17. •Perhaps the best-known and most widely used agile method. •Extreme Programming (XP) takes an ‘extreme’ approach to iterative development. –New versions may be built several times per day; –Increments are delivered to customers every 2 weeks; –All tests must be run for every build and the build is only accepted if tests run successfully. •XP Values –Communication –Simplicity –Feedback –Courage –Respect Extreme Programming (XP)
  • 19. Extreme Programming (XP) •XP Planning –Begins with the creation of user stories –Agile team assesses each story and assigns a cost –Stories are grouped to for a deliverable increment –A commitment is made on delivery date –After the first increment project velocity is used to help define subsequent delivery dates for other
  • 20. Extreme Programming (XP) •XP Design –Follows the KIS (keep it simple) principle –Encourage the use of CRC (class-responsibility-cards) cards –For difficult design problems, suggests the creation of spike solutions — a design prototype –Encourages refactoring — an iterative refinement of the internal program design •XP Coding –Recommends the construction of a unit test for a store before coding commences –Encourages pair programming •XP Testing –All unit tests are executed daily –Acceptance tests are defined by the customer and executed to
  • 21. XP and agile principles •Incremental development is supported through small, frequent system releases. •Customer involvement means full-time customer engagement with the team. •People not process through pair programming, collective ownership and a process that avoids long working hours. •Change supported through regular system releases. •Maintaining simplicity through constant refactoring of code.
  • 22. Customer involvement •Customer involvement is a key part of XP where the customer is part of the development team. •The role of the customer is: –To help develop stories that define the requirements –To help prioritize the features to be implemented in each release –To help develop acceptance tests which assess whether or not the system meets its requirements.
  • 23. Requirements scenarios • •In XP, user requirements are expressed as scenarios or user stories. • •These are written on cards and the development team break them down into implementation tasks. These tasks are the basis of schedule and cost estimates. • •The customer chooses the stories for inclusion in the next release based on their priorities and the schedule estimates.
  • 24. Story card for document downloading
  • 25. XP and change •Conventional wisdom in software engineering is to design for change. It is worth spending time and effort anticipating changes as this reduces costs later in the life cycle. •XP, however, maintains that this is not worthwhile as changes cannot be reliably anticipated. Rather, it proposes constant code improvement (refactoring) to make changes easier when they have to be implemented
  • 26. Refactoring •Refactoring is the process of code improvement where code is reorganised and rewritten to make it more efficient, easier to understand, etc. •Refactoring is required because frequent releases mean that code is developed incrementally and therefore tends to become messy. •Refactoring should not change the functionality of the system. •Automated testing simplifies refactoring as you can see if the changed code still runs the tests successfully.
  • 27. Testing in XP •Test-first development. •Incremental test development from scenarios. •User involvement in test development and validation. •Automated test harnesses are used to run all component tests each time that a new release is built.
  • 28. Task cards for document downloading
  • 30. Test-first development •Writing tests before code clarifies the requirements to be implemented. •Tests are written as programs rather than data so that they can be executed automatically. The test includes a check that it has executed correctly. •All previous and new tests are automatically run when new functionality is added. Thus checking that the new functionality has not introduced errors
  • 31. Pair programming •In XP, programmers work in pairs, sitting together to develop code. •This helps develop common ownership of code and spreads knowledge across the team. •It serves as an informal review process as each line of code is looked at by more than 1 person. •It encourages refactoring as the whole team can benefit from this. •Measurements suggest that development productivity with pair programming is similar to that of two people working independently.
  • 32. Problems with XP • Customer involvement • This is perhaps the most difficult problem. It may be difficult or impossible to find a customer who can represent all stakeholders and who can be taken off their normal work to become part of the XP team. For generic products, there is no ‘customer’ - the marketing team may not be typical of real customers. • Architectural design • The incremental style of development can mean that inappropriate architectural decisions are made at an early stage of the process. • Problems with these may not become clear until many features have been implemented and refactoring the architecture is very expensive. • Test complacency • It is easy for a team to believe that because it has many tests, the system is properly tested. • Because of the automated testing approach, there is a tendency to develop tests that are easy to automate rather than tests that are ‘good’ tests.
  • 33. Key points •Extreme programming includes practices such as systematic testing, continuous improvement and customer involvement. •Customers are involved in developing requirements which are expressed as simple scenarios. •The approach to testing in XP is a particular strength where executable tests are developed before the code is written. •Key problems with XP include difficulties of getting representative customers and problems of architectural design.