Informatics 121 Software Design I

Slides:



Advertisements
Similar presentations
(c) 2009 University of California, Irvine – André van der Hoek1April 20, 2015 – 00:59:05 Informatics 122 Software Design II Lecture 11 André van der Hoek.
Advertisements

Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 223 Applied Software Design Techniques.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 2 Duplication.
© 2010 University of California, Irvine – André van der Hoek1June 10, 2015 – 06:18:06 Informatics 121 Software Design I Lecture 10 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 12, 2015 – 07:51:20 Informatics 121 Software Design I Lecture 8 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 18:19:12 Informatics 122 Software Design II Lecture 5 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 14, 2015 – 15:24:35 Informatics 121 Software Design I Lecture 11 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 15, 2015 – 14:08:09 Informatics 122 Software Design II Lecture 4 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 14:29:37 Informatics 121 Software Design I Lecture 1 André van der Hoek and.
© 2009 University of California, Irvine – André van der Hoek1June 15, 2015 – 20:01:34 Informatics 122 Software Design II Lecture 1 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 16, 2015 – 21:42:11 Informatics 121 Software Design I Lecture 7 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 17, 2015 – 09:17:24 Informatics 122 Software Design II Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 08:15:24 Informatics 121 Software Design I Lecture 3 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 15:07:15 Informatics 121 Software Design I Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 15:42:49 Informatics 121 Software Design I Lecture 13 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 25, 2015 – 20:03:07 Informatics 121 Software Design I Lecture 5 André van der Hoek &
1 Informatics 121 Software Design I Design Studio I Discussion Alex Baker and André van der Hoek Duplication of course material for any commercial purpose.
© 2010 University of California, Irvine – André van der Hoek1June 26, 2015 – 00:06:40 Informatics 122 Software Design II Lecture 6 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 28, 2015 – 09:26:53 Informatics 121 Software Design I Lecture 12 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1June 29, 2015 – 10:35:56 Informatics 122 Software Design II Lecture 4 André van der Hoek &
October 16, 2015 – 16:09:421 © 2006 University of California, Irvine – André van der Hoek Examining Software Design From A General Design Perspective Alex.
© 2010 University of California, Irvine – André van der Hoek1October 23, 2015 – 10:21:58 Informatics 122 Software Design II Lecture 1 André van der Hoek.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 223 Applied Software Design Techniques.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Informatics 121 Software Design I
Informatics 223 Applied Software Design Techniques
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
CATHCA National Conference 2018
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Prof. L-J Eales-Reynolds
Informatics 121 Software Design I
Informatics 122 Software Design II
Informatics 122 Software Design II
Informatics 122 Software Design II
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Informatics 121 Software Design I
Presentation transcript:

Informatics 121 Software Design I Lecture 5 André van der Hoek Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. April 22, 2019 – 19:53:59 (c) 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Today’s Lecture Using the Product / Process framework April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Product / Process Framework activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Product C = conceivable F = feasible D = desirable SP = still possible design space C C C F D outcome space SP D designer project customer A design product is a point in the design space that represents a set of decisions that together delineate a set of possible outcomes in the outcome space April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Product C = conceivable F = feasible D = desirable SP = still possible design space C C C F F D D outcome space D D designer project customer A successful design product restricts the set of still possible outcomes to those that are both feasible and desirable April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Process activities goals (languages) knowledge (languages) ideas (languages) representations (languages) tools The design process is defined as the set of information manipulation activities through which a successful design is obtained April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Teams, Stakeholders, and Community activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) Information exchange among multiple people takes place as communication through shared representations April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Understanding Unique Nature of Software #1 activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools design space C C C F D SP outcomes D designer project customer Large space of feasibility April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Understanding Unique Nature of Software #2 goals (langs) knowledge (langs) design space activities C C C F F D SP tools outcomes D designer project customer ideas (langs) representations (langs) Goal specificity April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Understanding Unique Nature of Software #2’ goals (langs) knowledge (langs) design space activities C C C F F D SP D tools outcomes designer project customer ideas (langs) representations (langs) Goal absence April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Understanding Unique Nature of Software #3 goals (langs) knowledge (langs) design space activities C C C F F D SP tools outcomes D designer project customer ideas (langs) representations (langs) Language gap April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Let’s Brainstorm Some activities goals (langs) knowledge (langs) ideas (langs) tools goals (langs) representations (langs) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Roles A goal constrains desirable outcomes A goal guides generation of ideas Knowledge informs outcome feasibility Knowledge informs outcome desirability Knowledge guides generation/evaluation of ideas Knowledge guides creation of representations Ideas constrain still possible outcomes Ideas shift goals Ideas build knowledge Representations record personalized information Representations communicate information Don’t read these, but skip over them selectively to give a taste – they are just all here to give a feel for the breadth of our feelings on this matter April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

information manipulation Roles activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP information manipulation corresponds to April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Tensions activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Tensions activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Tensions activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Tensions activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Roles and Tensions activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Design Theories Pure thought Reflective conversation with materials Divergence, transformation, convergence Team communication Community building Objectives, expectations, and success April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Pure Thought activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Pure Thought The mental generation, organization, and manipulation of ideas underlies all other design activities often subconscious Guided by: knowledge of the individual designer goals to be addressed Primarily is about idea generation may involve building knowledge may involve shifting goals April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Reflective Conversation with Materials activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Reflective Conversation with Materials “Create a representation, observe it, and gain an understanding” some design decisions have very unpredictable results “try and see” “Flow” – perform this cycle without explicitly taking the steps “in the zone” Tools can be a major help or hindrance Software often gives poor feedback unpredictability of UML opaqueness of code disconnectedness of prototypes April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Divergence, Transformation, Convergence activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Divergence, Transformation, Convergence John-Chris Jones says that design is: divergence: problem understanding, creativity, idea generation transformation: organization, understanding, combination convergence: analysis and selection of alternatives Many ways that these steps can be arranged Software lacks divergence: steeped in existing approaches Tools can be a major help or hindrance Software convergence is tough what ways do we have to evaluate a software design? April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Team Communication activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Team Communication Team communication involves ensuring that an intended interpretation of a representation is its actual interpretation my ideas as written down become your ideas as read (or not) my goals are written down become your goals as read (or not) my knowledge as written down becomes your knowledge as read (or not) How much context do you and your fellow designers share? Language is a key factor in effective communication This is especially difficult in software high complexity great amount of detail great variation between projects ever-changing landscape of tools, languages, etc. April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Community Building activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Community Building The process of gathering and disseminating general wisdom education publications experience Software is somewhat unique disparate projects changing tools hidden design decisions secrecy among developers many advances are in programming languages Hidden design decisions: compared to architecture, products – we can study good examples of good design in other fields, not so much in software. We can’t really appreciate how well designed bittorrent, winamp, whatever is – except on an architectural or UI level April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Objectives, Expectations, and Success activities goals (langs) knowledge (langs) ideas (langs) representations (langs) tools designer project customer outcomes design space C D F SP C April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

Objectives, Expectations, and Success A successful design product restricts the set of still possible outcomes to those that are both feasible and desirable ideas faithfully capture my knowledge of feasibility and desirability ideas faithfully capture my (and my customer’s) goals of desirability But this design product must be communicated representation must faithfully capture my ideas my representation must be “communicatable” (see slides 33 and 34) April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek To Summarize The Product/Process framework precisely defines and describes design in general (and thus software design too) the product part sets objectives for design the process part describes how to achieve these objectives Different types of information have different roles Different roles may be in tension with one another Design theory helps to bring to light different, higher-level aspects of design Why did we tell you all this? We want you to be an enlightened designer, one who not only knows what they practice, but also knows how to improve their practice! April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek

© 2007 University of California, Irvine – André van der Hoek Fifth Assignment Read “The Reflective Practitioner” by Donald Schön chapter 3 “A Reflective Conversation with the Situation” if you want to read more, of course you can read more available on the class web site Provide a 1 page summary with what you consider are the major lessons to learn from this text and how these lessons relate to the various design exercises we performed in class Thursday April 22, 2019 – 19:53:59 © 2007 University of California, Irvine – André van der Hoek