Chapter 6. Architecture Representation


graphics/clock6.gif

with Len Bass, Felix Bachmann, Paul Clements, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford

Len Bass, Felix Bachmann, Paul Clements, and Reed Little are senior members of the technical staff at the Software Engineering Institute at Carnegie Mellon University. James Ivers is a member of the technical staff at the Software Engineering Institute at Carnegie Mellon University. David Garlan is an associate professor in the School of Computer Science at Carnegie Mellon University. Robert Nord is a member of the architecture group at Siemens Corporate Research in Princeton, New Jersey. Judith Stafford is a professor in the Department of Computer Science at Tufts University and a visiting scientist at the Software Engineering Institute at Carnegie Mellon University.

It is the mark of the educated man and proof of his culture that in every subject he looks for only so much precision as its nature permits .

”Aristotle, Nicomachean Ethics, Book I, Chapter 3

Architecture plays a key role in systems development, especially in the modernization of legacy systems. A typical modernization effort may use multiple architectures at any time, including representations of the as-built and as-desired architectures. The as-built architecture represents the state of the system at the start of the modernization process. If this architecture does not exist, it may need to be reconstructed as described in Chapter 5. The as-desired architecture represents the idealized end state of the system and provides the technical vision for the modernization effort. In most modernization efforts, this ideal architecture is never achieved, but that does not lessen its value.

An incremental modernization effort requires developing an architecture that defines the scope, structure, and design for each increment. Each increment, other than the last, includes elements of both the as-built and as-desired architectures. At the completion of each increment, the incremental release architecture, properly maintained and updated, defines the latest as-built architecture, and the previous as-built architecture is replaced .

The as-desired architecture for the system also evolves during each increment. This evolution occurs for a variety of reasons: the boundaries, constraints, and functionality of the legacy system become better understood ; the technology used to build the modernized system evolves; requirements for the modernized system change; and new modernization technologies are developed.

For these reasons, properly developing and maintaining architectural representations is extremely important. The remainder of this chapter explains why we should care about architecture representations, describes the requirements for architectural representation, presents architectural views, and discusses some additional considerations.

From this chapter to the end of the book, Unified Modeling Language (UML) notation [OMG 01] is used to represent architectures. This does not mean that UML is the only appropriate notation. The language, or notation, is simply the medium. What is important is what the notation is trying to represent. UML is not an architecture description language (ADL) and has limitations that are covered in this chapter. UML does, however, include constructs that are useful for representing architectures, is a familiar notation, and has had great industry acceptance since being adopted by the Object Management Group (OMG) as a standard in November 1997. [1]

[1] UML 2.0 is a work in progress, so it is not possible to foresee how UML 2.0 will solve the architecture representation problem, but the OMG working group on UML 2.0 is well aware of the limitations of UML as an ADL.



Modernizing Legacy Systems
Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
ISBN: 0321118847
EAN: 2147483647
Year: 2003
Pages: 142

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net