Your SlideShare is downloading. ×
Petit Humane Assessment, with Delphi
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Petit Humane Assessment, with Delphi

271
views

Published on

Petit Humane Assessment, …

Petit Humane Assessment,
with Delphi

Diego Lont & Stephan Eggermont www.legacycode.nl

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
271
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Petit Humane Assessment, with Delphi Diego Lont & Stephan Eggermont www.legacycode.nl
  • 2. How to start doing humane assessment
  • 3. Humane Assessment? • decide knowingly • everyone makes decisions • decisions require accurate information • details are essential • assessment is a human activity • approach problems individually
  • 4. Why Delphi? • seen by management as legacy, cq problem • we know it, • well known teaching language • no clear-cut need to replace now • refactor or replace? • well known weak spots
  • 5. Getting started • from a strategic level (or grass roots) • visible to management • fast trust building is needed • low initial investment, feedback • can’t start building a parser for a few weeks
  • 6. Complex problem • management perceives a problem • formulating might be difficult • 5 why? (find root causes) • multiple safe-to-fail experiments • fast feedback • low investment
  • 7. Low investment • analyzing code requires parsing • use/modify existing parser • java/smalltalk/c/delphi... in moose • reuse from development environment • island parser • interesting part only
  • 8. Island parsing • data conversion project • Cobol • data definitions+modules/files • ignore 300 keywords, 90% of source
  • 9. Experiments • dependencies • code duplication • typical issue list • language specific • general • changes
  • 10. Dependencies • do we have all source? • how well balanced is the system? • how complex are dependencies?
  • 11. Show dependencies • system units (grey) • missing units (red) • interface dependencies (green) • implementation dependencies (blue) • classes nested • [nclude files]
  • 12. Duplication • Zip • Du(plication)de(tector)
  • 13. Typical legacy problems • multiple styles/architecture • copy paste and edit • missing tests • low abstraction
  • 14. Typical delphi issues • code written in the form eventhandlers • missing domain model, all transaction script • no database abstraction • sometimes still turbo pascal style structured programming/mixed with oop • missing basic libraries/misuse of tlist • no longer maintained components
  • 15. Code written in forms • subclasses of form • method with first parameter of type TObject (eventhandler) • complexity view
  • 16. Changes • EggRace • (Torch)
  • 17. Results • Shown with Delphi how to start strategic Humane Assessment • Typical Delphi browser • Moose browser • Dude • Sonar
  • 18. Iterative, Incremental! • each answer leads to new questions • focus on risk & value • A rational design process, how and why to fake it (Parnas)
  • 19. Where? • www.humane-assessment.com • www.moosetechnology.org • www.smalltalkhub.com/mc/Moose/PetitDelphi/main