SlidePub
Home
Categories
Login
Register
Home
Technology
how to prototype software product using agile methodologys
how to prototype software product using agile methodologys
RajivMathew5
8 views
17 slides
Sep 22, 2024
Slide
1
of 17
Previous
Next
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
About This Presentation
how to prototype software products
Size:
92.96 KB
Language:
en
Added:
Sep 22, 2024
Slides:
17 pages
Slide Content
Slide 1
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1
Software Prototyping
Slide 2
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 2
System prototyping
Prototyping is the rapid development of a system
In the past, the prototype was normally thought of
as inferior in some way to the required system, so
further development was required.
Now, the boundary between prototyping and
normal system development is blurred and many
systems are developed using an evolutionary
approach.
Slide 3
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 3
Uses of system prototypes
The principal use is to help customers and
developers understand the requirements for the
system
•Requirements elicitation. Users can experiment with a
prototype to see how the system supports their work
•Requirements validation. The prototype can reveal errors and
omissions in the requirements
Prototyping can be a risk reduction activity that
reduces requirements risks.
Slide 4
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 4
Prototyping benefits
Misunderstandings between software users and
developers are exposed.
Missing services may be detected and confusing
services may be identified.
A working system is available early in the process.
The prototype may serve as a basis for deriving a
system specification.
The system can support user training and system
testing.
Slide 5
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 5
Prototyping benefits
Improved system usability
Closer match to the system needed
Improved design quality
Improved maintainability
Reduced overall development effort (?)
Slide 6
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 6
Prototyping in the software process
Evolutionary prototyping
•An approach to system development where an initial prototype
is produced and refined through a number of stages to the final
system
Throw-away prototyping
•A prototype which is usually a practical implementation of the
system is produced to help discover requirements problems and
then discarded. The system is then developed using some other
development process.
Slide 7
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 7
Prototyping objectives
The objective of evolutionary prototyping is to
deliver a working system to end-users. The
development starts with those requirements that
are best understood.
The objective of throw-away prototyping is to
validate or derive the system requirements. The
prototyping process starts with those
requirements that are poorly understood.
Slide 8
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 8
Evolutionary prototyping
Good for systems where the specification cannot
be developed in advance; e.g., AI systems and
user interface systems
Based on techniques that allow rapid system
iterations
Verification is impossible as there is no
specification. Validation means demonstrating the
adequacy of the system.
Slide 9
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 9
Evolutionary prototyping
Build prototype
system
Develop abstract
specification
Use prototype
system
Deliver
system
System
adequate?
YES
N
Slide 10
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 10
Evolutionary prototyping
Specification, design and implementation are
inter-twined.
The system is developed as a series of increments
that are delivered to the customer.
Techniques for rapid system development are
used such as CASE tools and 4GLs.
User interfaces are usually developed using a GUI
development toolkit.
Slide 11
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 11
Evolutionary prototyping advantages
Accelerated delivery of the system
•Rapid delivery and deployment are sometimes more important
than functionality or long-term software maintainability
User engagement with the system
•Not only is the system more likely to meet user requirements,
they are more likely to commit to the use of the system
Slide 12
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 12
Evolutionary prototyping problems
Management problems
•Existing management processes assume a waterfall model of
development
•Specialist skills are required which may not be available in all
development teams
Maintenance problems
•Continual change tends to corrupt system structure so long-term
maintenance is expensive
Contractual problems
Slide 13
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 13
Prototypes as specifications
Some parts of the requirements (e.g., safety-
critical functions) may be impossible to prototype
and so don’t appear in the specification.
An implementation has no legal standing as a
contract.
Non-functional requirements cannot be
adequately tested in a system prototype.
Slide 14
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 14
Incremental development
System is developed and delivered in increments
after establishing an overall architecture
Requirements and specifications for each increment
may be developed
Users may experiment with delivered increments
while others are being developed. Therefore, these
serve as a form of prototype system.
Intended to combine some of the advantages of
prototyping, but with a more manageable process
and better system structure
Slide 15
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 15
Throw-away prototyping
Used to reduce requirements risk
The prototype is developed from an initial
specification, delivered for experimentation, then
discarded.
The throw-away prototype should NOT be
considered as a final system
•Some system characteristics may have been left out
•There is no specification for long-term maintenance
•The system will be poorly structured and difficult to maintain
Slide 16
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 16
Prototype delivery
Developers may be pressured to deliver a throw-
away prototype as a final system.
This is not recommended
•It may be impossible to tune the prototype to meet non-
functional requirements.
•The prototype is inevitably undocumented.
•The system structure will be degraded through changes made
during development.
•Normal organizational quality standards may not have been
applied.
Slide 17
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 17
Throw-away prototyping
advantages
Increase in speed of delivery of the prototype:
•No need to worry about documentation
•Can use rapid development tools that may not normally be used
for final product development
•Can use any tool that will meet the need (the prototype will be
discarded)
Developers can concentrate heavily on eliciting
requirements from the client rather than on actual
software development.
Tags
Categories
Technology
Design
Download
Download Slideshow
Get the original presentation file
Quick Actions
Embed
Share
Save
Print
Full
Report
Statistics
Views
8
Slides
17
Age
436 days
Related Slideshows
11
8-top-ai-courses-for-customer-support-representatives-in-2025.pptx
JeroenErne2
48 views
10
7-essential-ai-courses-for-call-center-supervisors-in-2025.pptx
JeroenErne2
47 views
13
25-essential-ai-courses-for-user-support-specialists-in-2025.pptx
JeroenErne2
37 views
11
8-essential-ai-courses-for-insurance-customer-service-representatives-in-2025.pptx
JeroenErne2
34 views
21
Know for Certain
DaveSinNM
21 views
17
PPT OPD LES 3ertt4t4tqqqe23e3e3rq2qq232.pptx
novasedanayoga46
26 views
View More in This Category
Embed Slideshow
Dimensions
Width (px)
Height (px)
Start Page
Which slide to start from (1-17)
Options
Auto-play slides
Show controls
Embed Code
Copy Code
Share Slideshow
Share on Social Media
Share on Facebook
Share on Twitter
Share on LinkedIn
Share via Email
Or copy link
Copy
Report Content
Reason for reporting
*
Select a reason...
Inappropriate content
Copyright violation
Spam or misleading
Offensive or hateful
Privacy violation
Other
Slide number
Leave blank if it applies to the entire slideshow
Additional details
*
Help us understand the problem better