Learn More
An approach to managing the architecture of large software systems is presented. Dependencies are extracted from the code by a conventional static analysis, and shown in a tabular form known as the 'Dependency Structure Matrix' (DSM). A variety of algorithms are available to help organize the matrix in a form that reflects the architecture and highlights(More)
L.L.Bean is a large retail organization whose development processes must be agile in order to allow rapid enhancement and maintenance of its technology infrastructure. Over the past decade L.L.Bean's software code-base had become brittle and difficult to evolve. An effort was launched to identify and develop new approaches to software development that would(More)
This demonstration will present a new approach, based on the Dependency Structure Matrix (DSM), which uses inter-module dependencies to specify and manage the architecture of software systems. The system is decomposed into a hierarchy of subsystems with the dependencies between the subsystems presented in the form of an adjacency matrix. The matrix(More)
Programming object interactions is at the heart of object-oriented programming. To improve reusability of the interactions, it is important to program object interactions generically. We present two tools that facilitate programming of object interactions. StructureBuilder, a commercial tool, achieves genericity with respect to data structure(More)
This paper describes a new technique for Object Oriented Programming which can lead to the production of much higher quality software and significantly quicker development. This technique uses Interaction Graphs and has been implemented in StructureBuilder, a development tool for Java Programming, from Tendril Software (www.tendril.com). The origins of this(More)
S oftware development has a way of becoming difficult over time. While they often start well, software projects begin to bog down as enhancements are made to meet new demands and as development teams change. It takes longer to fix problems because fixes made in one area end up introducing bugs in other areas. In no time, a project becomes so complex that no(More)
This tutorial presents a practical technique for managing the architecture of software product lines using inter-module dependencies. We will show that the Lightweight Dependency Model approach, based on dependency structure matrices, is highly scalable compared to the directed graph approaches that are common today. We will also show a variety of matrix(More)