Information Technology Reference
In-Depth Information
• Make transformations explicit. When transformations are applied by hand, it is
critical that the transformation is made explicit in some form so that developers
can apply the transformation the same way. For example implementation should
be documented in coding conventions so that two developers produce the same
code when applying the same transformation. The developers should use stan-
dard conventions, rather than actual conventions.
9.12.2 Assigning Responsibilities
Several roles collaborate to select, apply and document transformations and the
conversion of the object design model into source code (Bruegge and Dutoit
2000 ):
• The core architect selects the transformations to be systematically applied. For
example, if it is critical that the database schema is modifiable, then the core
architect decides that all associations should be implemented as separate tables.
• The architecture liaison is responsible for documenting the contracts associated
with subsystem interfaces. When such contracts change, the architecture liaison
is responsible for notifying all classes of users.
• The developer is responsible for following the conventions set by the core
architect and actually applying the transformations and converting the object
design model into source code. Developers are responsible for maintaining the
up-to-date source code comments with the rest of the models.
• Identifying and applying transformations for the first time is trivial. The chal-
lenge is reapplying the transformations after change occurs.
9.13 Chapter Summary and Conclusions
This chapter presents details about the implementation phase in the software
development life cycle. Implementation is the process of translating the detailed
design into code. In most cases, choosing a programming language for imple-
mentation is not an issue. Object-oriented programming languages (OOPLs) are
the natural choice for implementation of an object-oriented design.
Section 9.1 describes how to document transformations and the principles to
reduce inconsistencies with that. Several roles collaborate to select, apply, and
document transformations:
• The core architect.
• The architecture liaison.
• The developer.
Section 9.9 describes many coding standards and good programming practices
that the developers should follow. Reuse refers to using components of one
Search WWH ::




Custom Search