Type-Level dependencies

Type-Level dependencies are applicable to relationships that arise after considering the possible set of values that a particular data field can contain. There is no need to examine the state of the data that comprise a Business Object in order to identify this level of dependency. For example, consider the type attribute defined on the Folder entity. The value for this attribute comes from an entity called CodeTableItem which belongs to CodeTable Business Object Type. Hence, there exists a static dependency between the Folder and the CodeTable Business Object Types.The following diagram represents this type level dependency in UML.

Figure 1. Type-level relationship between Folder BOM and CodeTable BOM

Another form of type-level dependency can be identified by examining the attributes of all entities in the Business Object Type. If any of the attributes have a foreign key relationship with the Initial Entity of another Business Object Type, then there is a type-level dependency on that Business Object Type. For example, assume that there is a Business Object Type called File. The Initial Entity of this Business Object Type is the File entity, which in turn has an attribute folderID with a foreign key relationship with the entity Folder. So, naturally, the File Business Object Type is related to the Folder Business Object Type. In other words, File has a type-level dependency on the Folder Business Object Type.Refer the following diagram that represents this relationship in UML

Figure 2. Type-level relationship between File BOM and Folder BOM