|
|
Automation for the people: Asserting architectural soundness
|
Last Update 2007/7/12 11:23
|
Category
Programming
Java
:
Programming
Tools
:
Approaches, Process, Methods
Software Architecture
|
Description
Is your software architecture what you think it is? The designs we communicate to each other aren't always what we expect when it comes to source code. Paul Duvall returns from his hiatus in this installment of Automation for the people to demonstrate how you can discover architectural deviations by writing tests using JUnit, JDepend, and Ant to discover problems proactively instead of long after the fact. Of the many software development projects I've worked on and observed, one thing is almost a constant: The architecture you think you have is often different than what you actually have. Analyzing code metric reports, like those created by tools such as JDepend (see Resources), can be effective in determining if your code adheres to an established architecture. Some teams reverse-engineer their code into UML diagrams for the same effect, and others even use an IDE that generates these same artifacts while coding -- real-time reverse-engineering. Yet, all of these approaches are still reactive. You must manually review and analyze a report or diagram to determine an architectural violation, which in some cases could be long after the fact.
|
|
Hits: 15
|
|
Software Development Expertise
|
Software Development Jobs
|