+ All Categories
Home > Documents > Informatics 121 Software Design I

Informatics 121 Software Design I

Date post: 22-Feb-2016
Category:
Upload: anika
View: 48 times
Download: 0 times
Share this document with a friend
Description:
Informatics 121 Software Design I. Lecture 10 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. Today’s lecture. Design methods Feature comparison Contextual inquiry (light) Design studio 3. Design cycle. - PowerPoint PPT Presentation
50
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 10 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
Transcript
Page 1: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 1

Informatics 121Software Design I

Lecture 10

Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Page 2: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 2

Today’s lecture

• Design methods

• Feature comparison

• Contextual inquiry (light)

• Design studio 3

Page 3: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 3

Design cycle

analyze evaluate

synthesize

goalsconstraints

assumptionsdecisions

ideas

Page 4: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 4

Realistic design process

satisfactory experience

plan for realization

change in the world

what is it to accomplish?

how does one interact with it?

what is its conceptual core?

what are its implementation details?

Page 5: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 5

Realistic design process

satisfactory experience

plan for realization

change in the world

what is it to accomplish?

how does one interact with it?

what is its conceptual core?

what are its implementation details?

What happens here?

Page 6: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 6

Realistic design process

satisfactory experience

plan for realization

change in the world

what is it to accomplish?

how does one interact with it?

what is its conceptual core?

what are its implementation details?

Or here?

Page 7: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 7

Design method

• A self-contained, structured technique that guides a designer in advancing some aspect of the design project at hand

• Serves as a bridge from the overall process of design to actual individual and collaborative design work

Page 8: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 8

Origin

Page 9: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 9

Today

Page 10: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 10

Example

Page 11: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 11

Example

Page 12: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 12

Example

Page 13: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 13

Example

Page 14: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 14

Characteristics of design methods

• Each design method suits a specific purpose with respect to the design cycle and overall design project

• Each design method expects a certain context for it to lead to optimal results

• Applying just one design method rarely suffices (but still may help)

Page 15: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 15

Example – decision making

Page 16: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 16

Example – unearthing assumptions

Page 17: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 17

Example – generating ideas

Page 18: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 18

Example – identifying goals

Page 19: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 19

Choosing design methods to apply

• Focus on essence

• Focus on the unknown

• Focus on making progress

Page 20: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 20

Focus on essence

• Every design problem has an essence, the key – and often most difficult – part that must be understood and addressed ‘right’ for the design solution (plan for change in the world) to satisfy the stakeholders

• Postponing understanding and addressing the essence of a design problem incurs a significant risk of rework at a later time

Page 21: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 21

Focus on the unknown

• Every design problem involves knowledge deficiencies – gaps in the understanding of the design problem and its possible solutions – that must be addressed for the design solution (plan for change in the world) to satisfy the stakeholders

• Postponing understanding and addressing knowledge deficiencies incurs a significant risk of rework at a later time

Page 22: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 22

Focus on making progress

• Every design problem involves times during which the design project gets stuck; focusing effort elsewhere and continuing to make progress is often the right approach in response

• Continuing to focus on a stuck issue for extended periods of time tends to be effort that is wasted

Page 23: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 23

Software design methods

Applicationdesign

Interactiondesign

Architecturedesign

Implementationdesign

Analysis • competitive testing• contextual inquiry• feature comparison• stakeholder analysis• task analysis

• critical incident technique• interaction logging• personas• scenarios

• framework assessment• model-driven

engineering• quality-function-

deployment• reverse engineering• world modeling

• release planning• summarization• test-driven design• visualization

Synthesis • affinity diagramming• concept mapping• mind mapping• morphological chart

• design/making• participatory design• prototyping• storyboarding

• architectural styles• generative programming• component reuse• decomposition

• pair programming• refactoring• search• software patterns

Evaluation • requirements review• role playing• wizard of oz

• cognitive walkthrough• evaluative research• heuristic evaluation• think-aloud protocol

• formal verification• simulation• weighted objectives

• correctness proofs• inspections/reviews• parallel deployment• testing

Page 24: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 24

Software design methods

Applicationdesign

Interactiondesign

Architecturedesign

Implementationdesign

Analysis • competitive testing• contextual inquiry• feature comparison• stakeholder analysis• task analysis

• critical incident technique• interaction logging• personas• scenarios

• framework assessment• model-driven

engineering• quality-function-

deployment• reverse engineering• world modeling

• release planning• summarization• test-driven design• visualization

Synthesis • affinity diagramming• concept mapping• mind mapping• morphological chart

• design/making• participatory design• prototyping• storyboarding

• architectural styles• generative programming• component reuse• decomposition

• pair programming• refactoring• search• software patterns

Evaluation • requirements review• role playing• wizard of oz

• cognitive walkthrough• evaluative research• heuristic evaluation• think-aloud protocol

• formal verification• simulation• weighted objectives

• correctness proofs• inspections/reviews• parallel deployment• testing

Page 25: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 25

Feature comparison

• Feature comparison is the process of conducting research to learn about the features of competing products

Tesla Model S Toyota Prius Volkswagen Beetle

Page 26: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 26

Procedure

• Identify competitors and their products

• Establish dimensions for comparison

• Conduct research

• Analyze results

Page 27: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 27

Example: identify competitors and their products

Tesla Model S Toyota Prius Volkswagen Beetle

Page 28: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 28

Example: establish dimensions for comparison

• Type of engine• Miles per gallon• Range on a single refuel/recharge• Number of passengers• Number of doors• …

Page 29: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 29

Example: conduct research

• Request brochures

• Visit manufacturer web site

• Visit independent review web site (e.g., J.D. Powers)

• Visit car dealers

• Ask friends

• …

Page 30: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 30

Example: analyze results

Tesla Model S Toyota Prius Volkswagen Beetle

Type of engine Fully electric Hybrid Gasoline

Miles per gallon 89 50 32

Range on a single refuel/recharge 300 540 594

Number of passengers 7 5 4

Number of doors 4 4 4

… … … …

Page 31: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 31

Example: analyze results

• A fully electric vehicle reduces the driving range significantly

• A hybrid car may represent an appropriate tradeoff between driving range and fuel efficiency

• Four doors is standard

• Tesla Model S, except for its driving range, is (tied for) best in all categories, and therefore perhaps our main competitor

• …

Page 32: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 32

Typical notation: comparison matrix

Tesla Model S Toyota Prius Volkswagen Beetle

Type of engine Fully electric Hybrid Gasoline

Miles per gallon 89 50 32

Range on a single refuel/recharge 300 540 594

Number of passengers 7 5 4

Number of doors 4 4 4

… … ...

Page 33: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 33

Alternative notation: radar chart

Miles per gallon

Range on a single refuel/recharge

Number of passengers

Number of doors 0

5

10

Tesla Model SToyota PriusVolkswagen Beetle

Page 34: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 34

Criteria for successful use

• Direct or indirect access to the specifications of the competing products

• Creation of a meaningful set of dimensions for comparison

• Appropriate depth of analysis

Page 35: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 35

Strengths and weaknesses

Strengths• Helps identify key competitors• Creates a detailed account of

competing products• Builds an understanding of the

full landscape as it exists today– range of feature sets– differentiation– best practices

• Lightweight design method

Weaknesses• Focuses on the present, not what

competing products might look like in the (near) future

• Reinforces existing boundaries, perhaps stifling creativity

• Lightweight design method

Page 36: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 36

Contextual inquiry (light)

• Contextual inquiry is the process of observing and interviewing a user in context – while they are engaged in the actual setting of life

Page 37: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 37

Procedure

• Plan

• Identify users

• Visit and inquire

Page 38: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 38

Example: plan

• Decide, beforehand, the purpose of the contextual inquiry– what type of information– which type of setting– which type of users

Page 39: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 39

Example: identify users

• Draw an advertisement in the newspaper

• Social media recruiting

• Ask client for access to representative users

• Use an external recruitment service to target particular (typically representative) demographics

Page 40: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 40

Example: visit and inquire

• Two-to-three hour visit

• Master-apprentice model– observer takes note of what the user does– user shares their thoughts on the work they perform– observer inquires why the user does what they do– observer takes notes

• Ideally, a contextual inquiry becomes a rich conversation– shared stories and insights– clarified interpretations

Page 41: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 41

Example (insufficient inquiry, bias)

http://youtu.be/o1sswVMmSO4

Page 42: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 42

Example (too much inquiry)

http://youtu.be/Gd5fA9UQDjE

Page 43: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 43

Typical notation: notes

Page 44: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 44

Criteria for successful use

• Access to the ‘right’ users involved in the ‘right’ activities

• Extensive sharing

• Ability to expand inquiry

• A strong focus on why (why not)

Page 45: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 45

Strengths and weaknesses

Strengths• Reveals underlying and often

invisible work structure– flows, tasks, artifacts, physical

environment, culture, …• Involves actual users• Exposes rationale• Can challenge assumptions held

by the designer• Not as involved as a full

ethnography, but can still yield very usable insights and results

Weaknesses• Users may not know the answers

to the important questions• Steeped in current practices,

perhaps stifling creativity• Observer bias• Lessons that can be learned

depend strongly on the activities being performed by the user

• Stops short of analysis

Page 46: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 46

Variants

• Contextual design

• Questionnaire

• Ethnography

• Interview

Page 47: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 47

Design studio 3

• Venture capitalist V has come to UC Irvine, seeking to upstage the online note taking world

• The venture capitalist knows that, rather than through her proposing the kind of app she wants, she is better served by running this as a competition and getting a broad range of ideas from which she then can choose

• V is particularly interested in forward thinking apps; apps that will really make a difference 2-5 years from now

Page 48: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 48

Design studio 3

• Your team is tasked with designing a novel note taking, sharing, and organizing app that explicitly aims to upstage existing apps in this space

Page 49: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 49

Design studio 3 – assignment

• Research existing note taking apps, what they can and cannot do, what kinds of functionality they provide and not, and where the holes and opportunities in this kind of app landscape are

• Talk to at least 20 different people for whom a new app might be beneficial, and learn from them what they might and might not want

Page 50: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 50

Design studio 3 – assignment

• Two deliverables– a written document with your findings– a 10 minute presentation summarizing your findings

• This is a team assignment (with upcoming team evaluations)

• Due Tuesday November 19


Recommended