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

Like this? Share it with your network

Share

Petit Humane Assessment, with Delphi

  • 628 views
Uploaded on

Petit Humane Assessment, ...

Petit Humane Assessment,
with Delphi

Diego Lont & Stephan Eggermont www.legacycode.nl

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
628
On Slideshare
628
From Embeds
0
Number of Embeds
0

Actions

Shares
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