230 likes | 252 Vues
Design Recovery II. Informatics 122 Alex Baker. Cake Recovery – Opinions?. How difficult was this? Why?. Cake Recovery – Opinions?. How difficult was this? Why? What would have helped more: Access to BnA/Archstudio design docs Access to running code Another 5 days of time.
E N D
Design Recovery II Informatics 122 Alex Baker
Cake Recovery – Opinions? • How difficult was this? • Why?
Cake Recovery – Opinions? • How difficult was this? • Why? • What would have helped more: • Access to BnA/Archstudio design docs • Access to running code • Another 5 days of time
Cake Recovery – Opinions? • How difficult was this? • Why? • What would have helped more: • Access to BnA/Archstudio design docs • Access to running code • Another 5 days of time • Rather have done something Jetris-like?
As bad as it looked? • Better or worse?
Our Perspective: • Cons: • Can’t use the strategies I mentioned • Don’t learn to use reverse engineering tools • Hard work, might obscure obvious lessons • Distracting
Our Perspective: • Cons: • Can’t use the strategies I mentioned • Don’t learn to use reverse engineering tools • Hard work, might obscure obvious lessons • Distracting • Pros: • Forces focus on code • More interesting comparisons • More involved experience • Realistic?
Domain of Use Knowledge Design Recovery in Diamond • Ideas from your documents • Connection to the designers’ ideas Dom Materials Representation Ideas Activity concern manipulates informs captures enhances Goal
Your Designs • How well do you understand Cake? • What was your process? • Ideas • How did you find out? • Was this a good idea for the designers?
Representations • Best approach? • Precision versus elegance • Multiple diagrams
Success? • How well do you understand it now? • How prepared would you be to implement changes? • Add a new kind of thing? • Make the boxes semi-transparent? • Add double-click behavior?
The Nature of Software • Invisibility • Understanding 3rd party’s towers • Complexity • If users want a program to do 30 different things, then the program must do those 30 different things • Elegance? • Conformity • Changeability [Brooks: No Silver Bullet]
Is this a good design? • Was it easy to understand? • Would it have been easy to implement? • Can it be expanded?
Is this a good design? • Was it easy to understand? • Would it have been easy to implement? • Can it be expanded? • What would you change?
What was the effect of using BnA? • Positive
What was the effect of using BnA? • Positive • Negative
What was the effect of using BnA? • Positive • Negative • The weight of (re)use
Midterm Review • Good design / bad design • Theseus and the Minotaur • Design patterns • Design recovery
Possible Midterm Contents • Design improvement exercise • Design principles • Patterns • Recovery principles • Specific question about Cake (?)
Mid-Course Checkup • Lost? • Critique? • Create? • How do you design software? • Implementation?