November 5, 2009 CS 350 Lecture 20 1CS 350: Computer/Human InteractionLecture 20 Overview●Prototyping and SBD●Evolutionary Development●Discuss Homework 4November 5, 2009 CS 350 Lecture 20 2CS 350: Computer/Human InteractionPrototyping and SBD●Prototyping supports iterative design●Prototypes are built in parallel with writing scenarios–Just one feature of a scenario –Features from multiple scenarios together–Features not yet described in a scenario●Prototypes are evaluated; results fed into redesignNovember 5, 2009 CS 350 Lecture 20 3CS 350: Computer/Human InteractionEvolutionary Development●SBD UI development works very well with agile software engineering techniques like extreme programming (XP)●Agile techniques are a reaction to overly formal, rigid software engineering processes–No one method fits all projects–Identify the “lightest” method possible–Particularly for web-based business applicationsNovember 5, 2009 CS 350 Lecture 20 4CS 350: Computer/Human InteractionExtreme Programming (XP)●Developed by Kent Beck in late 1990’s●Goal is to do extremely rapid development while avoiding defects●Includes lots of different practices including pair programming, continuous system integration, refactoring, test first●Key issues have been scaling the technique to very large projects, security of information, etc.November 5, 2009 CS 350 Lecture 20 5CS 350: Computer/Human InteractionSBD and XP●Relevant XP practices related to SBD include metaphors, clients on-site and part of design team, user stories●SBD integrates well with XP. UI design proceeds in parallel with software design●Key is that both are inquiry-based design processes. Users participate as full members of design team. Feedback can change design at any time.November 5, 2009 CS 350 Lecture 20 6CS 350: Computer/Human InteractionKey Tradeoffs●Quality of prototype vs. premature commitment●Building prototypes vs. time & resource management●Realistic prototypes vs. early availability or discardable efforts●Constant iteration vs. radical changes and/or refactoring of a design●Dynamic platforms vs. organized, well-structured code baseNovember 5, 2009 CS 350 Lecture 20 7CS 350: Computer/Human InteractionExercise 3, p. 194●Step through two different email tasks (e.g. writing a new email, and trans-ferring an email to a folder). For each one, analyze the support for the undo process provided by your email client. Does it reverse your actions in a predictable and natural way? Discuss why or why not.November 5, 2009 CS 350 Lecture 20 8CS 350: Computer/Human InteractionExercise 1, p. 224●Reread the vignette at the beginning of the chapter. How could a better outcome have been produced? Offer at least two specific suggestions you believe would have improved the situation. Provide a rationale for each
View Full Document