18
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 11 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Informatics 121 Software Design I

  • Upload
    trista

  • View
    29

  • Download
    2

Embed Size (px)

DESCRIPTION

Informatics 121 Software Design I. Lecture 11 Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. Today’s lecture. Silent sticky notes. Software design methods. Software design methods. Mind mapping. - PowerPoint PPT Presentation

Citation preview

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 11

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

• Silent sticky notes

Page 3: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 3

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 4: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 4

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

Software design methods

Page 5: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 5

Mind mapping

• Mind mapping is the process of generating ideas and developing concepts when the underlying relationships are unclear

Page 6: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 6

Procedure

• Identify the focus word or question

• Free associate outward from the focus

• Reorganize as needed

• Annotate

Page 7: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 7

Example: identify the focus word or question

Page 8: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 8

Example: free associate outward from the focus

Page 9: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 9

Example: reorganize as needed

Page 10: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 10

Example: annotate

Page 11: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 11

Typical notation: mind map

Page 12: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 12

Criteria for successful use

• The designer must possess, or have access to people with, strong domain knowledge

• Relies on early insight into the design problem, and what dimensions might matter

• One should not dismiss ideas (generate first, consolidate later)

• Collaborate

Page 13: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 13

Strengths and weaknesses

Strengths• Can be used for many different

purposes• Fluid representation suitable for

tool use• Builds common understanding

and language• Encourages idea generation• Can uncover ‘hidden’

relationships• Lightweight

Weaknesses• May become too disconnected

from reality• May become too unwieldy in size

and complexity• Generation of ideas is restricted

by the hierarchical form of representation

• Requires a well-trained moderator

Page 14: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 14

Variants

• Concept mapping

Page 15: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 15

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 16: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 16

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 17: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 17

Today

• Use the mind mapping design method through the use of silent sticky notes

Page 18: Informatics 121 Software Design I

Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and

sdcl.ics.uci.edu 18

Design studio 3 continued

• Hand in a document, at the beginning of class, December 3, containing your final design for the new note taking application

• Team assignment

• Bring one copy