Lecture 11

advertisement
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.
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 1
Today’s lecture
• Silent sticky notes
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 2
Software design methods
Application
design
Interaction
design
Architecture
design
Implementation
design
Analysis
•
•
•
•
•
competitive testing
contextual inquiry
feature comparison
stakeholder analysis
task analysis
•
•
•
•
critical incident technique
interaction logging
personas
scenarios
• framework assessment
• model-driven engineering
• quality-functiondeployment
• 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
•
•
•
•
•
•
•
•
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
SDCL
Software Design and
Collaboration Laboratory
architectural styles
generative programming
component reuse
decomposition
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 3
Software design methods
Application
design
Interaction
design
Architecture
design
Implementation
design
Analysis
•
•
•
•
•
competitive testing
contextual inquiry
feature comparison
stakeholder analysis
task analysis
•
•
•
•
critical incident technique
interaction logging
personas
scenarios
• framework assessment
• model-driven engineering
• quality-functiondeployment
• 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
•
•
•
•
•
•
•
•
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
SDCL
Software Design and
Collaboration Laboratory
architectural styles
generative programming
component reuse
decomposition
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 4
Mind mapping
• Mind mapping is the process of generating ideas and
developing concepts when the underlying relationships are
unclear
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 5
Procedure
• Identify the focus word or question
• Free associate outward from the focus
• Reorganize as needed
• Annotate
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 6
Example: identify the focus word or question
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 7
Example: free associate outward from the focus
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 8
Example: reorganize as needed
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 9
Example: annotate
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 10
Typical notation: mind map
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 11
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
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 12
Strengths and weaknesses
Strengths
Weaknesses
• 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
• 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
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 13
Variants
• Concept mapping
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 14
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
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 15
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
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 16
Today
• Use the mind mapping design method through the use of
silent sticky notes
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 17
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
SDCL
Software Design and
Collaboration Laboratory
Department of Informatics, UC Irvine
sdcl.ics.uci.edu 18
Download