Emerging Design
Emerging design can be defined as the design representation of the source code as it evolves over time. Unlike the conceptual design that is static and requires manual updates, the emerging design is a living document that keeps up to date with the changes made to the system. This can be leveraged to provide developers with a number of benefits:
- Design can be kept up to date with little to no effort on the part of the developers. This benefit is especially apparent in more agile development processes where a design document is not explicitly created. At any point of the development cycle, the developers would have an accurate high-level view of the system.
- Emerging design can be used to help developers coordinate implementation effort. Since design is at a higher level of abstraction, it is easier to visualize the dependencies among the source code modules. This allows developers to more easily understand the impact their changes have on the various modules of the system; this is more difficult to see if the developers were just looking at the source code.
- Emerging design can be annotated with authorship information. By annotating the design modules with information about who authored and modified various modules, it is possible to identify dependencies among developers. These developers are now aware of who they should approach with questions related to code modules they depend on.
- The history of changes can be stored in the emerging design. The exact types of changes (i.e., addition and removal) made to the code can be tracked and visualized on the emerging design. This allows developers to track the evolution of the system as well as the recency of changes.
- Emerging design can be used to detect design deviations. By overlaying the emerging design on top of the original, conceptual design it is possible to highlight any discrepencies between the two so that unintended design changes can be detected.
- Emerging design can be used to identify implementation progress. Overlaying the emerging design on top of the conceptual design also provides the benefit of highlighting which modules were implemented and which are not.
Portions of this site Copyright ©2004-2006 The Regents of the University of California. All Rights Reserved Worldwide.
