Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 2 Concepts and Definitions : Relationships

Relationships
In TIBCO Business Studio, relationships are used to show the relationships between objects and consist of Generalization, Aggregation, Composition, and Aggregation.
Not all these types ofrelationship are supported for all destination environments. TIBCO Business Studio allows you to create all four types of relationship listed here, and they may all be useful for analysis purposes. However, an error will be generated if you try to deploy a business object model containing an Association or an Aggregation to BPM.
AboutRelationships
Relationships in the business object model can be grouped into two types:
Aggregation, Composition, and Aggregation. Composition and Aggregation are both more specific types of the general relationship type Association. However note that Composition is the only one of these supported in BPM.
These types can be further classified with regards to:
Allrelationships, except Generalizations, can have various labels when they are created in a business object model. A label name for the relationship is not displayed by default but can be added. They also display the names of the Classes and the multiplicity allowed for the Classes. This is shown below:
Generalization
The generalization relationship indicates that one of the two related Classes is a more general form of the other (an "is a" relationship). For example, a doctor "is a" person, and a patient "is a" person. As such a doctor inherits the attributes and relationships of the general Class (person). In the Business Object Modeler, a Generalization is represented by a hollow triangle connected to the general form. For example:
In object-oriented terminology, this means that Doctor and Patient are Derived Classes of the Super Class Person. This relationship is also known as inheritance. In other words, the Doctor and Patient Classes inherit the attributes of the general Class Person.
Association
An Association shows a relationship between two Classes. The relationship indicates that the Classes need to share data and how one Class can access another. For example, an Association between a Customer Class and an Order Class shows that a Customer has one or more orders. If you have an order, you can locate the customer who placed that order.
Associations between Classes affect the Attributes of those Classes. If there is a bi-directional Association between two Classes then each of those Classes will acquire the other Class as an Attribute. An example of a bi-directional Association is shown below:
In this example, the Customer Class acquires an attribute called Order and the Order Class acquires an Attribute called Customer. In other words, from an Order you can find out about a Customer and from a Customer you can find out about an Order.
An Association can also be from one Class to another as follows:
In a one way Association, only the source Class acquires the attribute of the target Class. In the example above therefore, the Order Class inherits the Customer Class as an Attribute but the Customer Class does not inherit the Order Class as an Attribute. In other words, from an order you can find out about a customer but you cannot find out about an order from a Customer.
Composition
Composition is a specific type of Association used when a Class is a collection or container of other Classes, but the relationship is such that if the Class that functions as the container is destroyed, the Classes representing the contents are destroyed as well.
In the Business Object Modeler, Composition is represented as a filled diamond shape connected to the containing Class.
Compositions can be bi-directional, or can be navigable only in one direction. When you create a composition in Business Object Modeler, by default its navigability is from the source class to the target class.
Aggregation
Aggregation is a more specific type of Association. It is used when a Class is a collection or container of other Classes, but the relationship is such that if the Class that functions as the container is destroyed, the Classes representing the contents are not.
In the Business Object Modeler, Aggregation is represented as a clear diamond shape connected to the containing Class.
Aggregations can be bi-directional, or can be navigable in only one direction. When you create an aggregation in Business Object Modeler, by default its navigability is from the source class to the target class.
Multiplicity
Connections such as Association, Aggregation, and Composition have multiplicity at each end of the Connection, indicating how many of each Class participates in the relationship. The following table describes the available multiplicity indicators:
Where n is greater than 1
Zero to n where n is greater than 1
One to n where n is greater than 1
To specify the multiplicity for a connection, you can:
Select the connection, and specify the multiplicity in the Source Role Multiplicity and Target Role Multiplicity fields on the Advanced tab; or
You can select an indicator from the content assistance dialog, or type it in. Where an indicator includes n, that represents any integer, and you must type it in.
Association Class
An Association Class is a particular type of class that specifies information about the relationship between two other classes. It is a special type of connection that can exist between classes. An association class has no meaning without the classes with which it is associated.
An Association Class is not selected from the Business Object Modeler palette like other diagram nodes and connections. You create it as follows:
1.
2.
3.
Right-click on the connection, and select Refactor To AssociationClass. The existing connection is replaced by an Association Class as shown in the illustration.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved