Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping.

Similar presentations


Presentation on theme: "1 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping."— Presentation transcript:

1 1 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping

2 2 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Software Prototyping Animating and demonstrating system requirements

3 3 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering What is a Prototype? A prototype is a concrete executable model of selected aspects of a proposed system Rapid prototyping is the process of quickly building and evaluating a series of prototypes Usually only a partial representation of the system and serves as an aid in analysis and design

4 4 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Types of prototypes

5 5 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Continuum of understanding user’s needs Well knownFuzzyUnknown Fuzzy needs become more understood Yes, but… responses from the user – unknown needs become known

6 6 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Uses of system prototypes The principal use is to help customers and developers understand the requirements for the system The prototype may be used for user training before a final system is delivered The prototype may be used for back- to-back testing

7 7 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping benefits Misunderstandings between software users and developers are exposed Missing services may be detected 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

8 8 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Opportunities Not to prototype at all should simply not be an option in software development End user cannot throw the S/W needs (stated in natural language) over the wall and expect the development team to return the finished S/WE with no problems Must be some interaction between the end user and the development team

9 9 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping process

10 10 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping objectives The objective of evolutionary prototyping is to deliver a working system to end-users. The development starts with those requirements which are best understood.

11 11 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping objectives The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood

12 12 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Approaches to prototyping

13 13 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Evolutionary prototyping Must be used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systems Based on techniques which allow rapid system iterations Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the system

14 14 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Evolutionary prototyping

15 15 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Evol. prototyping problems Existing management processes assume a waterfall model of development Continual change tends to corrupt system structure so long-term maintenance is expensive Specialist skills are required which may not be available in all development teams Organizations must accept that the lifetime of systems developed this way will inevitably be short

16 16 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Throw-away prototyping Used to reduce requirements risk The prototype is developed from an initial specification, delivered for experiment 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

17 17 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Throw-away prototyping

18 18 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering 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

19 19 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Incremental development System is developed and delivered in increments after establishing an overall architecture 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

20 20 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Incremental development process

21 21 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping with reuse The system is prototyped by ‘gluing’ together existing components Likely to become more widely used as libraries of objects become available Needs a composition language such as a Unix shell language Visual Basic is largely based on this approach

22 22 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Reusable component composition

23 23 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering User interface prototyping It is impossible to pre-specify the look and feel of a user interface in an effective way. prototyping is essential UI development consumes an increasing part of overall system development costs Prototyping may use very high level languages such as Smalltalk or Lisp User interface generators may be used to ‘draw’ the interface and simulate its functionality

24 24 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Pitfalls Learning curve –high expectations for productivity with insufficient effort behind the learning curve —training for the use of a prototyping technique —need to develop corporate and project specific underlying structure to support the technology (or lower productivity may result) Tool efficiency –execution efficiencies associated with tools outside the domain of conventional programming languages

25 25 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Pitfalls Applicability –application domain has an impact on selecting a prototyping technique —i.e. need real-time support features for a process control system –techniques for specific application domains —business —computer aided design —distributed —flight control —user interface —software engineering environments

26 26 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Pitfalls Undefined Role Models for Personnel –approach to providing feedback to end users has resulted in a problem related to the behavior of the end user and developers —end users can be biased in interactions with development team based on past experiences

27 27 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Opportunities Existing investment in maintained systems –prototyping can be used on critical portions of existing software systems Adding investment in fully exploiting the technology –s/w prototyping must be integrated via training, case studies, library development Developer to end user pass off –end user involvement becomes enhanced when changes in requirements can first be prototyped

28 28 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping One should not start full-scale implementation efforts based on early user interface designs Early usability evaluations based on prototypes faster and cheaper Traditional S/W engineering focused on refinement of various intermediate work products –executable programs at the last moment

29 29 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping No user interface til the last possible moment is high risk Not possible to involve users in the design process by having them look at abstract specifications Main idea behind prototyping is to save time and cost and to develop something that can be used with real users

30 30 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping Savings can only be achieved by somehow reducing the prototype compared with the full system –cutting down the number of features –reducing the level of functionality of the features (they seem to work but do not actually do anything)

31 31 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Vertical Prototyping Cutting down on the number of features is called vertical prototyping Result is a narrow system that does include in-depth functionality but only for a few selected features Can only test a limited part of the full system –but it will be tested in depth

32 32 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Vertical Prototyping –Under realistic circumstances –with real user tasks —actually accessing a DB with some real data

33 33 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Two Dimensions of Prototyping Different Features Functionality Vertical Prototype Full System ScenarioHorizontal Prototype

34 34 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Horizontal Prototyping Reducing the level of functionality Result is a surface layer that includes the entire user interface to a full featured system but with no underlying functionality Horizontal prototype is a simulation of interface where no real work can be performed

35 35 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Horizontal Prototyping Makes it possible to test the entire user interface even though the test is somewhat less realistic –users cannot perform any real tasks on a system with no functionality Advantages are fast implementation with various prototyping and screen design tools Can be used to assess how well the entire interface “hangs together”

36 36 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Two Dimensions of Prototyping Different Features Functionality Vertical Prototype Full System ScenarioHorizontal Prototype

37 37 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Reducing both the number of features and the level of functionality is a scenario Scenarios are only able to simulate the user interface as long as the test user follows a previously planned path Easy and cheap to build Not particularly realistic

38 38 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Ultimate minimalist prototype Describe a single interaction session without any flexibility for the user Combines the limitations of horizontal (users cannot interact with real data) and vertical (users cannot move freely through the system)

39 39 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Scenarios are encapsulated the following way –an individual user –using a specific set of computer facilities –to achieve a specific outcome –user specified circumstances –over a certain time interval

40 40 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Two main uses –used during the design of a user interface as a way of expressing and and understanding the way users will eventually interact with the future system –can be used during user evaluation of a user interface design to get user feedback without the expense of constructing a running prototype

41 41 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Two Dimensions of Prototyping Different Features Functionality Vertical Prototype Full System ScenarioHorizontal Prototype

42 42 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Example Scenario - ATM 1. The user approaches the machine and inserts a bank card. No matter what side is up, the machine reads the card correctly 2. The machine asks the user to enter a four-digit personal identification number, and the user does so using the numeric keypad

43 43 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Example Scenario - ATM 3. The machine presents the user with a menu of four options, “withdraw $100”, “withdraw other amounts”, “make a deposit”, and “other transactions”. There is a button next to each of the menu options

44 44 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Example Scenario - ATM 4. The user presses the button for “withdraw $100”, and the machine pays out that amount, deducting it from the user’s account. If the user has more than one account tied to the bank card, the amount is deducted from the account with the largest balance.

45 45 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Example Scenario - ATM 5. The machine returns the bank card to the user

46 46 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Example Scenario - ATM This scenario raises some questions; –is $100 the best amount to have available as a single-button choice? –Is it a good idea to have this accelerated option for a pay out at the single push of a button, or should the user always be asked to specify the amount, in case there are several possibilities?

47 47 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Good tools in early design stages –Can be generated and edited before the user interface has been fully designed Helpful for early participatory design exercises –users will find it easier to relate to the task- oriented nature of the scenarios than to the abstract, and often function-oriented, nature of system specifications

48 48 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Scenarios Scenarios are also good for testing Mockup drawings to supplement narrative Elaborate scenarios are sometimes produced in the form of “day in the life” videotapes –enactments of users (actors) interacting with a simulated system in the course of their daily activities –good special effects –can be shown to users for discussion

49 49 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 1. Place less emphasis on the efficiency of the implementation –does not matter how much disk space the prototype uses because it will only be used for a short period of time –slow response times for test users may be ok (too slow may cause errors!) —efficiency measures will be invalid —better for early evaluation than measurement

50 50 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 2. Accept less reliable or poorer quality code –but try to reduce bugs and crashes 3. Use simplified algorithms that cannot handle all the special cases (such as leap years) –normally require a disproportionate amount of effort to get right

51 51 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 4. Use a human expert operating behind the scenes to take over certain computer operations that will be too difficult to program –wizard of oz –User interacts normally with the computer –Input goes to the “wizard” instead of the computer

52 52 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes –Wizard transforms the user input into appropriate format –“listening typewriter” –experience with previously implemented systems is helpful in order to place realistic bounds on the wizards abilities

53 53 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 5. Use a different computer system than the eventual target platform –faster, more advanced computer can be used to supports more flexible prototyping tools 6. Use low fidelity media –not as elaborate as the final system –still represent the essential nature of the interaction —scanned images instead of live video

54 54 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 7. Use fake data and other content –prototype of a hypermedia system using video can use exiting video material, even if it is not an exact match –ripomatics in the advertising industry —used to demonstrate concepts to clients before they commit to pay for the shooting of new footage

55 55 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 8. Use paper mock-ups instead of running a computer program –based on printouts of screen designs, dialog boxes, pop ups, etc –drawn using some standard package –user indicates the action –human plays the computer —needs to be an expert in the way the system is going to work in order to keep the state of the system in mind

56 56 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes –Can be shown to large audiences on an overhead projector –used when computers are not available (some conference rooms)

57 57 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Producing Fast Prototypes 9. Rely on a completely imaginary prototype –experimenter describes a possible interface to the user orally –pose a set of “what-if” questions as the user steps through an example task –called “forward scenario simulation” —more like interviewing and brainstorming rather than prototyping

58 58 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Combining Techniques Several techniques could be combined to explore different aspects of usability of the total system –still images to test the integration of text and images to support learning –live video to test interaction mechanisms for controlling the data

59 59 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips Prototyping is a quick way to incorporate direct feedback from real users into a design Bypasses times to create a working coded user interface Paper, scissors, and stickies Maximum speed and flexibility

60 60 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips Everyone on the development team can stay closely involved and productive Even if you can create a prototype fairly quickly in HTML or VB, must consider if the right people have the proficiency in the tool How well can the design team stay involved?

61 61 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips Many usability problems come from someone on the design team with key information not being involved at the right level With paper, all can gather around the same table and contribute Changes can also be made on the fly without waiting for more development

62 62 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips Users feel more comfortable being critical of paper prototypes because it doesn’t have a polished look –with a polished prototype users are more likely to blame themselves or their lack of experience Remember goal is to measure the function and flow of the interface, NOT the look

63 63 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips After doing several iteration with paper, then transfer to a more polished look Sometimes the inability to create a fancy effect on paper may be a warning that the effect is not usable –example - a rollover –some designers will use new technologies only because it looks cool

64 64 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips Paper mock ups are intended to capture the site’s functionality, not to demonstrate technology For existing products, create screen shots and annotate with stickies, whiteout, or other supplies Screen shots with hand drawn annotations is fine

65 65 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Paper Prototyping Tips But be careful to not disrupt the entire screen with a hand drawn annotation

66 66 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering More on Rapid Prototyping Rapid Prototyping facilitates iterative design and formative evaluation Defined as "a form of simple, rapidly produced prototyping in which the prototype is used to collect information about both requirements and the adequacy of possible designs..” Not developed into the final product

67 67 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Rapid prototyping Traditional techniques push evaluation to late in the cycle Prototyping involves building a system early that simulates the final system Rapid prototyping accelerates the construction, allowing for multiple iterations and more substantial changes

68 68 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Artillery approach to rapid prototyping Ready Fire Aim design/ redesign prototyping/ implementation evaluation and analysis

69 69 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Introduction Prototypes also encourage user participation and buy-in Early evaluation helps solve problem of how one tests a design without investing a large amount of effort into its construction.

70 70 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping as Technique Prototyping is a technique, not a tool Effective very early in the process A process of synthesis, working towards the abstract Provides perspective and insight for both developers and interaction designers

71 71 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Dimensions of Prototyping Representation –How interaction designs are represented (e.g. UAN) –More visual and user-task oriented are easier to translate –Tend to avoid programming language styles

72 72 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Dimensions of Prototyping Scope –The amount of the system included in the prototype –Prototypes that do not include the underlying system limit the functionality that can be tested, making integration more difficult –As system gets implemented, add to prototype

73 73 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Executability When can the prototype be run? When compiled as part of the implementation, turnaround is slow In addition, it may only be available intermittently Continuously available prototypes are not tied to the implementation Typically interpreted, they allow fast update for quick iteration cycles

74 74 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Maturation How the prototype transitions to product. System usually moves from prototype to implementation to final product If prototypes are discarded the process is revolutionary. If prototypes grow into final product it is evolutionary.

75 75 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Maturation Revolutionary processes useful in conjunction with very early prototyping Evolutionary allows code to be re-used

76 76 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Characterizing Prototypes Global vs. Local –A global prototype is representative of the whole system. It has breadth, and maybe depth. –A local prototype concentrates on one aspect. –Local prototypes are most useful in answering specific questions or debates

77 77 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Local prototyping Should arc line selection require precise picking with a mouse? Should “grab handle” be used to aid arc selection

78 78 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Local prototyping OR

79 79 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Weighing Prototypes Advantages –Promotes iterative design, leading to overall shorter development, better products, etc. –Begins the paradigm shift in the user

80 80 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Weighing Prototypes Pitfalls –Might not fit in with established procedures –May lead to reduction in discipline –Perception that prototype means project is finished –Accuracy in the prototype –Need to ensure prototype is indeed like final systems –Overdesign

81 81 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Styles and approaches to prototyping Wizard of Oz Prototyping –A third party behind the scenes is running things & responding to user actions without the user knowing about him/her – This may be used in conjunction with low fidelity prototyping or horizontal prototyping (cases where the prototype has low executability).

82 82 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototype Content Early Prototypes –Testing conceptual model, broader scope –Accuracy to final product can be lower –Should provide depth on most common user functions Late Prototypes –Accuracy to final product is more more critical –More detail oriented

83 83 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering

84 84 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Quickly Sketch this...

85 85 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Add Behavior...

86 86 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Transform it to this...


Download ppt "1 Version 1.0 02/05/2004 © 2004 Robert Oshana Requirements Engineering Prototyping."

Similar presentations


Ads by Google