Prototyping. A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

SWEN 5130 Requirements EngineeringSlide 1 Software Prototyping u Animating and demonstrating system requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Unit 2. Software Lifecycle
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
HCI in the software process Chapter 6
The software process A software process is a set of activities and associated results which lead to the production of a software product. This may involve.
ISNE101 Dr. Ken Cosh. Recap  We’ve been talking about Software…  Application vs System Software  Programming Languages  Vs Natural Languages  Syntax,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Processes Coherent sets of activities for specifying, designing, implementing and testing software systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
Prototyping and Storoyboards
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
Human Computer Interaction
Part 2d: Requirements Chapter 2: How to Gather Requirements: Some Techniques to Use Chapter 3: Finding Out about the Users and the Domain Chapter 4: Finding.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development.
ISP 666 Week 6 Prototyping. Design a Solution From task to system From abstract to concrete Task Models UI Presentation evaluation Conceptual Model System.
Prototyping Strategies
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
©Ian Sommerville 2000 Software Engineering, 6th edition Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
CMSC 345, Version 1/03 An Overview of Software Processes Reference: Software Engineering, by Ian Sommerville, 6 th edition, Chapter 3.
Chapter 3 Software Processes.
Sofia Carlander Kinoshita Laboratory 2004/2005
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements l.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Rapid software development to validate requirements.
Petter Nielsen Information Systems/IFI/UiO 1 Software Prototyping.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Software Prototyping l Animating and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Overview Prototyping and construction Conceptual design
Design, prototyping and construction CSSE371 Steve Chenoweth and Chandan Rupakheti (Chapter 11- Interaction Design Text)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
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,
SOFTWARE PROTOTYPING Anil Kumar.Arikepudi.
HCI – Prototyping. Why Prototype?  Prototyping is a well understood and used technique in design engineering where products are tested via a model prototype.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
소프트웨어공학 강좌 1 Chap 7. Software Prototyping - Rapid software development to validate requirements -
1 SWE Introduction to Software Engineering Lecture 4.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Methodologies. Contents Waterfall Model Evolutionary Models Incremental Development.
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
Prototyping What prototyping is The benefits of prototyping Low-fidelity and high-fidelity prototypes, and the advantages of each How to build paper prototypes.
Prototyping 1. Design Document How express your design ideas. How express your design ideas. Key notions Key notions Cheap, FastCheap, Fast Flexibility.
1 Human Computer Interaction Week 7 Prototyping. 2 Introduction Prototyping is a design technique where users can be involved in testing design ideas.
Chapter 2 Software Processes (2/2) Yonsei University 2 nd Semester, 2015 Sanghyun Park.
Software Prototyping Rapid software development to validate requirements.
Prototyping. REVIEW : Why a prototype? Helps with: –Screen layouts and information display –Work flow, task design –Technical issues –Difficult, controversial,
Requirements Validation
Prototyping. Objectives By the end of class, you will be able to… Explain why prototyping is an important phase of design. Create and test paper prototypes.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
CC20O7N Software Engineering 1 CC2007N Software Engineering 1 Part 1 Introduction to Software Engineering.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Prototyping.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Team Skill 2 Understanding User and Stakeholder Needs Storyboarding (13)
Requirements gathering Storyboarding Prototyping
Design, prototyping and construction(Chapter 11).
©2001 Southern Illinois University, Edwardsville All rights reserved. Today Tuesday CS 321 Human-Computer Interaction Paper Prototyping Video: Paper Prototyping.
 Chapter 4: Selection of an appropriate project approach NET481: Project Management Afnan Albahli.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Wrapping up prototyping
Software Prototyping Animating and demonstrating system requirements.
Software Processes.
Presentation transcript:

Prototyping

A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better understand system requirements – Helps clarify and complete requirements – Provides early response to “I'll know it when I’ll see (or won’t see) it” attitude – Effective in addressing the “Yes, But” and the “Undiscovered Ruins” syndromes – Helps find new functionalities, discuss usability, and establish priorities Prototyping is effective in resolving uncertainties early in the development process – Focus prototype development on these uncertain parts – Encourages user participation and mutual understanding

Prototyping – Realizations Prototypes can take many forms: – Paper prototypes (see Prototype on index card Storyboard – Screen mock-ups – Interactive prototypes Using high-level languages (e.g., C #, Java, Visual Basic)‏ Using scripting languages (e.g., Perl, Python)‏ Using animation tools (e.g., Flash/Shockwave)‏ – Models (executables) – Pilot systems

Prototyping – Types Horizontal: focus on one layer – e.g., user interface Vertical: a slice of the real system Evolutive: turned into a product incrementally, gives users a working system more quickly (begins with requirements that are more understood) Throw-away: less precise, thrown away, focusing on the less well-understood aspects of the system to design, designed to elicit or validate requirements

Prototyping – Fidelity (1) Fidelity is the extent to which the prototype is real and (especially) reactive Fidelity may vary for throw-away prototypes High-fidelity – Applications that "work" – you press a button and something happens – Often involves programming or executable modeling languages – Advantages: provides an understanding of functionality, reduce design risk, more precise verdicts about requirements – Disadvantages: takes time to build, more costly to build, sometimes difficult to change, false sense of security, often focuses on details rather than on the goals and important issues

Prototyping – Fidelity (2) Low-fidelity – It is not operated – it is static – Advantages: easy and quick to build, cheaper to develop, excellent for interfaces, offers the opportunity to engage users before coding begins, encourage creativity – Disadvantages: may not cover all aspects of interfaces, are not interactive, may seem non-professional in the eyes of some stakeholders

Prototyping – Risks Prototypes that focus on user-interface tends to lose the focus of demonstrating/exploring functionality Prototypes can bring customers’ expectations about the degree of completion unrealistically up Do not end-up considering a throwaway prototype as part of the production system – Always clearly state the purpose of each prototype before building it