23
valeria murgia leandro caniglia MAKING THE MOST OF USER CHANGES

Making the Most of User Changes

  • Upload
    esug

  • View
    184

  • Download
    4

Embed Size (px)

DESCRIPTION

Making the Most of User Changes, valeria murgia and leandro caniglia, ESUG 2008Amsterdam

Citation preview

  • 1. valeria murgialeandro canigliaMAKING THE MOST OF USERCHANGES

2. Demo Use the softwareGenerate some changesShow the changes browserReplay them 3. Logging user changesChange Log 4. Command logging!!Change (text) 5. Change structure 6. Naming objectsr ab2 b1 c1c2 7. Creating changes doesNotUnderstand: aMessage private doesNotUnderstand: all user commands add: add: renameTo: arg newThis: newThat: remove: renameTo: 8. Classes involved 9. Replaying changesChange (text)Execute the changeperform !! 10. Applications Recovery logall the time save every change on diskAuditingwho changed what, when and howLocal redo (can be used for undo)right click on any object and list all its changesScriptinguse the changes system as a scripting language 11. Applications continued Demos & Tutorials demo your system by replaying changesOvercome back compatibility issues recreate old projects from their changesMerging merging changes is easier than merging objectsUser support solve the user s problem and send back the changes 12. Applications continued Bug reporting send the changes that exhibit a defect don t know what you did? look at the changes!Testing look at the changes to write unit testsRegression build a library of scripts to test your systemLearning (new programmers) use the changes as debugging entry points 13. Applications continued Metrics count the number of commands your users can perform how many keystrokes does your software require? measure user dedication and productivity which areas of your software are more heavily used? understand users workflows discover bad practice patterns 14. Applications continued Teamworkcombine changes from different contributors intothe same modelDatabase conflictslet users recover conflicting changes that did notget committedDatabase: automated check-in/check-out1. download a project from the database2. work at home3. apply your changes back to the repository 15. Demo Open a projectMake some few changesCreate two scenariosEdit & change the scenariosShow the changes 16. Decision analysis: scenarios 17. Scenarios continued 18. Demo Decision Tree demo 19. Decision trees Parent ObjectObject Child AChild C Child BChild D 20. Applications continued Scenariosassociate change sets with scenarios for what-ifanalysisDecision treesOrganize change sets under a hierarchicalstructureMonte Carlo simulationscreate one scenario for every random sample 21. Demo Monte Carlo demo 22. Influences 23. Questions Have you implemented all the applicationsdescribed here?Have you used the changes system to analyzethe workflow of end-users?Does the changes system impact theperformance?What's the overhead for programmers?What if arguments are not literals?Can your system log any user action?