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.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 2 Discussion There will be discussion this Friday Please join your designated discussion
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 3 Today’s lecture Design notations Design studio 2 (continued)
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 4 Intermezzo: what experts do Experts repeat activities Experts explore different perspectives Experts move among levels of abstraction Experts rotate among subject pairs
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 5 Design designerplan makerchange in the world audienceexperiences other stakeholders
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 6 A design artifact An externalized representation used to further a design project – design problem, design solution, or both – partial or complete – fluid or frozen
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 7 Example
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 8 Example
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 9 Example
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 10 Example
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 11 Example
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 12 Purpose of design artifacts Design artifacts to think Design artifacts to talk Design artifacts to prescribe
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 13 Thinking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 14 Thinking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 15 Thinking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 16 Talking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 17 Talking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 18 Talking design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 19 Prescribing design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 20 Prescribing design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 21 Prescribing design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 22 Abstraction An abstraction is formed by reducing the information content of a concept or an observable phenomenon, typically to retain only information which is relevant for a particular purpose – choice of what to include – choice of what not to include Each abstraction makes some information readily available at the expense of obscuring or removing other information
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 23 Floor plan
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 24 Verilog
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 25 Page layout
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 26 Mechanical engineering diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 27 Schematic
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 28 Product sketch
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 29 Model
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 30 Design notation A design notation offers a language for specifying certain aspects of a design artifact – textual and/or graphical vocabulary for specifying individual and composite elements – rules governing how individual elements can be combined into composite elements – implicit and/or explicit semantics for giving meaning Each design notation is typically suited for a particular domain and a particular purpose Every design notation invariably introduces abstraction
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 31 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 32 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 33 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 34 Vocabulary may exist independent of notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 35 Notation or just a vocabulary?
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 36 Considerations in choosing a design notation Who is the audience? What is the objective? What is the timeframe?
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 37 Expressiveness versus usability expressivenessusability low high
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 38 Cognitive dimensions of notations Abstractiontypes and availability of abstraction mechanisms Hidden dependenciesimportant links between entities are not visible Premature commitmentconstraints on the order of doing things Secondary notationextra information in means other than formal syntax Viscosityresistance to change Visibilityability to view components easily Closeness of mappingcloseness of representation to domain Consistencysimilar semantics are expressed in similar syntactic forms Diffusenessverbosity of language Error-pronenessnotation invites mistakes Hard mental operationshigh demand on cognitive resources Progressive evaluationwork-to-date can be checked at any time Provisionalitydegree of commitment to actions or marks Role-expressivenessthe purpose of a component is readily inferred
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 39 Software design Design artifacts Design notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 40 Software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 41 Software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 42 Software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 43 Thinking software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 44 Talking software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 45 Prescribing software design artifact
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 46 Class diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 47 User interface mock-up [balsamiq]
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 48 Entity relationship diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 49 Sequence diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 50 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 51 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 52 Example notation
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 53 Unified Modeling Language Structure diagram – class diagram – component diagram – package diagram – deployment diagram – … Behavior diagram – activity diagram – use case diagram – sequence diagram – communication diagram – …
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 54 Class diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 55 Sequence diagram
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 56 Design studio 2 You are to design the educational traffic simulator that is described in the design prompt that we handed out in class today This will be a multi-week, multi-step effort
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 57 Design studio 2 (original) As a team… – …identify the audience and other stakeholders – …identify possible goals, constraints, and assumptions – …apply the feature comparison and mind mapping design methods
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 58 Design studio 2 (continued) As a team… – …refine the audience and other stakeholders as needed – …refine possible goals, constraints, and assumptions as needed – …apply the personas and morphological charts design methods (to the interaction design) – …create your final interaction design (as a series of screenshots that detail how it works) – …create your final implementation design (as a UML class diagram detailing the main classes and methods, together with documentation that describes how it works)
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 59 Design studio 2 (continued) Grading criteria – your understanding of the design problem – innovativeness, understandability, elegance, and completeness of the design solution – does it do what it is supposed to do – “can we understand what you did, why, and do we believe you made good choices”
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 60 Design studio 2 (continued) Due Tuesday November 18, at the beginning of class