valeria murgia
leandro caniglia
MAKING THE MOST OF USERMAKING THE MOST OF USER
CHANGES
DemoDemo
Usethesoftware
GeneratesomechangesGeneratesomechanges
Show thechangesbrowser
Replay them
Logging user changesLogging user changes
Change
Log
Command loggingCommand logging
!!
Change
(text)(text)
Change structureChange structure
Naming objectsNaming objects
r
a
2b2
b1
1c1
2c2
1b1
Creating changesCreating changes
doesNotUnderstand: aMessagedoesNotUnderstand: aMessage
privateprivate
doesNotUnderstand:
...
Classes involvedClasses involved
Replaying changesReplaying changes
Change
(text)
Execute the change
perform
!!!!
ApplicationsApplications
Recovery log
all thetimesaveevery changeon diskall thetimesaveevery changeon disk
Auditing
who ch...
Applications continuedApplications continued
Demos&Tutorials
demo your system by replaying changesdemo your system by repl...
Applications continuedApplications continued
Bug reporting
send thechangesthat exhibit adefectsend thechangesthat exhibit ...
Applications continuedApplications continued
Metrics
count thenumber of commandsyour userscancount thenumber of commandsyo...
Applications continuedApplications continued
Teamwork
combinechangesfrom different contributorsintocombinechangesfrom diff...
DemoDemo
Open aproject
Makesomefew changesMakesomefew changes
Createtwo scenarios
Edit & changethescenarios
Show thechange...
Decision analysis: scenariosDecision analysis: scenarios
Scenarios continuedScenarios continued
DemoDemo
DecisionTreedemo
Decision trees
ObjectParentObject
Decision trees
Child AObjectParentObject Child A
Child C
Child B
Child D
Applications continuedApplications continued
Scenarios
associatechangesetswith scenariosfor what-ifassociatechangesetswith...
DemoDemo
MonteCarlo demo
InfluencesInfluences
QuestionsQuestions
Haveyou implemented all theapplications
described here?described here?
Haveyou used thechangessystem to...
Upcoming SlideShare
Loading in …5
×

Making the Most of User Changes

355 views

Published on

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

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
355
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Making the Most of User Changes

  1. 1. valeria murgia leandro caniglia MAKING THE MOST OF USERMAKING THE MOST OF USER CHANGES
  2. 2. DemoDemo Usethesoftware GeneratesomechangesGeneratesomechanges Show thechangesbrowser Replay them
  3. 3. Logging user changesLogging user changes Change Log
  4. 4. Command loggingCommand logging !! Change (text)(text)
  5. 5. Change structureChange structure
  6. 6. Naming objectsNaming objects r a 2b2 b1 1c1 2c2 1b1
  7. 7. Creating changesCreating changes doesNotUnderstand: aMessagedoesNotUnderstand: aMessage privateprivate doesNotUnderstand: all user commands add:add: newThis: newThat: remove: renameTo: arg remove: renameTo:
  8. 8. Classes involvedClasses involved
  9. 9. Replaying changesReplaying changes Change (text) Execute the change perform !!!!
  10. 10. ApplicationsApplications Recovery log all thetimesaveevery changeon diskall thetimesaveevery changeon disk Auditing who changed what, when and howwho changed what, when and how Local redo (can beused for undo)Local redo (can beused for undo) right click on any object and list all itschanges ScriptingScripting usethechangessystem asascripting language
  11. 11. Applications continuedApplications continued Demos&Tutorials demo your system by replaying changesdemo your system by replaying changes Overcomeback compatibility issues recreateold projectsfrom their changesrecreateold projectsfrom their changes MergingMerging merging changesiseasier than merging objects User supportUser support solvetheuser sproblem and send back the changeschanges
  12. 12. Applications continuedApplications continued Bug reporting send thechangesthat exhibit adefectsend thechangesthat exhibit adefect don t know what you did?look at thechanges! TestingTesting look at thechangesto writeunit tests Regression build alibrary of scriptsto test your systembuild alibrary of scriptsto test your system Learning (new programmers) usethechangesasdebugging entry pointsusethechangesasdebugging entry points
  13. 13. Applications continuedApplications continued Metrics count thenumber of commandsyour userscancount thenumber of commandsyour userscan perform how many keystrokesdoesyour softwarerequire?how many keystrokesdoesyour softwarerequire? measureuser dedication and productivity which areasof your softwarearemoreheavilywhich areasof your softwarearemoreheavily used? understand users workflowsunderstand users workflows discover bad practicepatterns
  14. 14. Applications continuedApplications continued Teamwork combinechangesfrom different contributorsintocombinechangesfrom different contributorsinto thesamemodel DatabaseconflictsDatabaseconflicts let usersrecover conflicting changesthat did not get committedget committed Database: automated check-in/check-out 1. download aproject from thedatabase1. download aproject from thedatabase 2. work at home 3. apply your changesback to therepository3. apply your changesback to therepository
  15. 15. DemoDemo Open aproject Makesomefew changesMakesomefew changes Createtwo scenarios Edit & changethescenarios Show thechangesShow thechanges
  16. 16. Decision analysis: scenariosDecision analysis: scenarios
  17. 17. Scenarios continuedScenarios continued
  18. 18. DemoDemo DecisionTreedemo
  19. 19. Decision trees ObjectParentObject Decision trees Child AObjectParentObject Child A Child C Child B Child D
  20. 20. Applications continuedApplications continued Scenarios associatechangesetswith scenariosfor what-ifassociatechangesetswith scenariosfor what-if analysis Decision treesDecision trees Organizechangesetsunder ahierarchical structurestructure MonteCarlo simulations createonescenario for every random sample
  21. 21. DemoDemo MonteCarlo demo
  22. 22. InfluencesInfluences
  23. 23. QuestionsQuestions Haveyou implemented all theapplications described here?described here? Haveyou used thechangessystem to analyze theworkflow of end-users?theworkflow of end-users? Doesthechangessystem impact the performance?performance? What'stheoverhead for programmers? What if argumentsarenot literals?What if argumentsarenot literals? Can your system log any user action?

×