Findbugs Architecture

Post on 13-Jun-2015

1,665 views 0 download

Tags:

description

A short presentation on the evolution of the Findbugs architecture and the need to understand and control evolving software architecture.

transcript

© Headway Software 2009

The Evolution of

Findbugs Architecture

“The human mind can not grasp the complexity of a moderately sized program, much less the monster systems we build today.”

Jonathan Edwards on Beautiful Code

Complexity

Findbugs 0.8.6 October 2004

A healthy start – a clearly understood Architecture

Findbugs 0.8.7 April 2005

Imperfection creeps in

Findbugs 0.8.8 May 2005

Imperfection takes hold

Findbugs 1.0.0 June 2006

Chaos begins

Findbugs 1.3.5 September 2008

And it’s downhill from there

Eeek!!!

© Headway Software 2008

The Bottom Line

• Well Structured vs. Poorly Structured Software– 50% less time to deliver– 50% less cost to deliver– 8x less defects

Divide & Conquer

© Headway Software 2008

Does your code look like this?

Top Level Architecture of the Spring Framework with No Cyclic Dependencies

What’s needed

• Visualize your “as-is” design

• Measure it’s quality

• Track it over time

• Define your target architecture

• Communicate it to the team

• Repair, refactor, refine– Time, after time, after time…

“Tools exist for enforcing architecture. Start today, no more Word architectures!”

Magnus Robertsson, Enterprise Architect, Jayway

Web Resources

© Headway Software 2009

Download Structure101: http://www.headwaysoftware.com/downloads/structure101/

On-Line Docs: http://www.headwaysoftware.com/help/java/

Product Tour: http://www.headwaysoftware.com/products/structure101/tour/visualize/