Specifying and Prototyping

Size: px
Start display at page:

Download "Specifying and Prototyping"

Transcription

1 Contents Specifying and Prototyping M. EVREN KIYMAÇ What is Specifying? Gathering Specifications Specifying Approach & Waterfall Model What is Prototyping? Uses of Prototypes Prototyping Process Fidelity in Prototyping Prototyping Types Specifying vs. Prototyping Summary 2 3 At the beginning of every software project, the project manager is faced with a critical choice of approach. (1) The primary choices are: Building and Fixing: Proceed to build the full with minimal or no specifications. Rework the resulting product as necessary until it satisfies its users. Specifying: Develop a requirements specification for the product. Develop a design specification to implement the requirements. Develop the code to implement the design. Again, rework the resulting product as necessary. Prototyping: Build versions of parts of the product. Exercise the parts to determine how best to implement the operational product. Proceed to build the operational product, and again rework it as necessary. 4 Approach 1, Building and Fixing, has been shown to work poorly on most projects of any reasonable size. This is largely because of the highly increased cost of fixing a software product once it is completed and operational. The Specifying approach evolved to avoid the problems encountered in Building and Fixing and led to the familiar waterfall model of software development most frequently seen today. (1) 5 The Specifying approach has been highly successful in many application areas. However, it encounters difficulties in application areas in which it is hard to specify requirements in advance. This happens most frequently in human machine interface s, in which the requirements analyst often has to deal with user responses of the form, I m really not sure what I want, but I ll know it when I see it. (1) 6 In such situations stated in the previous slide, the Prototyping approach appears attractive. A number of papers have proposed refinements of the waterfall model of the software life cycle to incorporate prototyping t options. Some authors have gone so far as to suggest that prototyping options make all current life cycle models completely obsolete and even harmful.

2 What is Specifying? 7 Specifying is the process of determining the desired specifications of the product using methods such as: 1. Personal interviews, 2. Questionnaires, and 3. Research reports Software specification is the process of establishing what services are required and the constraints on the s operation and development. (3) Gathering Specifications 8 In order to gather software specifications, we do the requirements engineering process which consists of (2): Feasibility study elicitation and analysis specification validation Feasibility study Feasibility report Gathering Specifications elicitation and analysis System models 9 specification User and requirements Engineering Process validation document Specifying Approach & Waterfall Model 10 Specifying approach is the first step of waterfall model which consists of: analysis and definition System and software design Implementation and unit testing Integration and testing Operation and maintenance The drawback of the waterfall model is the difficulty of accommodating change after the process is underway. (8) Waterfall Model Problems of Waterfall Model definition System and software design Implementation and unit testing Integration and testing Operation and maintenance Difficult to establish all requirements explicitly, no room for uncertainty. Customer must have patience, not fast enough for delivery of modern internet based software. Major mistake can be disastrous. Unnecessary delays, blocking states. Inflexible partitioning of the project into distinct stages. This makes it difficult to respond to changing customer requirements Therefore, this model is only appropriate when the requirements are well understood. (2)

3 What is Prototyping? 13 A is an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from. Prototype software is often referred to as alpha grade, meaning it is the first version to run. Often only a few functions are implemented, the primary focus of the alpha is to have a functional base code on to which features may be added. Once alpha grade software has most of the required features integrated into it, it becomes beta software for testing of the entire software and to adjust the program to respond correctly during situations unforeseen during development.(3) What is Prototyping? 14 Prototyping is the rapid development of a. In the past, the developed was normally thought of as inferior in some way to the required so further development was required. Now, the boundary between prototyping and normal development is blurred and many s are developed using an evolutionary approach. (2) Uses of Prototypes 15 The principal use is to help customers and developers understand the requirements for the ; elicitation: Users can experiment with a to see how the supports their work. validation: The can reveal errors and omissions in the requirements. Prototyping can be considered as a risk reduction activity which reduces requirements risks. (2) Benefits of Prototyping 16 Misunderstandings between software developers and users may be identified as the functions are demonstrated. Missing user services may be detected. Difficult to use or confusing user services may be identified and refined. Software development staff may find incomplete and/or inconsistent requirements as the is developed. A working is available early in the process. The may serve as a basis for deriving a specification. The can support user training and testing. (4) Prototyping Process 17 Prototyping Process 18 Build, evaluate, iterate, Establish objectives Define functionality Develop Evaluate Iterate rapidly at first, slow as design solidifies Increase fidelity and add detail. Change from paper to computer medium Prototyping plan Outline definition Executable Evaluation report Evaluate different aspects of the design at different stages of the design process. Early: metaphor, structure, usefulness Late: performance, learnability, satisfaction

4 Fidelity in Prototyping Fidelity refers to the level of detail. (5) Low fidelity artists renditions with many details missing High fidelity s look like the final product 19 Low Fidelity Prototyping 20 It is the rough cutting of the interface design created with paper, post it notes, overlays, correction tape, etc. Storyboards are sketched to show overall design concept and interface structure. Post its and overlays are used to simulate critical interactions. The is build to support the tasks. (6) Benefits of Low Fidelity Prototyping 21 Quick and cheap to build. Communicates design concept and structure, can demonstrate interactions. Facilitates t brainstorming i and invitesit discussion. i Enables early evaluation. Maximizes number of design refinements before you commit to code. Enables rapid and extensive exploration of the design space. Evaluating Low Fi Prototype 22 Big problems are identified. Rapid iteration is performed. Problems that empirical tests could miss (e.g., consistency issues) may be catched thd. Evaluations are only effective if the working team has the right skill set wants to improve the design, not defend it Evaluating Low Fi Prototype 23 High Fidelity Prototyping 24 This approach takes you as close as possible to a true representation of the product. Details are increased. More specifications are revealed. Images of the planned product is drawn with special computer applications. It is a lot more easier for customers to understand the product. (7)

5 Evolutionary prototyping: Prototyping Types 25 An approach to development where an initial is produced and refined through a number of stages to the final. Throw away prototyping: A which is usually a practical implementation of the is produced to help discover requirements problems and then discarded. The is then developed using some other development process. Evolutionary Prototyping 26 The is developed as a series of increments that are delivered to the customer. The objective of evolutionary prototyping is to deliver a working to end users. The development starts with those requirements which are best understood. Must be used for s where the specification cannot be developed in advance e.g. AI s and user interface s. Specification, design and implementation are inter twined Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the.(4) Evolutionary Prototyping 27 Advantages of Evolutionary Prototyping 28 Accelerated delivery of the Develop abstract specification Build Use Rapid delivery and deployment are sometimes more important than functionality or long term software maintainability N User engagement with the Deliver YES System adequate? Not only is the more likely to meet user requirements, they are more likely to commit to the use of the Disadvantages of Evolutionary Prototyping Management problems 29 Existing management processes assume a waterfall model of development. Specialist skills are required which may not be available in all development teams. Maintenance problems Continual change tends to corrupt structure so long term maintenance is expensive. Contractual problems Throw away Prototyping 30 The objective of throw away prototyping is to validate or derive the requirements. The prototyping process starts with those requirements which are poorly understood.(4) Used to reduce requirements risk. The is developed from an initial specification, delivered for experiment then discarded. The throw away should NOT be considered as a final Some characteristics may have been left out. Thereis nospecification forlong term maintenance. The will be poorly structured and difficult to maintain.

6 Throw away Prototyping 31 Rapid Prototyping Techniques 32 Various techniques may be used for rapid development; Outline requirements Reusable components Develop Evaluate Specify Dynamic high level language development Database programming Componentand application i assembly Develop software Validate Delivered software These are not exclusive techniques they are often used together. Visual programming is an inherent part of most development s. Visual Programming 33 Scripting languages such as Visual Basic support visual programming where the is developed by creating a user interface from standard items and associating components with these items. A large library of components exists to support this type of development. These may be tailored to suit the specific application requirements. User Interface Prototyping 34 It is impossible to pre specify the look and feel of a user interfaceinaneffectiveway. Prototyping is essential. UI development consumes an increasing part of overall development costs. User interface generators may be used to draw the interface and simulate its functionality with components associated with interface entities. Web interfaces may be d using a web site editor. (2) Specifying vs. Prototyping 35 An experiment about the subject is made with seven software teams. They developed versions of the same small size ( source instruction) application software product. Four teams used the Specifying approach. Three teams used the Prototyping approach. (1) Specifying vs. Prototyping 36 The main results of the experiment were (1): Prototyping yielded products with roughly equivalent performance, but with about 40% less code and 45% less effort. The d products rated somewhat lower on functionality and robustness, but higher on ease of use and ease of learning. Specifying produced more coherent designs and software that was easier to integrate.

7 Specifying vs. Prototyping 37 Distribution of Project Effort by Activity Specifying vs. Prototyping 38 Performance Comparisons Summary 39 Both prototyping and specifying have valuable advantages that complement each other. For most large projects, and many small ones, a mix of prototyping and specifying will be preferable to the exclusive use of either by itself. A can be used to give end users a concrete impression of the s capabilities. Prototyping is becoming increasingly used for development where rapid development is essential. Summary 40 Throw away prototyping is used to understand the requirements. In evolutionary prototyping, the is developed by evolving an initial version to the final version. Prototyping is essential for parts of the such as the user interface which cannot be effectively prespecified. Users must be involved in evaluation. References Barry W. Boehm, Terence E. Gray, and Thomas Seewaldt, Prototypingvs. Specifying: a multi project experiment. 2. Ian Sommerville, Software Engineering, 6th Edition k k/l fe /h8 h 5. hccedl.cc.gatech.edu/getdocument.php?doc= _know_about_s_for_user_testing 8. Walt Scacchi, Process Models in Software Engineering. THANKS FOR YOUR PATIENCE 42

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits

Software Prototyping Animating and demonstrating system requirements. Uses of System Prototypes. Prototyping Benefits Software Prototyping Animating and demonstrating requirements Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 8 Slide 1 Uses of System Prototypes

More information

Homework Set 2. A brief discussion

Homework Set 2. A brief discussion Homework Set 2 A brief discussion Homework Set 2 A brief discussion (#%" (#$" ("!#'"!#&"!#%"!#$"!"!" )" (!" ()" $!" $)" *!" *)" %!" Problem 4 Hick s Law or Fitt s Law? MT = a + b ID ID = log 2 ( A W +

More information

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1

Software Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be

More information

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV

SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 1 SOFTWARE REQUIREMENTS ENGINEERING LECTURE # 7 TEAM SKILL 2: UNDERSTANDING USER AND STAKEHOLDER NEEDS REQUIREMENT ELICITATION TECHNIQUES-IV 12 th June, 2013 Instructor Information 2 Course Instructor:

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

The requirements engineering process

The requirements engineering process 3 rd Stage Lecture time: 8:30-12:30 AM Instructor: Ali Kadhum AL-Quraby Lecture No. : 5 Subject: Software Engineering Class room no.: Department of computer science Process activities The four basic process

More information

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping

Reducing the costs of rework. Coping with change. Software prototyping. Ways to Cope with change. Benefits of prototyping Coping with change Change is inevitable in all large software projects. Business changes lead to new and changed system requirements New technologies open up new possibilities for improving implementations

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

CMSC 435: Software Engineering Section 0201

CMSC 435: Software Engineering Section 0201 CMSC 435: Software Engineering Section 0201 Atif M. Memon (atif@cs.umd.edu) 4115 A.V.Williams building Phone: 301-405-3071 Office hours Tu.Th. (11:00am-1:00pm) Don t wait, don t hesitate, do communicate!!

More information

cs414 principles of user interface design, implementation and evaluation

cs414 principles of user interface design, implementation and evaluation cs414 principles of user interface design, implementation and evaluation Karrie Karahalios, Eric Gilbert 30 March 2007 Reaction Time and Motor Skills Predictive Models Hick s Law KLM Fitts Law Descriptive

More information

Software Prototyping ( プロトタイピング ) Animating and demonstrating system requirements

Software Prototyping ( プロトタイピング ) Animating and demonstrating system requirements Software Prototyping ( プロトタイピング ) Animating and demonstrating requirements Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 8 Slide 1 Uses of s The principal use is to help customers and

More information

Software processes. Objectives. Contents

Software processes. Objectives. Contents 2 Software processes Objectives The objective of this chapter is to introduce you to the idea of a software process a coherent set of activities for software production. When you have read this chapter

More information

Software Engineering

Software Engineering Software Engineering 0 Software design process or life cycle called Software Engineering 0 that addresses the management and technical issues of the development of software systems. 0 The software life

More information

dt+ux Design Thinking for User Experience Design, Prototyping & Evaluation Autumn 2016 Prof. James A. Landay Stanford University

dt+ux Design Thinking for User Experience Design, Prototyping & Evaluation Autumn 2016 Prof. James A. Landay Stanford University DESIGN THINKING FOR USER EXPERIENCE DESIGN + PROTOTYPING + EVALUATION Hall of Fame or Shame? Early Stage Prototyping Computer Science Department October 20, 2016 Paper ipad App By 53 2 Hall of Fame or

More information

System Development Life Cycle Methods/Approaches/Models

System Development Life Cycle Methods/Approaches/Models Week 11 System Development Life Cycle Methods/Approaches/Models Approaches to System Development System Development Life Cycle Methods/Approaches/Models Waterfall Model Prototype Model Spiral Model Extreme

More information

Prototyping. Oct 3, 2016

Prototyping. Oct 3, 2016 Prototyping Oct 3, 2016 Announcements A1 marks available A2 due Wednesday Questions? What is a prototype? In interaction design a prototype can be (among other things): a series of screen sketches a storyboard,

More information

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1

User interface design. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 User interface design Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 16 Slide 1 The user interface Should be designed to match: Skills, experience and expectations of its anticipated users.

More information

IPM 15/16 T2.1 Prototyping

IPM 15/16 T2.1 Prototyping IPM 15/16 T2.1 Prototyping Miguel Tavares Coimbra Acknowledgements: Most of this course is based on the excellent course offered by Prof. Kellogg Booth at the British Columbia University, Vancouver, Canada.

More information

Human-Computer Interaction. CA357 Lecture 7 More on Prototyping

Human-Computer Interaction. CA357 Lecture 7 More on Prototyping Human-Computer Interaction CA357 Lecture 7 More on Prototyping Overview By the end of the session, you should be aware of: Design Importance of prototyping Low fidelity vs High fidelity prototyping Why

More information

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3)

Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) Business Analysis for Practitioners - Requirements Elicitation and Analysis (Domain 3) COURSE STRUCTURE Introduction to Business Analysis Module 1 Needs Assessment Module 2 Business Analysis Planning Module

More information

Page 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement

Page 1. Ideas to windows. Lecture 7: Prototyping & Evaluation. Levels of prototyping. Progressive refinement Ideas to windows Lecture 7: Prototyping & Evaluation How do we go from ideas to windows? Prototyping... rapid initial development, sketching & testing many designs to determine the best (few?) to continue

More information

Lecture 8: Rapid Prototyping. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University.

Lecture 8: Rapid Prototyping. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 8: Rapid Prototyping CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 1 GUI Prototyping What is prototyping? rapid initial development, sketching & testing many designs to

More information

Introduction to Software Engineering

Introduction to Software Engineering Chapter 1 Introduction to Software Engineering Content 1. Introduction 2. Components 3. Layered Technologies 4. Generic View of Software Engineering 4. Generic View of Software Engineering 5. Study of

More information

Second. Incremental development model

Second. Incremental development model 3 rd Stage Lecture time: 8:30 AM-2:30 PM Instructor: Ali Kadhum AL-Quraby Lecture No. : 4 Subject: Software Engineering Class room no.: Department of computer science Second. Incremental development model

More information

Process Models. Projects Process. Common Process Models. Typical Student Process Model. Waterfall Model

Process Models. Projects Process. Common Process Models. Typical Student Process Model. Waterfall Model Process Models A process model specifies a general process, usually as a set of stages This model will be suitable for a class of projects i.e. a model provides generic structure of the process that can

More information

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

Building the User Interface: The Case for Continuous Development in an Iterative Project Environment Copyright Rational Software 2002 http://www.therationaledge.com/content/dec_02/m_uiiterativeenvironment_jc.jsp Building the User Interface: The Case for Continuous Development in an Iterative Project Environment

More information

What is a prototype?

What is a prototype? analysis of stakeholders, field studies ANALYZE Problem scenarios claims about current practice metaphors, information technology, HCI theory, guidelines DESIGN Activity scenarios Information scenarios

More information

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution

Software Life Cycle. Main issues: Discussion of different life cycle models Maintenance or evolution Software Life Cycle Main issues: Discussion of different life cycle models Maintenance or evolution Introduction software development projects are large and complex a phased approach to control it is necessary

More information

Design, prototyping and construction

Design, prototyping and construction Overview Design, prototyping and construction Prototyping and construction Conceptual design Physical design Generating prototypes Tool support What is a prototype? Why prototype? A prototype is a small-scale

More information

PROTOTYPING 29/11/2017. Presented by: Shuchita Singh

PROTOTYPING 29/11/2017. Presented by: Shuchita Singh PROTOTYPING 29/11/2017 Presented by: Shuchita Singh Outline Requirement Analysis Overview Prototyping Life cycle of Prototyping Types of prototyping techniques Advantages and Disadvantages Case Studies

More information

Software Engineering Lifecycles. Controlling Complexity

Software Engineering Lifecycles. Controlling Complexity Software Engineering Lifecycles Class url:http://laser.cs.umass.edu/courses/cs320.spring11/ Controlling Complexity Separation of Concerns Planning Ahead Do a little work now to make later work easier The

More information

VO Software Engineering

VO Software Engineering Administrative Issues Univ.Prof. Dr. Peter Auer Chair for Information Technology Email: auer@unileoben.ac.at Lecture Thursday 10:15 11:45 Project Lab Montag 16:00 19:00 Literature Helmut Balzert, Lehrbuch

More information

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process

Human Computer Interaction Lecture 14. HCI in Software Process. HCI in the software process Human Computer Interaction Lecture 14 HCI in Software Process HCI in the software process Software engineering and the design process for interactive systems Usability engineering Iterative design and

More information

Requirements. Requirements. Types of Requirement. What Is a Requirement?

Requirements. Requirements. Types of Requirement. What Is a Requirement? Beatrice Åkerblom beatrice@dsv.su.se Everything else in software development depends on the requirements. If you cannot get stable requirements you cannot get a predictable plan... What Is a Requirement?!

More information

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal

Administrivia. Added 20 more so far. Software Process. Only one TA so far. CS169 Lecture 2. Start thinking about project proposal Administrivia Software Process CS169 Lecture 2 Added 20 more so far Will limit enrollment to ~65 students Only one TA so far Start thinking about project proposal Bonus points for proposals that will be

More information

USER-CENTERED DESIGN KRANACK / DESIGN 4

USER-CENTERED DESIGN KRANACK / DESIGN 4 USER-CENTERED DESIGN WHAT IS USER-CENTERED DESIGN? User-centered design (UCD) is an approach to design that grounds the process in information about the people who will use the product. UCD processes focus

More information

Design, prototyping and construction

Design, prototyping and construction Chapter 11 Design, prototyping and construction 1 Overview Prototyping and construction Conceptual design Physical design Generating prototypes Support for design 2 Prototyping and construction What is

More information

1) Software Engineering

1) Software Engineering 1) Software Engineering a) Software: Programs, documentation and configuration data which is needed to make programs operate correctly. i) Two types of Software Products: (1) Generic Products: Eg: word

More information

Goals PROTOTYPING) Cris%an(Bogdan( (

Goals PROTOTYPING) Cris%an(Bogdan( ( PROTOTYPING) Cris%an(Bogdan( cris%@kth.se( ( Goals illustrate(how(we(can((help(designers)( generate(and(share(new(ideas,(get(feedback( from(users(or(customers( choose(among(design(alterna%ves,(and( ar%culate(reasons(for(design(choices.(

More information

Recapitulation Lecture #10 LECTURE 11 USABILITY - PROTOTYPING. Waterfall with iteration. Example: Cognitive Task Analysis

Recapitulation Lecture #10 LECTURE 11 USABILITY - PROTOTYPING. Waterfall with iteration. Example: Cognitive Task Analysis Recapitulation Lecture #10 October 13th 2014 LECTURE 11 USABILITY - PROTOTYPING Tool box for HCI Task Analysis Cognitive techniques GOMS/CCT ERMIA CWA Dialogue Analysis-Design Color/Text Analysis-Design

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Chapter 2 Web Development Overview

Chapter 2 Web Development Overview Chapter 2 Web Development Overview Presented by Thomas Powell Slides adopted from HTML & XHTML: The Complete Reference, 4th Edition 2003 Thomas A. Powell Five Pillars of Sites Web sites have five aspects

More information

What is a prototype?

What is a prototype? Prototyping Unit 4 Learning outcomes Understand the uses of different types of prototypes for different kinds/stages of design and be able to choose appropriately Know the basic techniques for low-fidelity

More information

LECTURE 11 USABILITY -PROTOTYPING

LECTURE 11 USABILITY -PROTOTYPING October 13th 2014 LECTURE 11 USABILITY -PROTOTYPING 1 Recapitulation Lecture #10 Tool box for HCI Task Analysis Cognitive techniques GOMS/CCT ERMIA CWA Dialogue Analysis-Design Color/Text Analysis-Design

More information

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process Verification and Validation Assuring that a software system meets a user s needs Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 19,20 Slide 1

More information

Prototyping. SWE 432, Fall Web Application Development

Prototyping. SWE 432, Fall Web Application Development Prototyping SWE 432, Fall 2018 Web Application Development Conceptual design Goal: match users mental model Tool: Metaphor - analogies from existing system Offers expectations about what system does &

More information

What is a prototype?

What is a prototype? Prototyping Unit 4 Learning outcomes Understand the uses of different types of prototypes for different kinds/stages of design and be able to choose appropriately Know the basic techniques for low-fidelity

More information

User Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017

User Centered Design Process. Prototyping II. What is a prototype? Prototyping phases Oct 11, 2017 User Centered Design Process Prototyping II Oct 11, 2017 Produce something tangible Identify challenges Uncover subtleties 2 What is a prototype? A prototype is defined less by form, and more by its function:

More information

The process of interaction design and Prototyping

The process of interaction design and Prototyping Chapter 6 edited The process of interaction design and Prototyping 1 Overview What is involved in Interaction Design? Importance of involving users Degrees of user involvement What is a user-centered approach?

More information

HCI in the software process

HCI in the software process chapter 6 HCI in the software process HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle

HCI in the software. chapter 6. HCI in the software process. The waterfall model. the software lifecycle HCI in the software process chapter 6 HCI in the software process Software engineering and the process for interactive systems Usability engineering Iterative and prototyping Design rationale the software

More information

Systems Analysis & Design

Systems Analysis & Design Systems Analysis & Design Dr. Ahmed Lawgali Ahmed.lawgali@uob.edu.ly Slide 1 Systems Analysis & Design Course Textbook: Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition

More information

Prototyping for usability engineering

Prototyping for usability engineering analysis of stakeholders, field studies ANALYZE Problem scenarios claims about current practice Prototyping for usability engineering metaphors, information technology, HCI theory, guidelines DESIGN Activity

More information

User Centered Design And Prototyping

User Centered Design And Prototyping User Centered Design And Prototyping Why User Centered Design is important Approaches to User Centered Design Rapid prototype techniques The Design Of Well Crafted Tools The All Too Common Approach In

More information

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan

COSC 341 Human Computer Interaction. Dr. Bowen Hui University of British Columbia Okanagan COSC 341 Human Computer Interaction Dr. Bowen Hui University of British Columbia Okanagan 1 Recall: Learning About Your User Common ways to elicit user feedback: Interviews Focus groups Expert reviews

More information

User-centered design in technical communication

User-centered design in technical communication User-centered design in technical communication Information designer & information architect Sharing knowledge is better than having it. Tekom - TC Europe November 19-20, 2003 Nov. 19-20, 2003 User-centered

More information

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process

Human Computer Interaction Lecture 06 [ HCI in Software Process ] HCI in the software process Human Computer Interaction Lecture 06 [ HCI in Software Process ] Imran Ihsan Assistant Professor www.imranihsan.com aucs.imranihsan.com HCI06 - HCI in Software Process 1 HCI in the software process Software

More information

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard.

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard. HCI and Design Assignments Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard. Today Paper prototyping An essential tool in your design toolbox! How do we design things that actually

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

SE420 - Software Quality Assurance

SE420 - Software Quality Assurance SE420 - Software Quality Assurance http://dilbert.com/strips/comic/2006-01-29/ Lecture 3 Unit Testing, Part-2 January 21, 2019 Sam Siewert Reminders Assignment #2 Posted Thursday [Unit Re-Use] Explore

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

Human Error Taxonomy

Human Error Taxonomy Human Error Taxonomy The Human Error Taxonomy (HET) provides a structure for requirement errors made during the software development process. The HET can be employed during software inspection to help

More information

SOFTWARE LIFE-CYCLE MODELS 2.1

SOFTWARE LIFE-CYCLE MODELS 2.1 SOFTWARE LIFE-CYCLE MODELS 2.1 Outline Software development in theory and practice Software life-cycle models Comparison of life-cycle models 2.2 Software Development in Theory Ideally, software is developed

More information

User interface design. Software Engineering Slide 1

User interface design. Software Engineering Slide 1 User interface design Software Engineering Slide 1 The user interface User interfaces should be designed to match the skills, experience and expectations of its anticipated users. System users often judge

More information

CS/ISE 5714 Spring 2013

CS/ISE 5714 Spring 2013 CS/ISE 5714 Spring 2013 Chapter 11. Prototyping Chapter 10. UX Goals, Metrics, Targets Introduction A way to evaluate design before it s too late and too expensive Copyright MKP. All rights reserved. 2

More information

Designing. Simon Wilson Interaction designer, DWP Digital

Designing. Simon Wilson Interaction designer, DWP Digital Designing. Simon Wilson Interaction designer, DWP Digital What is design? Design is how it looks. Design is how it looks. Design is how something will work / should work. Designing is working out how something

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

Chapter Twelve. Systems Design and Development

Chapter Twelve. Systems Design and Development Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many

More information

User-Centered Development

User-Centered Development Software Lifecycle CS470 User-Centered Development User-centered development refers to a design process for creating a system that meets the needs of the user Users should be included in the design process

More information

Prototyping. Unit 5. Zeno Menestrina, MSc Prof. Antonella De Angeli, PhD

Prototyping. Unit 5. Zeno Menestrina, MSc Prof. Antonella De Angeli, PhD Prototyping Unit 5 Zeno Menestrina, MSc zeno.menestrina@unitn.it Prof. Antonella De Angeli, PhD antonella.deangeli@unitn.it Assessment Pervasive game to support social life in/from the campus 2 Assessment

More information

SWEN 444 Human Centered Requirements and Design Project Breakdown

SWEN 444 Human Centered Requirements and Design Project Breakdown SWEN 444 Human Centered Requirements and Design Project Breakdown Team Status Reports: (starting in Week 2) Your team will report weekly project status to your instructor, and as you wish, capture other

More information

Rapid Application Development [RAD]

Rapid Application Development [RAD] Rapid Application Development [RAD] RAD In Solution Delivery,, Beyond Prototypes www.lytecube.com Author: Girish Bellalcheru CTO, Lytecube.com Abstract Rapid application development has traditionally been

More information

How to Write Effective Use Cases? Written Date : January 27, 2016

How to Write Effective Use Cases? Written Date : January 27, 2016 Written Date : January 27, 2016 One of the most difficult problem in software development is capturing precisely what you want to build. Inaccurate requirement will end-up with significant delay, rework

More information

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen

Overview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen Overview of the course User-Centred Design Fang Chen 6 lectures, 3 hr each. L 1: April 6, 9-12, user-centered design concept L2: April 14, 9-12, usability concept L3. user-centered requirement study L4.

More information

LECTURE 11 USABILITY - PROTOTYPING

LECTURE 11 USABILITY - PROTOTYPING 1 October 11 th 2018 LECTURE 11 USABILITY - PROTOTYPING 2 HCI & InfoVis 2018, Lecture 11 1 Recapitulation Lecture #10 Toolbox for HCI & IV Dialogue Analysis Dialogue Notations STN Petri Nets Flow Charts

More information

13/9/10 PROTOTYPING. Cris3an Bogdan

13/9/10 PROTOTYPING. Cris3an Bogdan PROTOTYPING Cris3an Bogdan cris3@kth.se 1 What is a prototype? Concrete representation of an interactive system/service, or relevant part of it Tangible artifact Relevance depends on what is being explored

More information

Chapter 11 DESIGN, PROTOTYPING and CONSTRUCTION

Chapter 11 DESIGN, PROTOTYPING and CONSTRUCTION Chapter 11 DESIGN, PROTOTYPING and CONSTRUCTION Overview Prototyping Conceptual design Concrete design Using scenarios Generating prototypes Construction 2 Prototyping What is a prototype? Why prototype?

More information

What is a prototype?

What is a prototype? Prototyping Unit 4 Learning outcomes Understand the uses of different types of prototypes for different kinds/stages of design and be able to choose appropriately Know the basic techniques for low-fidelity

More information

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

Systems Analysis and Design

Systems Analysis and Design Systems Analysis and Design Michael Brydon Summer 2003 Slide 1 Introduction to the Course Course structure Lectures: material from the Dennis text Labs: in-lab assignments, demonstrations, and consulting

More information

Topic 01. Software Engineering, Web Engineering, agile methodologies.

Topic 01. Software Engineering, Web Engineering, agile methodologies. Topic 01 Software Engineering, Web Engineering, agile methodologies. 1 What is Software Engineering? 2 1 Classic Software Engineering The IEEE definition: Software Engineering is the application of a disciplined,

More information

Verification and Validation

Verification and Validation Verification and Validation Assuring that a software system meets a user's needs Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 19 Slide 1 Objectives To introduce software verification

More information

Seng310 Lecture 8. Prototyping

Seng310 Lecture 8. Prototyping Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June

More information

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives,

Virtualization. Q&A with an industry leader. Virtualization is rapidly becoming a fact of life for agency executives, Virtualization Q&A with an industry leader Virtualization is rapidly becoming a fact of life for agency executives, as the basis for data center consolidation and cloud computing and, increasingly, as

More information

Questionnaire Specification Database for Blaise Surveys

Questionnaire Specification Database for Blaise Surveys Questionnaire Specification Database for Blaise Surveys Lilia Filippenko, Valentina Grouverman, Joseph Nofziger, RTI International 1 Introduction Developing large scale, complex Computer Assisted Interview

More information

Static and dynamic Testing

Static and dynamic Testing Static and dynamic Testing Static testing Requirements specification High-level design Formal specification Detailed design Program Prototype Dynamic testing Ian Sommerville 1995 Software Engineering,

More information

Examination Questions Time allowed: 1 hour 15 minutes

Examination Questions Time allowed: 1 hour 15 minutes Swedish Software Testing Board (SSTB) International Software Testing Qualifications Board (ISTQB) Foundation Certificate in Software Testing Practice Exam Examination Questions 2011-10-10 Time allowed:

More information

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do? Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

User interface design

User interface design User interface design Objectives To suggest some general design principles for user interface design To explain different interaction styles and their use To explain when to use graphical and textual information

More information

Three Key Challenges Facing ISPs and Their Enterprise Clients

Three Key Challenges Facing ISPs and Their Enterprise Clients Three Key Challenges Facing ISPs and Their Enterprise Clients GRC, enterprise services, and ever-evolving hybrid infrastructures are all dynamic and significant challenges to the ISP s enterprise clients.

More information

Software Engineering

Software Engineering Software Engineering chap 4. Software Reuse 1 SuJin Choi, PhD. Sogang University Email: sujinchoi@sogang.ac.kr Slides modified, based on original slides by Ian Sommerville (Software Engineering 10 th Edition)

More information

Simplifying IT through Virtualization

Simplifying IT through Virtualization E X E C U T I V E S U M M A R Y G E T T E C H N O L O G Y R I G H T C U S T O M P U B L I S H I N G Microsoft-powered virtualization offers tremendous potential to help IT executives drive innovation while

More information

SWEN 444 Human Centered Requirements and Design Project Breakdown

SWEN 444 Human Centered Requirements and Design Project Breakdown SWEN 444 Human Centered Requirements and Design Project Breakdown Team Status Reports: (starting in Week 2) Your team will report bi-weekly project status to your instructor, and as you wish, capture other

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

Introduction to Assurance

Introduction to Assurance Introduction to Assurance Overview Why assurance? Trust and assurance Life cycle and assurance April 1, 2015 Slide #1 Overview Trust Problems from lack of assurance Types of assurance Life cycle and assurance

More information

Chapter 15. User Interface Design. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1

Chapter 15. User Interface Design. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1 Chapter 15 User Interface Design Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 15 Slide 1 Topics covered User interface design principles User interaction Information presentation User

More information

h(p://ihm.tumblr.com/post/ /word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction ! January 31, 2013!

h(p://ihm.tumblr.com/post/ /word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction ! January 31, 2013! h(p://ihm.tumblr.com/post/105778492/word- cloud- for- hci- human- computer- interacbon CS5340 Human-Computer Interaction January 31, 2013 Today s Class Administrivia User-centered Design Establishing Requirements

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

PRO WAYS TO LAUNCH A PRODUCT

PRO WAYS TO LAUNCH A PRODUCT MASTER SVG FILTER EFFECTS Make your websites shine across browsers RAPID PAPER PROTOTYPING Test out interactive BUILD A SLICK RESPONSIVE SITE Get started with the Gumby CSS framework CREATE APPS WITH NODE.JS

More information