230 likes | 252 Vues
Explore the difficulties, benefits, and drawbacks of Cake Recovery process in design recovery and informatics. Gain insights on strategies, tools, and experiences, regarding accessing design docs and code. Analyze the impact of Design Recovery, learn about the Domain of Use Knowledge and Material Representation, and evaluate the effectiveness of Cake Screenshots. Assess the nature of software design, focusing on invisibility, complexity, and elegance. Reflect on the usability and expandability of designs, considering the effects of using BnA. Delve into the usefulness of Cake Recovery and examine design principles, patterns, and improvement exercises in the context of software development.
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?