Guideline: Implementation Element
This guideline enumerates and defines implementation artifacts.
Main Description

Kinds of Implementation Elements

Implementation Elements can generally be categorized as files and directories. Files can be further categorized as follows:

Source code files

These are files that may be directly modified by a developer. This includes:

  • compilable source code (such as : .h, .cpp and .hpp files for C++, CORBA IDL, or .java for Java)
  • interpreted source (HTML, various scripting languages), and user-modifiable data files (such as database tables, configuration files, graphics files, and so on).
Derived files

These are files that are not intended to be directly modified by a developer. They are derived from source files.

Some derived files are intended to be used in the operational system (such as DLLs, JARs, and EXEs). Others are the intermediate results of compilation (for example, .o files from compiling C++ and .class files from compiling java code).

Modeling Implementation Elements

In version 1.3 of the Unified Modeling Language (UML) specification, files are modeled as UML components. In UML 1.4, the representation changed to be UML artifact. Many tools and UML profiles continue to use components for modeling files.

In any case, modeling of files and directories should be be done sparingly, unless there is some automated support. Files can be viewed in the project directory structure, and the relationship between files and design elements is often sufficiently clear from the directory structure and naming conventions.

See Guideline: Implementation Model for details.