Parent-Child Relationships
A parent-child relationship is a cross reference in a Cradle project database. Each cross reference links a from item to a to item, typically to indicate that one item is dependent upon, or related to, the other. The from and to items can be a pre-defined type or any user-defined item type in the project schema.
In a parent-child cross reference, the from and to items are of the same type and there may also be some relationship between the values of one of their attributes. Other than this, there is nothing special about parent-child relationships; they are cross references like any others. We all think of them as parent-child relationships because of some special characteristics of the from item and to item that are related by the cross-reference.
For example, consider the following cross references:
- From requirement number 1.2 to requirement number 1.2.1
We would think of this as a parent-child cross reference, mainly because the item types are the same, but also because there is a relationship between the Number attribute of the two items.
- From requirement number 2.3.4 to requirement number 2.3
We would probably think of this as also being a parent-child cross reference even though we would probably regard it as being the wrong way round because the to item seems, from the value of its Number attribute, to be at a lower level than the from item. We may regard this as a child-parent cross reference due to the values of the Number attributes of the from item and the to item.
- From requirement number URD 123 to requirement number URD 17
This is a typical parent-child cross reference when auto-numbering is in effect. In practice there would almost certainly be another attribute in the requirements with what we would consider to be a hierarchical number with values such as 1.2, 1.2.1, 1.2.2, 2, 2.1 and so on. You can enable auto-numbering and you can choose which attribute (if any) is to contain a hierarchical number as part of the definition of item types such as requirements (and also any project-specific item type) in the Project Setup tool.
- From requirement number 1.2 to verification' number 1.2.1
This would not be considered a parent-child link, because the item types are different. This is despite the Number attributes of the two items in the example having been chosen to look as though they may be related in some way.
Cross references can be un-typed, or can be given a link type. A project can define any number of such link types. The database can be searched so as to only following cross references (links) of a specific link type. In addition, a project can define any number of groups of link types (called link groups). The database can be searched only following links (cross references) whose link type is defined to be part of the link group. This adds a to the flexibility of searching the database.
Cross references can also store data in attributes. A project can define the attributes to be stored in cross references. The database can be searched only following cross references that have specific values in none, some or all of these cross reference attributes.
All of these searching options for cross references are defined in navigations. A project can define any number of these navigations, and users, user types or teams can have their own navigations for specialist searches. Navigations provide the full power of the flexibility of searching with cross references.
There is nothing special about parent-child relationships. The do not need to have a specific link type, nor to be part of a specific link group, nor do they need to have specific values in their cross reference attributes. |