Top Banner
ISDE Prototyping JTB Oc t 2000 1 ISDE ISDE Prototyping Preece Chapter 27
31
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 1

ISDEISDE

Prototyping

Preece Chapter 27

Page 2: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 2

Objectives of LectureObjectives of Lecture

Overview of PrototypingWhat is prototypingAims of prototypingPrototyping techniquesPrototyping tools

Page 3: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 3

OverviewOverview

Prototyping is a well understood and used technique in engineering where novel products are tested by testing a model prototype– prototypes can be “throw away” (e.g., scale models) or

go into commercial use (Concorde!)

In software development prototypes can be– paper-based - – software-based

Page 4: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 4

What is Prototyping?What is Prototyping?

Essential element in user centred design Is an experimental and partial design Involves users in testing design ideas Typically done very early in the design process Can be used throughout the SDLC Different types of prototyping are appropriate for different

stages of design– Product conceptualization – requirements – task match

user acceptance

Page 5: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 5

Aims of Prototyping in Aims of Prototyping in SoftwareSoftware

The aim of prototyping is to resolve uncertainty about

functional and user requirements operation sequences user support needs required representations “Look and Feel” of the interface appropriateness of the design

Page 6: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 6

General Features of PrototypingGeneral Features of Prototyping

Enables the designer to quickly build or create examples of :-

The data entry form The menu structure and order The dialogue styles Error messages

Should be inexpensive to develop – intention is to discard/modify it

Should not require programming skills

Page 7: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 7

Prototyping (cont)Prototyping (cont)

Traditionally users lack the ability to envisage designs conceptually

Alternatively their may be a conceptual mismatch between the designer and the user

This may not manifest itself until very late Users often lack the ability to imagine the ramifications of

design decisions Users are often unable to comment on technical design

documents A prototype provides users with a concrete representation

of the proposed design

Page 8: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 8

Prototyping Prototyping

Users are therefore more able to :- Confirm change or elaborate upon the specification

Software prototyping is a dynamic simulation It should reflect the users real task with

appropriate task scenarios Input a customer order given on the telephone

This will provide information on task sequence operations and any difficulties which the user may experience

Page 9: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 9

Paper Based PrototypingPaper Based Prototyping

Paper based prototypes These have no functionality but can still be useful for:-

– Generating ideas– Gaining insights into what the user might want or is thinking Eg a

paper based design of a data entry screen

Storyboards and Snapshots– using “film-scripting” techniques to visualise

interactions between users and the system This is very quick and cheap

Page 10: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 10

Software PrototypingSoftware Prototyping

A software prototype will be a version of the proposed system with limited functionality

Will differ from the final system in terms of Size, reliability robustness & completeness

A software prototype is “executable” can be thrown away, or evolve may serve many different purposes should be “quick and dirty” (and cheap!) is an integral part of user-centred design approaches based

on evaluation/modification

Page 11: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 11

Prototyping TechniquesPrototyping Techniques

The three major kinds of prototyping are “Throw away” prototyping (a.k.a. “rapid prototyping”)

– used exclusively in requirements gathering Incremental prototyping

– not actually prototyping at all, but the delivery of prioritised functions incrementally to a single, overall design

Evolutionary prototyping (a.k.a “Rapid Application Development, RAD)– as for incremental prototyping but with evolving design

Page 12: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 12

Rapid PrototypingRapid Prototyping

Aims to collect information on requirements and the adequacy of possible designs

Recognises that requirements are likely to be inaccurate when first specified

The emphasis is on evaluating the design before discarding it

Page 13: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 13

Rapid Prototyping -AdvantagesRapid Prototyping -Advantages

Helps the designer to evaluate the design very early in the the design cycle

It is good for addressing the problem of users not knowing or being unable to state their requirements

Provides the opportunity for continued evaluation and refinement of the design

Increases the chance of getting a well designed system acceptable to the users with the required functionality and ease of use

Page 14: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 14

Rapid Prototyping – DisadvantagesRapid Prototyping – Disadvantages

Can consume a lot of resources – users analysts programmers. Therefore can be costly as well as time consuming

The continued process of design evaluate redesign may mean that the design phase of the cycle is considerably increased

May be a long time before get a working system Reluctance to ‘throw away’ or discard the prototype Users expectations/wishes may be unrealistic

– May not be technically or economically feasible

Page 15: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 15

Incremental PrototypingIncremental Prototyping

Final product is built as separate components one at a time There is one overall design for the system It is partitioned into independent and smaller components Final product is released as a series of products

– Eg General student details data module – the students assessment profile module

Page 16: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 16

Incremental Prototyping - AdvantagesIncremental Prototyping - Advantages

Allows large systems to be installed in phases Helps to avoid the delays between specification

and implementation Core system features are provided early Users are not overwhelmed with a complex level

of functionality in one go Suitability and appropriateness of key

requirements can be checked Less essential features can be added later

Page 17: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 17

Incremental Prototyping – DisadvantagesIncremental Prototyping – Disadvantages

Need to have an overall view of requirements Suitable development software must be used – not just

high level prototyping software Long development timescale before full functionality is

obtained This may be incompatible with management business

goals– Eg Need to get to market before a competitor– Urgent requirements for a complete solution

Page 18: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 18

Evolutionary prototyping – RADEvolutionary prototyping – RAD

As for incremental prototyping Additions and amendments are made following evaluation

and the system is regenerated in its amended form In this case the prototype evolves into the final system

Page 19: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 19

Evolutionary prototyping – AdvantagesEvolutionary prototyping – Advantages

The system can cope with change during and after implementation

Again helps to overcome the gap between specification and implementation

Users get some functionality quickly

Page 20: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 20

Evolutionary prototyping -DisadvantagesEvolutionary prototyping -Disadvantages

Can lead to a long development timescale May have limited functionality which may not be

apparent to the user May believe that they have the final complete

system and may therefore be unimpressed!

Page 21: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 21

Other Prototyping TechniquesOther Prototyping Techniques

Full prototype– full functionality, lower performance than production

software Horizontal prototype

– displays “breadth” of functionality, no lower level detail “back end” support Eg. Database link

Vertical prototype– full functionality and performance of a “slice” or small part

of the system High Fidelity prototyping

– prototyping through alternative media, e.g. video

Page 22: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 22

Other Kinds of Prototyping Other Kinds of Prototyping (continued)(continued)

Low fidelity prototyping– lesser, cheaper materials

Chauffeured prototyping– user observed “driving” the system

Wizard of Oz prototyping Requirements Animation

Page 23: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 23

Software prototyping toolsSoftware prototyping toolsFacades and Requirements Animators

– e.g., Demo II– interfaces demonstrated through “slide shows”– useful only for throw away prototyping

Screen generators– e.g., Protogen– GUIs built rapidly by “screen-painting” then hooked into

application code

RAD tools– e.g., Visual Basic, Delphi– can be used for building full apps.

Page 24: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 24

Further ReadingFurther Reading

Preece Chpt 8

Page 25: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 25

RAD toolsRAD tools

Rapid Application Development (RAD) tools are being used generically for prototyping– i.e., even when only facading is required

Can lead to confusion about what kind of prototype is being built– heightened, unrealistic user expectations– lower Quality Assurance

It is therefore important to be able to evaluate tools, and establish a proper prototyping process

Page 26: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 26

Visual Basic and DelphiVisual Basic and Delphi

VB (Microsoft) and Delphi (Borland) are both RAD tools for MS-Windows applications

Both enable user to “paint” screens by drag-and-drop operations on predefined GUI elements (widgets)– scrollbars, menus, buttons, list boxes, dialo boxes etc.

Both allow user-customisation of widget properties– colour, size, text, formatting etc.

Page 27: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 27

Event-driven ProgrammingEvent-driven Programming

VB and Delphi give close support to event-driven programming– where app. is idle until its behaviour is triggered by a

user-initiated “event” Each predefined widget has a skeleton body of

methods (procedures) to support events– e.g., LeftMouseButtonDown( )– user supplies implementation code

Screens can be animated prior to coding specific application behaviour

Page 28: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 28

Event-Driven Programming Event-Driven Programming (contin.)(contin.)

Development procedure is essentially1. Paint the screen with widgets (actually called

Controls)

2. Customise their attributes via a Properties Form

3. Supply implementations of their event procedures

write code “on back” of Controls

4. Write “back-end” code in separate modules

Page 29: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 29

Visual Basic versus DelphiVisual Basic versus Delphi

Both support “reusable” Controls VB is “object-based”

– reuse of “back-end” code is difficult VB code is a form of BASIC - a pre-”structured”

language – encourages hardwiring of Controls to event code

VB is an interpreted environment– 25x slower than a fully compiled environment

Page 30: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 30

Visual Basic versus DelphiVisual Basic versus Delphi

Delphi is object-oriented– “back-end” objects can be resused and

customised via inheritance (an OO feature)Delphi code is Object Pascal

– fully-fledged OO language also used in the Macintosh Apple’s operating system

Delphi code is compiled– faster

Page 31: ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

ISDE Prototyping JTB Oct 2000 31

ImplicationsImplications

VB is good for– “throw away” prototyping, facading,

requirements animation– screen generation

can be hooked into C++ or J++ code

Delphi is good for– incremental prototyping– RAD