Presentation is loading. Please wait.

Presentation is loading. Please wait.

ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27.

Similar presentations


Presentation on theme: "ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27."— Presentation transcript:

1 ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27

2 ISDE Prototyping JTB Oct 20002 Objectives of Lecture Overview of Prototyping What is prototyping Aims of prototyping Prototyping techniques Prototyping tools

3 ISDE Prototyping JTB Oct 20003 Overview 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

4 ISDE Prototyping JTB Oct 20004 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

5 ISDE Prototyping JTB Oct 20005 Aims of Prototyping in Software 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

6 ISDE Prototyping JTB Oct 20006 General 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

7 ISDE Prototyping JTB Oct 20007 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

8 ISDE Prototyping JTB Oct 20008 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

9 ISDE Prototyping JTB Oct 20009 Paper 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

10 ISDE Prototyping JTB Oct 200010 Software 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

11 ISDE Prototyping JTB Oct 200011 Prototyping 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

12 ISDE Prototyping JTB Oct 200012 Rapid 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

13 ISDE Prototyping JTB Oct 200013 Rapid 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

14 ISDE Prototyping JTB Oct 200014 Rapid 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

15 ISDE Prototyping JTB Oct 200015 Incremental 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

16 ISDE Prototyping JTB Oct 200016 Incremental 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

17 ISDE Prototyping JTB Oct 200017 Incremental 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

18 ISDE Prototyping JTB Oct 200018 Evolutionary 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

19 ISDE Prototyping JTB Oct 200019 Evolutionary 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

20 ISDE Prototyping JTB Oct 200020 Evolutionary 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!

21 ISDE Prototyping JTB Oct 200021 Other 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

22 ISDE Prototyping JTB Oct 200022 Other Kinds of Prototyping (continued) Low fidelity prototyping – lesser, cheaper materials Chauffeured prototyping – user observed “driving” the system Wizard of Oz prototyping Requirements Animation

23 ISDE Prototyping JTB Oct 200023 Software prototyping tools Facades 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.

24 ISDE Prototyping JTB Oct 200024 Further Reading Preece Chpt 8

25 ISDE Prototyping JTB Oct 200025 RAD 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

26 ISDE Prototyping JTB Oct 200026 Visual 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.

27 ISDE Prototyping JTB Oct 200027 Event-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

28 ISDE Prototyping JTB Oct 200028 Event-Driven Programming (contin.) Development procedure is essentially 1. 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

29 ISDE Prototyping JTB Oct 200029 Visual 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

30 ISDE Prototyping JTB Oct 200030 Visual 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

31 ISDE Prototyping JTB Oct 200031 Implications 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


Download ppt "ISDE Prototyping JTB Oct 20001 ISDE Prototyping Preece Chapter 27."

Similar presentations


Ads by Google