+ All Categories
Home > Documents > vu-re-lecture-21.ppt

vu-re-lecture-21.ppt

Date post: 02-Jun-2018
Category:
Upload: saiful-islam-ony
View: 214 times
Download: 0 times
Share this document with a friend

of 35

Transcript
  • 8/10/2019 vu-re-lecture-21.ppt

    1/35

    1

    Prototyping

    Lecture # 21

  • 8/10/2019 vu-re-lecture-21.ppt

    2/35

    2

    Prototyping

    It is the technique of constructing a

    partial implementation of a system so

    that customers, users, or developers

    can learn more about a problem or a

    solution to that problem

  • 8/10/2019 vu-re-lecture-21.ppt

    3/35

    3

    Prototype - 1

    An initial version of the system under

    development, which is available early

    in the development process

    A prototype can be a subset of a

    system, and vice versa, but they are notthe same

  • 8/10/2019 vu-re-lecture-21.ppt

    4/35

    4

    Prototype - 2

    In hardware systems, prototypes are

    often developed to test and experiment

    with system designs

    In software systems, prototypes are

    more often used to help elicit andvalidate the system requirements.

    There are other uses also

  • 8/10/2019 vu-re-lecture-21.ppt

    5/35

    5

    Prototype - 3

    It should be easy for a prototype to be

    developed quickly, so that it can be used

    during the development process

    Prototypes are valuable for requirements

    elicitation because users can experiment

    with the system and point out its strengthsand weaknesses. They have something

    concrete to criticize

  • 8/10/2019 vu-re-lecture-21.ppt

    6/35

    6

    Types of Prototyping

    Throw-away prototyping

    Evolutionary prototyping

  • 8/10/2019 vu-re-lecture-21.ppt

    7/35

    7

    Throw-away Prototyping - 1

    Intended to help elicit and develop the

    system requirements

    The requirements which should be

    prototyped are those which cause most

    difficulties to customers and which arethe hardest to understand. Little

    documentation is needed

  • 8/10/2019 vu-re-lecture-21.ppt

    8/35

    8

    Throw-away Prototyping - 2

    Determine the feasibility of arequirement

    Validate that a particular function isreally necessary

    Uncover missing requirements

    Determine the viability of a userinterface

  • 8/10/2019 vu-re-lecture-21.ppt

    9/35

    9

    Throw-away Prototyping - 3

    Writing a preliminary requirements

    document

    Implementing the prototype based on

    those requirements

    Achieving user experience withprototype

  • 8/10/2019 vu-re-lecture-21.ppt

    10/35

    10

    Throw-away Prototyping - 4

    Writing the real SRS

    Developing the real product

  • 8/10/2019 vu-re-lecture-21.ppt

    11/35

    11

    Evolutionary Prototyping - 1

    Intended to deliver a workable system

    quickly to the customer

    The requirements which should be

    supported by the initial versions of this

    prototype are those which are well-understood and which can deliver

    useful end-user functionality

  • 8/10/2019 vu-re-lecture-21.ppt

    12/35

    12

    Evolutionary Prototyping - 2

    Documentation of the prototype is

    needed to build upon

    This process repeats indefinitely until

    the prototype system satisfies all needs

    and has thus evolved into the realsystem

  • 8/10/2019 vu-re-lecture-21.ppt

    13/35

    13

    Evolutionary Prototyping - 3

    Evolutionary prototype may not be

    built in a dirty fashion. The

    evolutionary prototype evolves into the

    final product, and thus it must exhibit

    all the quality attributes of the final

    product

  • 8/10/2019 vu-re-lecture-21.ppt

    14/35

    14

    Comparison of Prototyping - 1

    Throwaway Evolutionary

    Developmentapproach

    Quick anddirty. No

    rigor

    No sloppiness.Rigorous

  • 8/10/2019 vu-re-lecture-21.ppt

    15/35

    15

    Comparison of Prototyping - 2

    Throwaway Evolutionary

    What to build Build onlydifficult parts Buildunderstood

    parts first.

    Build on solid

    foundation

  • 8/10/2019 vu-re-lecture-21.ppt

    16/35

    16

    Comparison of Prototyping - 3

    Throwaway Evolutionary

    Design drivers Optimize

    development

    time

    Optimize

    modifiability

    Ultimate goal Throw it away Evolve it

  • 8/10/2019 vu-re-lecture-21.ppt

    17/35

    17

    Prototyping Benefits - 1

    The prototype allows users to

    experiment and discover what they

    really need to support their work

    Establishes feasibility and usefulness

    before high development costs areincurred

  • 8/10/2019 vu-re-lecture-21.ppt

    18/35

    18

    Prototyping Benefits - 2

    Essential for developing the look and

    feel of a user interface. Helps

    customers in visualizing their

    requirements

    Forces a detailed study of therequirements which reveals

    inconsistencies and omissions

  • 8/10/2019 vu-re-lecture-21.ppt

    19/35

    19

    Prototyping Costs

    Training costs

    Prototype development may require the

    use of special purpose tools

    Development costs

    Depend on the type of prototype beingdeveloped

  • 8/10/2019 vu-re-lecture-21.ppt

    20/35

    20

    Prototyping Problems - 1

    Extended development schedules

    Developing a prototype may extend the

    schedule although the prototyping time

    may be recovered because rework is

    avoided

  • 8/10/2019 vu-re-lecture-21.ppt

    21/35

    21

    Prototyping Problems - 2

    Incompleteness

    It may not be possible to prototype

    emergent system requirements

  • 8/10/2019 vu-re-lecture-21.ppt

    22/35

    22

    Additional Benefits of

    Prototyping Developing a system prototype is

    worth the investment in time and

    money Real needs of the customers will be

    reflected in the requirements set

    Rework will be reduced

    Defect prevention

  • 8/10/2019 vu-re-lecture-21.ppt

    23/35

    23

    Developing Prototypes

    Conventional system development

    techniques usually take too long, and

    prototypes are needed early in the

    elicitation process to be useful

    Rapid development approaches areused for prototype development

  • 8/10/2019 vu-re-lecture-21.ppt

    24/35

    24

    Approaches to Prototyping

    Paper prototyping

    Wizard of Oz prototyping

    Executable prototyping

  • 8/10/2019 vu-re-lecture-21.ppt

    25/35

    25

    Paper Prototyping - 1

    A paper mock-up of the system is

    developed and used for system

    experiments

    This is very cheap and very effective

    approach to prototype development No executable software is needed

  • 8/10/2019 vu-re-lecture-21.ppt

    26/35

    26

    Paper Prototyping - 2

    Paper versions of the screens, which

    might be presented to the user are

    drawn and various usage scenarios are

    planned

    For interactive systems, this is veryeffective way to find users reactions

    and the required information

  • 8/10/2019 vu-re-lecture-21.ppt

    27/35

    27

    Wizard of Oz Prototyping - 1

    A person simulates the responses of thesystem in response to some user inputs

    Relatively cheap as only user interfacesoftware needs to be developed

    The users interact through this userinterface software and all requests arechanneled to the a person, who simulatesthe systems responses

  • 8/10/2019 vu-re-lecture-21.ppt

    28/35

    28

    Wizard of Oz Prototyping - 2

    This is particularly useful for new

    systems, which are extensions of

    existing software systems, and the

    users are familiar with the existing user

    interface

    The person simulating the system is

    called Wizard of Oz

  • 8/10/2019 vu-re-lecture-21.ppt

    29/35

    29

    Executable Prototyping - 1

    A fourth generation language or other

    rapid development environment is used

    to develop an executable prototype

    This is an expensive option and

    involves writing software to simulatethe functionality of the proposed

    system

  • 8/10/2019 vu-re-lecture-21.ppt

    30/35

    30

    Executable Prototyping - 2

    4GLs based around database systems

    are useful for developing prototypes,

    which involve information

    management

  • 8/10/2019 vu-re-lecture-21.ppt

    31/35

    31

    Executable Prototyping - 3

    Visual programming languages such as

    Visual Basic or ObjectWorks

    These languages are supported by powerfuldevelopment environments, which include

    access to reusable objects and user interface

    development utilities. Support for database-oriented applications is not that strong

  • 8/10/2019 vu-re-lecture-21.ppt

    32/35

    32

    Executable Prototyping - 4

    Internet-based prototyping solutions

    based on WWW browsers and

    languages. Here, we a ready-made

    user interface and Java applets can be

    used to add functionality to the user

    interface

  • 8/10/2019 vu-re-lecture-21.ppt

    33/35

    33

    Comments on Prototyping

    Prototyping interactive applications is

    easier than prototyping real-time

    applications

    Prototyping is used better to

    understand and discover functional

    requirements, as compared to non-

    functional requirements

  • 8/10/2019 vu-re-lecture-21.ppt

    34/35

    34

    Summary

    Discussed different aspects of prototyping,

    its types, and how it is useful in

    requirements engineering, particularlyrequirements elicitation

    We also discussed approaches to

    prototyping: paper prototyping, Wizard ofOz prototyping, and automated

    prototyping

  • 8/10/2019 vu-re-lecture-21.ppt

    35/35

    35

    References

    Software Engineering: A

    Practitioners Approach by R.

    Pressman, PH 2000

    Requirements Engineering: Processes

    and Techniques by G. Kotonya and I.

    Sommerville, John Wiley & Sons,

    1998


Recommended