© 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 &

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 121 Software Design I Lecture 4 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 8 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 14.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 2 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 7 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 &
© 2009 University of California, Irvine – André van der Hoek1June 10, 2015 – 18:31:15 Informatics 122 Software Design II Lecture 2 André van der Hoek &
© 2009 University of California, Irvine – André van der Hoek1February 8, 2009 – 21:49:30 Informatics 122 Software Design II Lecture 9 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 &
(c) 2009 University of California, Irvine – André van der Hoek1June 13, 2015 – 21:42:16 Informatics 122 Software Design II Lecture 8 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 &
© 2009 University of California, Irvine – André van der Hoek1June 17, 2015 – 23:38:09 Informatics 121 Software Design I Lecture 3 André van der Hoek Duplication.
(c) 2010 University of California, Irvine – André van der Hoek1February 21, 2010 – 18:05:18 Informatics 122 Software Design II Lecture 10 Nick Lopez Duplication.
© 2009 University of California, Irvine – André van der Hoek1June 20, 2015 – 03:43:42 Informatics 121 Software Design I Lecture 4 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1June 22, 2015 – 23:08:13 Informatics 122 Software Design II Lecture 4 Nick Lopez Duplication.
© 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 &
(c) 2010 University of California, Irvine – André van der Hoek1June 29, 2015 – 08:55:05 Informatics 122 Software Design II Lecture 8 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 &
© 2010 University of California, Irvine – André van der Hoek1July 13, 2015 – 06:42:38 Informatics 121 Software Design I Lecture 4 André van der Hoek &
© 2010 University of California, Irvine – André van der Hoek1July 14, 2015 – 14:37:42 Informatics 122 Software Design II Lecture 4 Nick Lopez Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 12.
© 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 43 Introduction to Software Engineering.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 7 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 5 Duplication.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 6 Duplication.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 121 Software Design I Lecture 13.
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 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 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
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
Presentation transcript:

© 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 & Alex Baker Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.

Today’s Lecture Design rationale In-class design exercise © 2010 University of California, Irvine – André van der Hoek2June 14, 2015 – 15:24:35

A Simple Question Why is a given design as it is? © 2010 University of California, Irvine – André van der Hoek3June 14, 2015 – 15:24:35

A Difficult Answer Any design involves 100s if not 1000s of decisions that are tough to all remember Worse yet, any design involves 100s if not 1000s of discussions, considerations of alternatives, and reasons why certain choices are made, which are even tougher to all remember © 2010 University of California, Irvine – André van der Hoek4June 14, 2015 – 15:24:35

A Difficult Answer Any design involves 100s if not 1000s of decisions that are tough to all remember Worse yet, any design involves 100s if not 1000s of discussions, considerations of alternatives, and reasons why certain choices are made, which are even tougher to all remember Especially three months later, a year later, two years later… © 2010 University of California, Irvine – André van der Hoek5June 14, 2015 – 15:24:35

Knowing Why Is A Crucial Need Helps explain particular features to the customer Helps assist with coding Helps build a shared understanding of the design among a team of designers Helps guide maintenance and other design changes –evolution –roadblocks Helps reflect on one’s own design practices © 2010 University of California, Irvine – André van der Hoek6June 14, 2015 – 15:24:35

Sketchbooks © 2010 University of California, Irvine – André van der Hoek7June 14, 2015 – 15:24:35

Sketchbooks © 2010 University of California, Irvine – André van der Hoek8June 14, 2015 – 15:24:35

Sketchbooks © 2010 University of California, Irvine – André van der Hoek9June 14, 2015 – 15:24:35

Software “Sketchbooks” If they exist, they tend to be text, text, text, text, text, and the occasional picture of a whiteboard… Maybe an architecture diagram Maybe a UML diagram … © 2010 University of California, Irvine – André van der Hoek10June 14, 2015 – 15:24:35

Design Decisions Explicitly recognizing design decisions helps in documenting the “design space”, and at least articulating the available choices Some of your homeworks even discuss tradeoffs, and motivate the choices you make for your final design –though typically ignoring any intermediate decisions that may have been made to which you later may need to return The actual rationale, though, tends to be quite small in comparison to design decisions –and reconstructing it is difficult © 2010 University of California, Irvine – André van der Hoek11June 14, 2015 – 15:24:35

An Example © 2010 University of California, Irvine – André van der Hoek12June 14, 2015 – 15:24:35

Design Rationale Design rationale is focused on capturing a historical record of the analysis that led to the choice of a particular artifact or feature in question, and in the most general sense is an explanation of why something is designed the way it is Design rationale involves explicit capture of the design decisions that shaped a particular software system and the reasons for those decisions (‘know-why’ knowledge) © 2010 University of California, Irvine – André van der Hoek13June 14, 2015 – 15:24:35

Design Rationale Descriptive –retroactive –aims to communicate a design’s intent Prescriptive –in-the-moment –aims to improve the design process © 2010 University of California, Irvine – André van der Hoek14June 14, 2015 – 15:24:35

IBIS © 2010 University of California, Irvine – André van der Hoek15June 14, 2015 – 15:24:35

gIBIS © 2010 University of California, Irvine – André van der Hoek16June 14, 2015 – 15:24:35

Modern Variant © 2010 University of California, Irvine – André van der Hoek17June 14, 2015 – 15:24:35

Design Histories Expand on design rationale by capturing design processes as they occur over time, as most design does not take place in a single meeting More focused on description than prescription to date © 2010 University of California, Irvine – André van der Hoek18June 14, 2015 – 15:24:35

ADDSS © 2010 University of California, Irvine – André van der Hoek19June 14, 2015 – 15:24:35

Alex’ Homegrown © 2010 University of California, Irvine – André van der Hoek20June 14, 2015 – 15:24:35

In-Class Design Exercise Collectively, using the tablets and Calico, design a history representation that you could have used for the previous assignment (or use for the next assignment) Use your tablets to support your verbal contributions, annotate our design in progress, develop another idea in parallel, etc. Remember stakeholders, goals, audience, uses, … Remember techniques and notations available © 2010 University of California, Irvine – André van der Hoek21June 14, 2015 – 15:24:35