utah school of computing design basics cs5540 hci rich r iesen feld fall 2010 cs5540 hci rich r...

43
Utah School of Computing Design Basics CS5540 HCI Rich Riesenfeld Fall 2010 Lecture Set 12

Upload: alma-crowthers

Post on 29-Mar-2015

217 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 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

Utah School of Computing

Utah School of Computing

Design BasicsDesign Basics

CS5540 HCI

Rich RiesenfeldFall 2010

CS5540 HCI

Rich RiesenfeldFall 2010Le

ctur

e S

et 1

2

Page 2: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 2slide 2Fall 2009Fall 2009

ThesisThesis

• HCI intrinsically involves design

- “ an interface to …”

• What does this observation entail?

• HCI intrinsically involves design

- “ an interface to …”

• What does this observation entail?

Design

Page 3: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 3slide 3Fall 2009Fall 2009

Whereas…Whereas…

• Design is as old as creativity

• Intensively studied subject

• Much is known

• Let’s tap this understanding and

experience!

• Design is as old as creativity

• Intensively studied subject

• Much is known

• Let’s tap this understanding and

experience!

Page 4: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 4slide 4Fall 2009Fall 2009

Design is UbiquitousDesign is Ubiquitous

• Nearly all human activities involve design

- Novels, airplanes, murals…

- Rescue missions, ascents…

- Algorithms, software, interfaces

• Nearly all human activities involve design

- Novels, airplanes, murals…

- Rescue missions, ascents…

- Algorithms, software, interfaces

Page 5: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 5slide 5Fall 2009Fall 2009

Design ApproachesDesign Approaches

• Top down- Mechanical linkages, compilers, software

system- Airplane, eg: mission, configuration, weight- Recursive refinement technique

• Particular as an instance of General- Parametric design

• Top down- Mechanical linkages, compilers, software

system- Airplane, eg: mission, configuration, weight- Recursive refinement technique

• Particular as an instance of General- Parametric design

Page 6: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 6slide 6Fall 2009Fall 2009

Design Approaches (2)Design Approaches (2)

• Bottom up- Prototype, gain experience

- Abstract principles

- Scale up; begin slow

• Infer General from Particular- Linguistics

• Bottom up- Prototype, gain experience

- Abstract principles

- Scale up; begin slow

• Infer General from Particular- Linguistics

Page 7: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 7slide 7Fall 2009Fall 2009

Bottom_Up ↔ Top_Down Bottom_Up ↔ Top_Down

Note:

Q E D…

Page 8: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 8slide 8Fall 2009Fall 2009

Design ChallengesDesign Challenges

• Economics- Make it good and cheap

- “Better, faster, cheaper”

• Constraints- Not design without constraints

• Economics- Make it good and cheap

- “Better, faster, cheaper”

• Constraints- Not design without constraints

Page 9: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 9slide 9Fall 2009Fall 2009

Critical ChoicesCritical Choices

• Design involves making wise “trade-off”- Form v. function- Weight v. durability- Specific and focused v. general and diffuse

Paint v PhotoShop

- Etc. …

• Design involves making wise “trade-off”- Form v. function- Weight v. durability- Specific and focused v. general and diffuse

Paint v PhotoShop

- Etc. …

Page 10: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 10slide 10Fall 2009Fall 2009

Design IntegrityDesign Integrity

• Clear purpose- Understand the role

Who is user and what is her profile?

- Good functional spec Tasks to accomplish?

Who is user?

Budgets?

• Clear purpose- Understand the role

Who is user and what is her profile?

- Good functional spec Tasks to accomplish?

Who is user?

Budgets?

Page 11: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 11slide 11Fall 2009Fall 2009

Design DisciplineDesign Discipline

• Maintain focus and charge- Refer to specs often

• Creeping “feature-ism”- “Wheel of re-incarnation” (IES)

Compact cars, portable models, basic models, etc.

Features are NOT free!

• Maintain focus and charge- Refer to specs often

• Creeping “feature-ism”- “Wheel of re-incarnation” (IES)

Compact cars, portable models, basic models, etc.

Features are NOT free!

Page 12: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 12slide 12Fall 2009Fall 2009

Design Discipline (2)Design Discipline (2)

• Sunset the lifecycle• Expanded spec• New technologies change “design

equations”• “Just shoot it”

- Start over!

• Sunset the lifecycle• Expanded spec• New technologies change “design

equations”• “Just shoot it”

- Start over!

Page 13: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 13slide 13Fall 2009Fall 2009

Design Phases/StagesDesign Phases/Stages

1. Conceptual Show that idea can work

2. Preliminary Sufficient to understand, cost, etc

3. Detail The “whole enchilada” Adequate for contracting

1. Conceptual Show that idea can work

2. Preliminary Sufficient to understand, cost, etc

3. Detail The “whole enchilada” Adequate for contracting

Page 14: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 14slide 14Fall 2009Fall 2009

“Design Intent”“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?

• Design Intent is often poorly documented

• 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?

• Design Intent is often poorly documented

Page 15: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 15slide 15Fall 2009Fall 2009

Design History - 1Design History - 1

• Learn to document at design time• Be sensitive to capturing record of past• Recognize important for product’s future• Develop tools more conducive to

documentation activity• Record the history as well as final result!

• Learn to document at design time• Be sensitive to capturing record of past• Recognize important for product’s future• Develop tools more conducive to

documentation activity• Record the history as well as final result!

We need to:

Page 16: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 16slide 16Fall 2009Fall 2009

Design History - 2Design History - 2

Design Notebook

Commonplace in many areas of engineering

History of project evolution

Often signed by witness and has

legal standing

Design Notebook

Commonplace in many areas of engineering

History of project evolution

Often signed by witness and has

legal standing

Page 17: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 17slide 17Fall 2009Fall 2009

DocumentationDocumentation

• Should not be a frantic post-process• Capture documentation at time of creation• Hard problem, actually

- Who should do it?- How should it be accomplished?

• Expensive- Not always part of deliverable!- Not likely a factor in making a sale

• Should not be a frantic post-process• Capture documentation at time of creation• Hard problem, actually

- Who should do it?- How should it be accomplished?

• Expensive- Not always part of deliverable!- Not likely a factor in making a sale

Page 18: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 18slide 18Fall 2009Fall 2009

Design ConventionsDesign 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

• 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

Page 19: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 19slide 19Fall 2009Fall 2009

Variant DesignVariant 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.

• 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.

Page 20: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 20slide 20Fall 2009Fall 2009

Lifecycle DesignLifecycle 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!

• 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!

Page 21: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 21slide 21Fall 2009Fall 2009

Design for ChangeDesign 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

• 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

Page 22: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 22slide 22Fall 2009Fall 2009

Waterfall Model of DesignWaterfall Model of DesignSystem Concept

System Concept

Spec Sys Req’s

Spec Sys Req’s

Architectural Design

Architectural Design

Detailed Design

Detailed DesignImplement, Integrate & Test

Implement, Integrate & TestDeploy & Cash Check

Deploy & Cash Check

Page 23: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 23slide 23Fall 2009Fall 2009

Waterfall Model of DesignWaterfall Model of DesignSystem Concept

System Concept

Spec Sys Req’s

Spec Sys Req’s

Architectural Design

Architectural Design

Detailed Design

Detailed DesignImplement, Integrate & Test

Implement, Integrate & TestDeploy & Cash Check

Deploy & Cash Check

Page 24: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 24slide 24Fall 2009Fall 2009

Waterfall Model of DesignWaterfall Model of DesignSystem Concept

System Concept

Spec Sys Req’s

Spec Sys Req’s

Architectural Design

Architectural Design

Detailed Design

Detailed DesignImplement, Integrate & Test

Implement, Integrate & TestDeploy & Cash Check

Deploy & Cash Check

Page 25: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 25slide 25

Design CycleDesign Cycle

• Iterate on the design process repeatedly• Iterate on the design process repeatedly

Fall 2009Fall 2009

Page 26: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 26slide 26

Design SpiralDesign Spiral

• Iterate repeatedly• Budget for interaction• Throw away early

attempts as

learning exercises- Steve Coons “I know what to throw out.”

• Iterate repeatedly• Budget for interaction• Throw away early

attempts as

learning exercises- Steve Coons “I know what to throw out.”

Fall 2009Fall 2009

Page 27: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 27slide 27

Evolutionary PrototypingEvolutionary Prototyping

• Start with initial concept• Design and implement• initial prototype• Iterate through • prototype refinement• Complete and release • acceptable prototype

• Start with initial concept• Design and implement• initial prototype• Iterate through • prototype refinement• Complete and release • acceptable prototype

Fall 2009Fall 2009

Page 28: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 28slide 28Fall 2009Fall 2009

“ilities” of Design“ilities” of Design

• Maintainability• Portability• Readability• Flexibility• Testability• Etc, etc….

• Maintainability• Portability• Readability• Flexibility• Testability• Etc, etc….

Page 29: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 29slide 29Fall 2009Fall 2009

Complexity “Banana”Complexity “Banana”

• Complexity space often is shaped

like a banana:- Many simple instances

- Few complicated instances

• Complexity space often is shaped

like a banana:- Many simple instances

- Few complicated instances

Page 30: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 30slide 30Fall 2009Fall 2009

Banana EnvelopeBanana Envelope

Number of Items

Difficu

lty of Ite

ms

Iso-curves for equivalent effortx

x

x

x

x

xx

x

Page 31: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 31slide 31Fall 2009Fall 2009

Design “Reuse”Design “Reuse”

• Try to make the parts re-usable for

other things or future renovations

• Use existing parts if available and of

adequate quality

• Try to make the parts re-usable for

other things or future renovations

• Use existing parts if available and of

adequate quality

Page 32: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 32slide 32Fall 2009Fall 2009

Design is “team sport”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

• Most designs involve more than one• Interfaces are critical, not just

components• Communications, small granularity

exchanges, important• Negotiation, compromise part of deal

Page 33: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 33slide 33Fall 2009Fall 2009

Design ViewsDesign Views

• Components may serve different functions - Different designers see different views

Holes v. Elements Interfaces v. Modules

• Components may serve different functions - Different designers see different views

Holes v. Elements Interfaces v. Modules

Page 34: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 34slide 34Fall 2009Fall 2009

Testing and ValidationTesting and Validation

• Important stuff!• Expensive phase• Underdone activity

- Alpha testing- Beta testing

• Important stuff!• Expensive phase• Underdone activity

- Alpha testing- Beta testing

Page 35: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 35slide 35Fall 2009Fall 2009

Design ReviewDesign Review

• Take stock of progress periodically

• Is design on track?

• Have it critiqued by a group

• Take stock of progress periodically

• Is design on track?

• Have it critiqued by a group

Page 36: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 36slide 36Fall 2009Fall 2009

Design EvaluationDesign Evaluation

• How well does design perform?

- Consider all aspects and costs

- Were the trade-offs wise?

• How well does design perform?

- Consider all aspects and costs

- Were the trade-offs wise?

Page 37: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 37slide 37Fall 2009Fall 2009

Debugging DisciplineDebugging Discipline

• Early is better: easier and cheaper

• Product recall is the ultimate

“debugging,” and the most expensive,

incl product liability

• Early is better: easier and cheaper

• Product recall is the ultimate

“debugging,” and the most expensive,

incl product liability

Page 38: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 38slide 38Fall 2009Fall 2009

Design SafetyDesign Safety

• Consider failure modes

• What are the consequences of failure?

• Have they been adequately explored and

mitigated?

• Consider failure modes

• What are the consequences of failure?

• Have they been adequately explored and

mitigated?

Page 39: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 39slide 39Fall 2009Fall 2009

Design is a Creative ProcessDesign is a Creative Process

• Respect its needs- Time and patience

- Concentration, protracted focus

- Freedom to explore new ways Liberation from past

- Individual encouragement and support Most ideas are not “keepers”

• Respect its needs- Time and patience

- Concentration, protracted focus

- Freedom to explore new ways Liberation from past

- Individual encouragement and support Most ideas are not “keepers”

Page 40: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 40slide 40Fall 2009Fall 2009

Consider Multiple SolutionsConsider Multiple Solutions

• Competing prototypes- Learn more about merits and liabilities

• Gain experience

• “American way (free market)…” - Can help evoke “best effort”

• Competing prototypes- Learn more about merits and liabilities

• Gain experience

• “American way (free market)…” - Can help evoke “best effort”

Page 41: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 41slide 41Fall 2009Fall 2009

Msg: Recognize Design ActivityMsg: Recognize Design Activity

• Encourage good design practice

• Nurture good design through better

understanding of its nature

- Establish and protect a conducive

environment

• You are designers! Do it well!

• Encourage good design practice

• Nurture good design through better

understanding of its nature

- Establish and protect a conducive

environment

• You are designers! Do it well!

Page 42: 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

Utah School of Computing

Utah School of Computing

Design MethodologyDesign Methodology

End

End

Lec

ture

Set

12

Page 43: 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

Student Name ServerStudent Name ServerUtah School of ComputingUtah School of Computing slide 43slide 43Fall 2009Fall 2009