How to improve the Architecture of your Java-based system - in less than a day! Software quality depends on the architecture. We present an approach which utilizes inter-module dependencies to represent, manage and improve the Java architecture. You will learn how to create a Dependency Structure Matrix (DSM) for a highly scalable representation of your Java system and how it allows you to rapidly zero-in on unwanted dependencies that are often a result of unwanted architectural creep. We will show how dependency analysis can be used to visualize the architecture of Ant, Eclipse and NetBeans. Finally, actual dependency models will be created for multiple generations of an application to highlight how architecture evolves and often begins to erode. After this session you have learned a method to: - improve the Architecture of your java system.
- locate hard to find dependency bottlenecks
- actually improve the quality of your software
“I get to see a lot of demos. A lot of them are pretty cool. Everyone once in a while I see something that just blows my socks off.” - Mike Milinkovich, Executive Director, Eclipse Foundation Level: Intermediate and up Prerequisite knowledge: Development experience is beneficial in understanding the material. Outline of the presentation: Introduction: - Multiple views of software architecture
- New Representation of software architecture using a Dependency Structure Matrix
Understanding the Dependency Structure Matrix (DSM): - History of DSM
- Understanding the DSM representation
- Scalability: Representing hierarchy in a DSM
- Analysis techniques in DSM – partitioning, clustering
Representing Architectural Patterns: - Layering: strick, normal, and imperfect
- Componentization: interdependent, independent, and private components
- Anti-patterns in DSM
- Design Rules – specifying architectural patterns
Exploring the architecture of real software applications (actual demonstration in parts, examples using Ant, Eclipse, & NetBeans): - Hierarchical Decomposition
- Understanding the DSM
- Conceptualizing the Architecture
- Formalizing the Architecture
- Short Term Remediation
- Longer Term Remediation
The Life Cycle of Architecture (actual demonstration): - Dependency Model for Apache Ant Version 1.4.1
- Dependency Model for Apache Ant Version 1.5.1
- Dependency Model for Apache Ant Version 1.6.1
- Managing Architectural Evolution explicitly
- Understanding the impact of change
- Leveraging DSMs during maintenance and testing
Summary: - Big picture view that scales
Download de presentatie (851 Kb)
|
|
Frank Waldman Lattix Inc Frank brings over 20 years of experience building companies, markets, channels and strategic partnerships in a number of industries including engineering software, consumer electronics, manufacturing and product development services. Prior to founding Lattix, Frank was responsible globally for building channels and strategic partnerships for the Product Lifecycle Management software business of Eigner. Eigner was acquired by Agile Software (AGIL) to create the largest pure-play PLM vendor in the global market. Frank founded and served as VP of Business Development at FabConnect, which was acquired by Eigner in June 2001. Prior to FabConnect, Frank was founder and CEO for Aura Communications, where he led the development, marketing and sales of short-range wireless technology and the related consumer products. Frank holds a BS and a MS from MIT.
|
|