1 / 36

Prototyping and Storoyboards

Prototyping and Storoyboards. More on the RE Processes. Prototyping. A prototype is an initial version of a system which may be used for experimentation

brody
Download Presentation

Prototyping and Storoyboards

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prototyping and Storoyboards More on the RE Processes

  2. Prototyping • A prototype is an initial version of a system which may be used for experimentation • Prototypes are valuable for requirements elicitation because users can experiment with the system and point out its strengths and weaknesses. They have something concrete to criticize • A prototype gives the stakeholder something real, or at least something that has the appearance of reality. The prototype makes the product real enough for stakeholders to bring up requirements that might otherwise be missed. • Rapid development of prototypes is essential so that they are available early in the elicitation process

  3. Software prototyping • Prototype used to help users understand how system will behave and allows them to experiment with it • Prototypes most frequently used to validate system requirements because users find errors/omissions early • Note: doesn’t validate design -- will have a different design than final product

  4. Prototyping for Requirements • Prototypes for eliciting requirements –prototypes help people “see” their requirements in a way that text specifications can not • Prototyping are frequently used to validate software requirements

  5. Benefits of Prototyping for Requirements • Misunderstandings between developers/users identified • Missing services detected • Confusing/hard services identified • Identifies incomplete/inconsistent requirements • Demonstrates feasibility/usefulness to management

  6. Prototyping early in the SDLC (i.e., in RE) • Prototyping -- as in Boehm’s Spiral Model -- is a technique of risk reduction. (e.g., requirements errors & omissions) • Boehm 1984 -- prototyping reduces problems with requirements specs and lowers overall costs • Prototyping used in the spiral model -- resolves uncertainties so you get short-term costs but long-term savings.

  7. Prototyping Techniques • Low-Fidelity Prototypes • High-Fidelity Prototypes • Storyboards • Passive storyboards • Active storyboards • Interactive storyboards

  8. Low Fidelity Prototypes • Low-Fidelity prototypes help stakeholders concentrate on the subject matter by using familiar media. Such things as pencil and paper, whiteboards, flip charts, Post-it notes, index cards, and cardboard boxes can be employed to build effective Low-Fidelity prototypes • The Low-Fidelity prototype is not meant to look all that much like the finished product. • It is obviously an easy-to-change mock-up. • The Low-Fidelity prototype encourages iteration.

  9. Low Fidelity Prototypes ctd… • Prototyping is more convenient, and ultimately more accurate, if the prototype involves a single business use case or a single product use case. • A product use case provides you with an appropriate amount of work as the subject of your prototype. • Your aim in building this Low-Fidelity prototype is to unearth the existing requirements that must be carried into the new product, along with the new, undreamed-of requirements.

  10. Low Fidelity Prototypes ctd… • Once your stakeholders see you are simulating potential ways of solving their problem and realize their input is not only welcome but also necessary, they will almost certainly help you by suggesting their own enhancements and requirements. • When you sketch a Low-Fidelity prototype, you demonstrate your ideas to the stakeholders and encourage them to iterate by changing and improving your ideas.

  11. High Fidelity Prototypes • High-fidelity prototypes are built using software tools and have the appearance of working software products. • They appear to do whatever the use case does, and give stakeholders the opportunity to "use" a realistic-looking product and decide whether the product displays the correct requirements. • The high-fidelity prototype gives the stakeholders greater opportunities to explore all the possibilities for the use case - the exception and alternative paths; • The high-fidelity prototype is also effective for discovering usability requirements.

  12. Storyboards • Building a storyboard means thinking of the proposed functionality as a story and breaking it into a series of steps, or discrete actions (See Figure – Next Slide) • Many storyboards show the user at a screen in each panel • Sometimes one picture is enough to illustrate all the actions and outcomes for a use case. • For more complex use cases, or for playing out of several use cases or aspects of the whole product, you need a sequence of pictures.

  13. A storyboard demonstrates to the potential users how a product or different parts of a product, could work. Each panel represents an identifiable part of the story. The requirements analyst uses this kind of prototype to play through the product, experimenting with it and learning the requirements.

  14. Types of StoryBoards • Passive StoryBoards • Active StoryBoards • Interactive StoryBoards

  15. Passive Storyboards • Tell a story to the user • They consist of sketches, pictures, screen shots, PowerPoint presentations, or sample application outputs. • The analyst plays the role of the system and simply walks the user through the storyboard, with a "When you do this, this happens" explanation.

  16. Active StoryBoards • Make the user see "a movie that hasn't actually been produced" • Active storyboards are animated or automated, perhaps by an automatically sequencing slide presentation, an animation tool, a recorded computer script or simulation, or even a homemade movie. • They provide an automated description of the way the system behaves in a typical usage or operational scenario.

  17. Interactive StoryBoards • Let the user experience the system in as realistic a manner as practical. • They require participation by the user. • Interactive storyboards can be simulations or mock-ups or can be advanced to the point of throwaway code. • An advanced, interactive storyboard built out of throwaway code can be very close to a throwaway prototype.

  18. Storyboarding Continuum • These three storyboarding techniques offer a continuum of possibilities ranging from sample outputs to live interactive demos. • The boundary between advanced storyboards and early product prototypes is a fuzzy one.

  19. What Storyboards Do • In software, storyboards are used most often to work through the details of the human-to-machine interface.

  20. Storyboarding Continuum

  21. Storyboards for User Based Systems • Storyboards for user-based systems deal with the three essential elements of any activity: • Who the players are • What happens to them • How it happens

  22. Three Essential Elements • The who element defines the players, or the users of the system. • The “who” are such players as users, other systems, or devices— they are the actors that interact with the solution system. • The what element represents the behavior of the users as they interact with the system as well as the behavior of the system as it interacts with the user. • The how element provides descriptions of how this interaction happens, showing events, states, and state transitions.

  23. Tips for Storyboarding • Don't invest too much in a storyboard. Customers will be intimidated about making changes if it looks like a real work product or they think they might insult you. • If you don't change anything, you don't learn anything. Make the storyboard easy to modify. • Don't make the storyboard too functional. If you do, some stakeholders may want you to "ship it." • Whenever possible, make the storyboard interactive. The customer's experience of use will generate more feedback and will elicit more new requirements than a passive storyboard will.

  24. Use Cases and Storyboarding • If the player is a specific user and the interaction is between that user and the user interface, then storyboarding can help us describe how we are approaching the interaction, and we can use iterative and incremental techniques to converge on the GUI and the use case at the same time.

  25. A Use Case Storyboard Example • Suppose you want to elaborate a section of a use case that would describe how a user inserts graphic clip art from an online source into a document. Perhaps the sequence of events appears as follows.

  26. A Use Case Storyboard Example ctd… • Use Microsoft PowerPoint as your storyboard presentation tool to build one PowerPoint slide for each of the steps in the use case to show the user how you intend the system to work.

  27. Storyboard slide for step 1 of a use case

  28. Storyboard slide for step 2 of a use case

  29. Storyboard slide for step 4 of a use case

  30. Storyboard slide for step 4 of a use case

  31. Throw-Away Prototypes • Prototyping for requirements gathering are throw-away prototypes • Intended to help elicit and develop the system requirements • Build the prototype to help capture requirements; • Discard prototype later and build production quality system; • Derive specs from prototype -- use for final, conventional software process model

  32. Why reimplement the prototype? • Non-functional requirements ignored/relaxed in prototype (e.g., performance, security, reliability, etc.) can’t be added on later • During prototype development, prototype changed to meet user needs; Thus design spec is the prototype code, which is not adequate for maintenance; • System structure of prototype degraded due to all the changes and subsequent changes more difficult to make

  33. Perceptions of Prototyping • Main argument against prototyping is that the cost is too large a percentage of the total cost; • May be cheaper to modify finished product to get requirements right than to allow user to get requirements right and refine them with prototype before final system. • This may be true for some systems, but prototyping increases software quality and decreases costs overall; • “Build cheap and fix later” can be more expensive in the long run.

  34. Four stages in prototype development • 1. Establish objectives • This may be to develop a system: a) for user interface prototyping OR b) to elicit system requirements OR c) to validate system requirements OR d) to demonstrate feasibility, etc. • Need to clarify and pick one; one prototype can’t do all the above -- clarify to avoid misunderstandings (user or management)

  35. Four stages in prototype development • 2. Decide what to include and exclude from prototype • May be: a) include all functions but at reduced level OR b) include only subset of functions OR * c) relax non-functional requirements (e.g., speed/space) d) reduce or ignore: error handling, reliability, program quality, etc. • * is the usual option

  36. Four stages in prototype development • 3. Develop prototype • 4. Evaluate prototype -- Most important of the four -- Users need time to become familiar with the prototype to discover requirements errors/omissions

More Related