What is prototyping - PowerPoint PPT Presentation

1 / 24
About This Presentation
Title:

What is prototyping

Description:

Throw-away prototyping prototype is produced to help elucidate / validate ... Developers may be pressurized to deliver a throw-away prototype as the final system. ... – PowerPoint PPT presentation

Number of Views:110
Avg rating:3.0/5.0
Slides: 25
Provided by: CISE9
Category:

less

Transcript and Presenter's Notes

Title: What is prototyping


1
What is prototyping?
  • Some traditional features
  • An iterative process emphasizing
  • Rapid development,
  • Evaluative use,
  • Feedback, and
  • Modification
  • Learning (based on feedback)
  • Consideration of alternatives
  • Concreteness (a real system is developed and
    presented to real users)

2
Uses of prototypes
  • Principal use is to help customers and developers
    better understand system requirements.
  • Experimentation stimulates anticipation of how a
    system could be used.
  • Attempting to use functions together to
    accomplish some task can easily reveal
    requirements problems.

3
Prototyping benefits
  • Misunderstandings exposed.
  • Difficulttouse or confusing services identified
  • Missing services detected
  • Incomplete and/or inconsistent requirements found
    by analysts as prototype is being developed.
  • Can demo feasibility and usefulness
  • Basis for writing a system specification

4
Prototyping process
5
Prototyping in the software process
  • Evolutionary prototyping (exploratory
    development in Chap. 3) prototype is produced
    and refined through a number of stages to become
    the final system.
  • Throw-away prototyping prototype is produced to
    help elucidate / validate require-ments and then
    discarded. The system is then developed using
    some other development process.

6
Approaches to prototyping
7
Evolutionary prototyping
8
Advantages of evolutionary prototyping over
normal system development
  • Accelerated delivery quick availability is
    sometimes more important than details of
    functionality or maintainability.
  • User engagement system is more likely to meet
    user requirements and users are more likely to
    want to make it work.

9
Evolutionary prototyping problems
  • Management problems
  • Poor fit with existing waterfall management model
  • Specialized developer skills required
  • Maintenance problems continual change tends to
    corrupt system structure so long-term maintenance
    is expensive.
  • Contractual problems no system require-ments
    specification to serve as basis for contract

10
Incremental development process
11
Throw-away prototyping
  • Used to reduce requirements risk.
  • Initial prototype is developed from outline
    requirements, delivered for experiment, and
    modified until risk is acceptably low.

12
Throw-away prototyping
13
Throw-away prototype delivery
  • Developers may be pressurized to deliver a
    throw-away prototype as the final system.
  • This is very problematic...
  • It may be impossible to meet non-functional
    requirements.
  • The prototype is almost certainly undocumented.
  • The system may be poorly structured and therefore
    difficult to maintain.
  • Normal quality standards may not have been
    applied.

14
No, no, no! I wont deliver the prototype to you!
User Mgmt
Developer
Air Tank
Pressurizing the Developer
15
Implementation techniques
  • Various techniques may be used for rapid
    development
  • Dynamic high-level language development
  • Database programming (4GLs)
  • Component and application assembly
  • These are not mutually exclusive they are often
    used together.
  • Visual programming is an inherent part of most
    prototype development systems.

16
Dynamic high-level languages
  • Include powerful data management facilities
    often typeless and interpretive
  • Require large run-time support system not
    normally used for large system development.
  • Some offer excellent GUI development facilities.
  • Some have an integrated support environment whose
    facilities may be used in the prototype.
  • Examples Lisp (list structure based), Prolog
    (logic based), and Smalltalk (object-oriented)

17
Choice of prototyping language
  • What is the application domain? (e.g., NLP?,
    matrix manipulation?)
  • What user interaction is required? (text-based?
    Web-based?)
  • What support environment comes with the language?
    (e.g., tools, components)

18
Choice of prototyping language
  • What support environment comes with the language?
    (e.g., tools, components)
  • Different parts of the system may be programmed
    in different languages. However, there may be
    problems with language communications.
  • A multi-paradigm language (e.g., LOOPS) can
    reduce this problem.

19
Database programming languages
  • Domain specific languages for business systems
    based around a database management system
  • Normally include a database query language, a
    screen generator, a report generator and a
    spreadsheet.
  • May be integrated with a CASE toolset

20
Database programming languages
  • The language environment is some-times known as
    a fourth-generation language (4GL)
  • Cost-effective for small to medium sized business
    systems
  • Examples include Informix, Appgen, Sculptor, and
    Power-4GL.

21
Application linking in compound documents
22
Visual programming
  • Scripting languages such as Visual Basic support
    visual programming where the prototype is
    developed by creating a user interface from
    standard items and associating components with
    these items.
  • A large library of components exists to support
    this type of development
  • These may be tailored to suit the specific
    application requirements.

23
Visual programming with reuse
24
Problems with visual development
  • Difficult to coordinate team-based development
  • No explicit system architecture (hidden)
  • Complex dependencies between parts of the program
    can cause maintainability problems.
Write a Comment
User Comments (0)
About PowerShow.com