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