Presentation is loading. Please wait.

Presentation is loading. Please wait.

Informatics 122 Software Design II

Similar presentations


Presentation on theme: "Informatics 122 Software Design II"— Presentation transcript:

1 Informatics 122 Software Design II
Lecture 8 André van der Hoek & Alex Baker Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited. January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

2 VBoard Design Recovery – Debriefing
How difficult was this? Why? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

3 VBoard Design Recovery – Debriefing
How difficult was this? Why? More or less difficult than it seemed when you first looked at the code? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

4 VBoard Design Recovery – Debriefing
What strategies did you use? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

5 VBoard Design Recovery – Debriefing
What strategies did you use? Did you… …run the program (frequently?) …seek piccolo documentation? …use any external tools? …use Eclipse’s search features? …read code? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

6 © 2007 University of California, Irvine – André van der Hoek
The Design of VBoard How does VBoard work? a basic architecture how does it communicate user actions? what is its relationship to Piccolo? Ideally we would collaborate and come to a basic architecture of how VBoard works and draw it on the board This is where I could start at least plucking things from their documents to seed this, if necessary January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

7 © 2007 University of California, Irvine – André van der Hoek
The Design of VBoard How does VBoard work? a basic architecture how does it communicate user actions? what is its relationship to Piccolo? Did you have a breakthrough “a-ha” moment in gaining this understanding? Ideally we would collaborate and come to a basic architecture of how VBoard works and draw it on the board This is where I could start at least plucking things from their documents to seed this, if necessary January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

8 © 2007 University of California, Irvine – André van der Hoek
The Design of VBoard What are the major design decisions behind VBoard? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

9 © 2007 University of California, Irvine – André van der Hoek
The Design of VBoard What are the major design decisions behind VBoard? How do you know? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

10 © 2007 University of California, Irvine – André van der Hoek
The Design of VBoard What are the major design decisions behind VBoard? How do you know? How confident are you that you know? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

11 © 2007 University of California, Irvine – André van der Hoek
Design Critique Was the design easy to understand? why? why not? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

12 © 2007 University of California, Irvine – André van der Hoek
Design Critique Was the design easy to understand? why why not? How did naming, package structures, and comments help or hurt understandability? Was it consistent in its organization? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

13 © 2007 University of California, Irvine – André van der Hoek
Design Critique How changeable is VBoard? Would you easily be able to, for example, … …add a new gesture? …allow for colored scraps? …convert this to a UML-based tool? …add annotations to grid locations? How easily? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

14 © 2007 University of California, Irvine – André van der Hoek
Design Critique What was the impact of using Piccolo? positive? negative? This is actually a very rich subject, I’d like it if we could talk about it a lot January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

15 © 2007 University of California, Irvine – André van der Hoek
Design Critique Do you think VBoard is well-designed? What is its biggest failing, and why? What would you change about its approach? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

16 The Nature of Software Makes This Difficult
Invisibility we can’t see the designer’s high level picture, obscured in code details Complexity if users want a program to do 30 different things, then the program must do those 30 different things can this be done elegantly? Conformity Piccolo, electronic whiteboards, the ways people draw – all are invisible forces on the way the design is structured Changeability the VBoard code you see has been changed, can cause problems I’m a little verbose in the slides to illustrate the angles we might take with this – not sure if we want this, but it seems like a cute point [Brooks: No Silver Bullet] January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

17 © 2007 University of California, Irvine – André van der Hoek
Some Theory Design recovery is a matter of finding the ideas hidden in a bunch of code The implementer has some responsibility, code can ruin a good design Metaphor, architecture, organization, naming, and program flow design can go a long way to controlling and communicating this January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

18 © 2007 University of California, Irvine – André van der Hoek
Feedback Did you learn about software design from this? how understandable are your designs? what plays into understandability? How did the team dynamic help or hinder your work? January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

19 Assignment 4 – Design Patterns
Improve the design of VBoard by replacing existing structures in the UML model with appropriate patterns start with any of the designs available to your group You should apply at least 4 different design patterns at least one not discussed in class Each use of a pattern should be carefully motivated in a brief accompanying document January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

20 Assignment 4 – Design Patterns
Each group must turn in: the original UML diagram from which you started a new UML diagram, with each pattern precisely highlighted as to where it resides in the UML diagram a document describing the motivation for each pattern the impact the application of the pattern has on the original design (i.e., how far reaching is the change to incorporate the pattern?) graded on usefulness of the pattern, diversity of patterns, rationale, and level of design understanding Each person also needs to submit a team evaluation (new forms available on class webpage) copy due Monday, November 5th, 6pm to André, Alex, and Kristina January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

21 © 2007 University of California, Irvine – André van der Hoek
Further Tips Read the book Discuss the patterns with each other Imagine possible changes against which you would like to insulate Try different parts of the code Use the UML January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek

22 © 2007 University of California, Irvine – André van der Hoek
Team Assignments Team 1 HUANG, ALLEN HIRANO, SEN JONAS, NICHOLAS IGNACIO, JAN STEWART, DAVID Team 2 BAMBAEEROW, CAMERON KNOBEL, JACOB KWOK, MATHEW PURPURA, DAVID YEGANYAN, MICHAEL Team 3 DEMPSEY, MITCHELL DAUZ, JONATHAN LIU, ZHE SAM, VINH SHI, LINDA Team 4 BEDFORD, AURORA KOLLA, SUBODH LAVAVESHKUL, MICHAEL SHAFER, THOMAS …, WARREN Team 5 BAUTISTA, JEREMIAH CHIU, ARTHUR LAM, CYNTHIA ESQUENAZI, NATHAN Team 6 CHISLOM, ALTON BOSCH, CHRISTOPHER DYKZEUL, BRADLEY LEE, RICK January 1, 2019 – 02:37:41 © 2007 University of California, Irvine – André van der Hoek


Download ppt "Informatics 122 Software Design II"

Similar presentations


Ads by Google