Prototyping and Storoyboards

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
Rapid Prototyping Dimensions and terminology Non-computer methods
7M701 1 Software Prototyping Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 8
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Human Computer Interaction
DESIGN, PROTOTYPING and CONSTRUCTION
From requirements to design
Day 5 Specifying designs. Objectives  Learn about the need for prototypes and user testing with these  Learn about different ways in which prototypes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
The Process of Interaction Design. What is Interaction Design? It is a process: — a goal-directed problem solving activity informed by intended use, target.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews 2. Workshops 3. Brainstorming.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
What is a prototype? A prototype is a small scale model of your larger product. Can be a physical object, or a simple software program. Many physical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Software Life Cycle Model
Team Skill 2 Understanding Stakeholders Needs
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
Human Computer Interaction & Usability Prototyping Design & Prototyping HCI Prototyping.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Overview Prototyping and construction Conceptual design
HCI Prototyping Chapter 6 Prototyping. Learning Outcomes At the end of this lecture, you should be able to: –Define the term “prototyping” –Explain the.
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
Storyboarding 1. Purpose of Storyboarding  To gain an early reaction from users on the concepts proposed for the application.  They are an effective.
UML & Prototyping. What is a prototype? A prototype is a small-scale model. It can be (among other things): a series of screen sketches a storyboard,
CSCD 487/587 Human Computer Interface Winter 2013 Lecture 17 Prototypes and Design.
Requirements Engineering Requirements Elicitation Process Lecture-8.
HCI – Prototyping. Why Prototype?  Prototyping is a well understood and used technique in design engineering where products are tested via a model prototype.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
AVI/Psych 358/IE 340: Human Factors Prototyping October 10-13, 2008.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
Prototyping. What is a prototype? In other design fields a prototype is a small- scale model: a miniature car a miniature building or town.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
Software Engineering User Interface Design Slide 1 User Interface Design.
Prototyping What prototyping is The benefits of prototyping Low-fidelity and high-fidelity prototypes, and the advantages of each How to build paper prototypes.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
User Interface Design & Usability for the Web Card Sorting You should now have a basic idea as to content requirements, functional requirements and user.
Prototyping. A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better.
Software Prototyping Rapid software development to validate requirements.
Requirements Validation
Begin Class with More Studio. Introduction to Prototyping.
Design, Prototyping and Construction In “ pure ” waterfall, design begins after requirements development has finished However, in the real world there.
Topic 4 - Database Design Unit 1 – Database Analysis and Design Advanced Higher Information Systems St Kentigern’s Academy.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Prototyping.
©Ian Sommerville 2000, Tom Dietterich 2001 Slide 1 System prototyping l Prototyping is the rapid development of a system l In the past, the developed system.
Overview Prototyping Construction Conceptual design Physical design Generating prototypes Tool support.
Team Skill 2 Understanding User and Stakeholder Needs Storyboarding (13)
Design, prototyping and construction(Chapter 11).
CEN3722 Human Computer Interaction Prototyping Dr. Ron Eaglin.
Digital Media & Interaction Design LECTURE 4+5. Lecture 4+5 Draw requirement + Prototyping.
Software Prototyping.
Prototyping Lecture # 08.
Recall The Team Skills Analyzing the Problem (with 5 steps)
Systems Analysis and Design
Life Cycle Models PPT By :Dr. R. Mall.
SOFTWARE ENGINEERING PRESENTATION
Recall The Team Skills Analyzing the Problem (with 5 steps)
Prototyping.
Design, prototyping and construction
Chapter 11 Design, prototyping and construction 1.
Chapter 2 – Software Processes
DESIGN, PROTOTYPING and CONSTRUCTION
Engineering Quality Software
Design, prototyping and construction
COMP444 Human Computer Interaction Prototyping
Presentation transcript:

Prototyping and Storoyboards More on the RE Processes

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

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

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

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

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.

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

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.

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.

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.

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.

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.

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.

Types of StoryBoards Passive StoryBoards Active StoryBoards Interactive StoryBoards

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.

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.

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.

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.

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

Storyboarding Continuum

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

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.

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.

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.

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.

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.

Storyboard slide for step 1 of a use case

Storyboard slide for step 2 of a use case

Storyboard slide for step 4 of a use case

Storyboard slide for step 4 of a use case

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

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

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.

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)

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

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