Design Basics CS5540 HCI Rich R iesen feld 13 Nov 2002.

Slides:



Advertisements
Similar presentations
Design, prototyping and construction
Advertisements

Utah School of Computing Design Basics CS5540 HCI Rich R iesen feld Fall 2010 CS5540 HCI Rich R iesen feld Fall 2010 Lecture Set 12.
Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
PSU Design Basics CS 365 HCI Prof. Ahmed Sameh Student Name Server Utah School of Computing slide 2 Thesis HCI intrinsically involves design -“ an interface.
Lecture # 2 : Process Models
Object-Oriented Software Development CS 3331 Fall 2009.
Virtual University - Human Computer Interaction 1 © Imran Hussain | UMT Imran Hussain University of Management and Technology (UMT) Lecture 16 HCI PROCESS.
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
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.
Utah School of Computing HCI Validation Richard F. Riesenfeld University of Utah Fall 2009 Lecture Set 16.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Principles of Software Development CS-300 Fall 2005 Supreeth Venkataraman.
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Gu & Maher University of Sydney, October 2004 DECO2005 Monitoring Team Process.
Chapter 6: Design of Expert Systems
CAP 252 Lecture Topic: Requirement Analysis Class Exercise: Use Cases.
Supporting Design Managing complexity of designing Expressing ideas Testing ideas Quality assurance.
1 CS 425/625 Software Engineering CS 425/625 Software Engineering Software Processes Based on Chapter 4 of the textbook [SE-7] Ian Sommerville, Software.
Dept. of Computer Engineering, Amirkabir University of Tech. 1 Design Patterns Dr. Noorhosseini Introduction.
Chapter 6 The Process of Interaction Design Presented by: Kinnis Gosha, Michael McGill, Jamey White, and Chiao Huang.
Software Engineering General Project Management Software Requirements
CS 425/625 Software Engineering Software Processes
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software lifecycle. CS351 - Software Engineering (AY2004)2 Software lifecycle “student view” Design & Specification Coding Testing (optional) Hand it.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Design Patterns.
Development Processes and Product Planning
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Design, Implementation and Maintenance
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Utah School of Computing Design Basics CS5540 HCI Rich R iesen feld Fall 2009 CS5540 HCI Rich R iesen feld Fall 2009 Lecture Set 12.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
IT Systems Analysis & Design
CSE 303 – Software Design and Architecture
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
CS5391, course pack #6 Can Internet-based application(IBA) be engineered? IEEE software, September/October 1998, pp IEEE software, September/October.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Requirement Handling
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Human Computer Interaction
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
CSE 303 – Software Design and Architecture
Smart Home Technologies
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
From the customer’s perspective the SRS is: How smart people are going to solve the problem that was stated in the System Spec. A “contract”, more or less.
Utah School of Computing Design Basics CS5540 HCI Rich R iesen feld Fall 2009.
Lecture 6 Title: Project Cost Management MIS 434.
Chapter 2 Software Development Model and 1. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
The Engineering Design Process
Announcements/Assignments
The Project Infrastructure
Software Processes (a)
CS 425/625 Software Engineering Software Processes
V-Shaped SDLC Model Lecture-6.
Software development life cycle models
Chapter 2 SW Process Models
IT Systems Analysis & Design
Chapter 2 The Process of Design.
CS5540 HCI Rich Riesenfeld Fall 2003
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
UNIT 5 EMBEDDED SYSTEM DEVELOPMENT
CS5540 HCI Rich Riesenfeld Fall 2008
Presentation transcript:

Design Basics CS5540 HCI Rich R iesen feld 13 Nov 2002

Fall 2002CS Thesis HCI intrinsically involves design – - “Build an interface to …” What does this observation entail?

Fall 2002CS Whereas… Design is as old as creativity Intensively studied subject Much is known Let’s tap this understanding and experience!

Fall 2002CS Design is Ubiquitous Nearly all human activities involve design – Novels, airplanes, murals… – Rescue missions, ascents… – Algorithms, software, interfaces

Fall 2002CS Design Approaches Top down – Mechanical linkages, compilers, software systems – Recursive refinement technique

Fall 2002CS Design Approaches (2) Bottom up – Prototype, gain experience – Abstract principles – Scale up; begin slow – Infer from particular to the general

Fall 2002CS Design Challenges Economics – Make it good and cheap – “Better, faster, cheaper” Constraints – Not design without constraints

Fall 2002CS Critical Choices Much of design involves making wise “trade-off” – Form v. function – Weight v. durability – Specific and focused v. general and diffuse – Etc. …

Fall 2002CS Design Integrity Clear purpose – Understand the role – Good functional spec – Tasks to accomplish? – Who is user? – Budgets?

Fall 2002CS Design Discipline Maintain focus and charge – Refer to specs often Creeping “feature-ism” – “Wheel of re-incarnation” – Compact cars, portable models, basic models, etc. – Features are NOT free!

Fall 2002CS Design Discipline (2) Sunset the lifecycle Expanded spec New technologies change “design equations” “Just shoot it” – Start over!

Fall 2002CS Design Phases/Stages Conceptual – Show that idea can work Preliminary – Sufficient to understand, cost, etc Detail – The “whole enchilada” – Adequate for contracting

Fall 2002CS “Design Intent” Why did the designer do this? What is the function of this component? What was the designer thinking? What are the implications if this is modified?

Fall 2002CS Design History Better at design than documentation Not sensitive to capturing the past Important for the future of a product Need better tools Record the history as well as final result!

Fall 2002CS Documentation Should not be a post-process Capture at time of creation Hard problem, actually – Who should do it? – How should it be accomplished? Expensive – Not always part of deliverable!

Fall 2002CS Design Conventions Use standards for components Use standards for style Don’t re-invent terms, tech, tools, etc. Make it as straightforward as possible for others who work with you

Fall 2002CS Variant Design Most designs are not really new from the bottom up! Redesign is far more common as an activity than design, actually Make use of the past Use templates, components, previous knowledge, catalogs, etc.

Fall 2002CS Lifecycle Design Consider the entire life of a product – Cradle to grave (incl disposal) – Look at lifecycle cost! – Who will maintain? – How long will product live? – What tools are appropriate? – Situations change!!

Fall 2002CS Design for Change The only sure thing about a design is that its requirements will evolve and may change dramatically Build it flexibly, modularly, clearly wrt to intent, etc

Fall 2002CS Design Spiral Iterate repeatedly Budget for interaction Throw away early attempts as learning exercises – Steve Coons “I know what to throw out.”

Fall 2002CS “ilities” of Design Maintainability Portability Readability Flexibility Testability Etc, etc….

Fall 2002CS Complexity “Banana” Complexity space often is shaped like a banana: – Many simple instances – Few complicated instances

Fall 2002CS Banana Envelope x x x x x x x x Number of Items Difficulty of Items

Fall 2002CS Design “Reuse” Try to make the parts re-usable for other things or future renovations Use existing parts if available and of adequate quality

Fall 2002CS Design is “team sport” Most designs involve more than one Interfaces are critical, not just components Communications, small granularity exchanges, important Negotiation, compromise part of deal

Fall 2002CS Design Views Components may serve different functions – Different designers see different views – Pockets v. Ribs – Manufacture v. Structures

Fall 2002CS Testing and Validation Important stuff! Expensive phase Underdone activity – Alpha testing – Beta testing

Fall 2002CS Design Review Take stock of progress periodically Is design on track? Have it critiqued by a group

Fall 2002CS Design Evaluation How well does design perform? – Consider all aspects and costs – Were the trade-offs wise?

Fall 2002CS Debugging Discipline Early is better: easier and cheaper Product recall is the ultimate “debugging,” and the most expensive, incl liability

Fall 2002CS Design Safety Consider failure modes What are the consequences of failure? Have they been adequately explored and mitigated?

Fall 2002CS Design is a Creative Process Respect its needs – Time – Concentration – Freedom – Liberation – Encouragement and support

Fall 2002CS Consider Multiple Solutions Competing prototypes – Learn more about merits and liabilities Gain experience “American way…” – Can help evoke “best effort”

Fall 2002CS Recognize Design Activity Encourage good design practice Nurture good design through better understanding of its nature You are designers! Do it well!

The End Design Methodology