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

Petit Humane Assessment, with Delphi

on

  • 572 views

Petit Humane Assessment,

Petit Humane Assessment,
with Delphi

Diego Lont & Stephan Eggermont www.legacycode.nl

Statistics

Views

Total Views
572
Views on SlideShare
572
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Petit Humane Assessment, with Delphi Petit Humane Assessment, with Delphi Presentation Transcript

  • Petit Humane Assessment, with Delphi Diego Lont & Stephan Eggermont www.legacycode.nl
  • How to start doing humane assessment
  • Humane Assessment? • decide knowingly • everyone makes decisions • decisions require accurate information • details are essential • assessment is a human activity • approach problems individually
  • 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
  • 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
  • Complex problem • management perceives a problem • formulating might be difficult • 5 why? (find root causes) • multiple safe-to-fail experiments • fast feedback • low investment
  • 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
  • Island parsing • data conversion project • Cobol • data definitions+modules/files • ignore 300 keywords, 90% of source
  • Experiments • dependencies • code duplication • typical issue list • language specific • general • changes
  • Dependencies • do we have all source? • how well balanced is the system? • how complex are dependencies?
  • Show dependencies • system units (grey) • missing units (red) • interface dependencies (green) • implementation dependencies (blue) • classes nested • [nclude files]
  • Duplication • Zip • Du(plication)de(tector)
  • Typical legacy problems • multiple styles/architecture • copy paste and edit • missing tests • low abstraction
  • 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
  • Code written in forms • subclasses of form • method with first parameter of type TObject (eventhandler) • complexity view
  • Changes • EggRace • (Torch)
  • Results • Shown with Delphi how to start strategic Humane Assessment • Typical Delphi browser • Moose browser • Dude • Sonar
  • Iterative, Incremental! • each answer leads to new questions • focus on risk & value • A rational design process, how and why to fake it (Parnas)
  • Where? • www.humane-assessment.com • www.moosetechnology.org • www.smalltalkhub.com/mc/Moose/PetitDelphi/main