Define and understand a software module How to prevent design and architecture rot through insulation Architect the joints of a system Managing dependencies between modules Modularity patterns
OCTOBER 25 TO 29, 2009
I have more than 15 years of enterprise software development experience on projects ranging in size from 3 to over 100 developers. I've trained thousands of software developers on object oriented design and agile development practices, and have presented at numerous national and regional conferences. In 2002, I wrote the book "Java Design: Objects, UML, and Process", published by Addison-Wesley. I am the creator of JarAnalyzer, an open source utility that analyzes JAR files. Today, I'm an Analyst with Burton Group in the Application Platform Strategies area.
Software architecture is organic. The architectural goals you set to achieve early in the development effort differ from those you'll need to satisfy later. Change occurring throughout the software development lifecycle impacts architecture. The ability to accommodate shifts in architecture is directly related to the dependencies between software modules. In this session, we examine patterns that lead to agile architecture. Extensive discussion is devoted to modularizing units of deployment, and how code can be created and organized to create more flexible, reusable, maintainable, extensible, and testable software components. Topics of discussion range from coupling between classes to the dependency structure between your modules of deployment. Examples gleaned from real world Java EE development effort will be used in a pragmatic case study that examines the evolution of a system from its initial deployment through a number of refactorings that positively influenced the architectural resiliency of the final product. Patterns will be introduced that allow you to apply many of these concepts immediately, and help you modularize large software systems.
Define and understand a software module How to prevent design and architecture rot through insulation Architect the joints of a system Managing dependencies between modules Modularity patterns