• No results found

5 3.3.5 REFERENCING

APPLIES TO TYPE: (

9. METHOD EVALUATION

9.2 FRAGMENT DISSECTION

9.2.1 PRODUCT DISSECTION

A method is described in terms of a number of tool fragments. Though these fragments may have different optionality or multiplicity in that method, they can be dissected as discrete constituents to support multiple viewpoints across methods in a particular application. Such tool fragments are normally interrelated by shared concepts or by intermediate relationships. These items must be determined to fully dissect a fragment out of the method context. Figure 9.1 depicts the possible relationships between fragments. The diagram shows a method with two fragments, namely fragment A and fragment B. For simplicity, the details within each fragment are not shown, however inside the fragment A box, the five possible relationships among concepts are given.

The three notations between the two fragments depict the relationships between method fragments. They are the dissection set, referencing relationship and grouping relationship, which are known as the ‘cuts’ between the fragments.

group \ method C o ) sublyplng ► composition ^ l i n k i n g grouping — referencing

fragm ent A fragm ent B

Figure 9.1 Method Product Dissection

The first type is described by a dissection set as introduced in section 8.3.1. It is an important tool to dissect fragments based on the common concepts. These concepts can be either a link concept or an entity concept, as demonstrated by the Codarts/DA concepts dataFlow and

dataTransformation respectively in figure 8.2. The other usual concept in a dissection set is the property concept; that is a concept that has owners from different fragments of a method. For instance, in HOOD a modeOfFlow can be a property of a dataFlow in a hoodDigram

fragment or a parameter in an objectSkeletonDescription fragment as shown in figure 8.9. Hence modeOfFlow is an element in the dissection set between the two fragments. This type of dissection relationship also handles the shared concepts. A shared concept is a method concept described with different levels of detail or viewpoints in different fragments, and therefore it can be considered as a special type of concept in a dissection set. The

dataTransformation concept in Codarts/DA mentioned above is a typical illustration, see section 9.3.2 for details.

There are two ways to dissect fragments by referencing relationships. In the first case, it relates concepts with equivalent semantic meaning of fragments in the same method. For example, in OMT an activity of a state in dynamicModel must refer to an operation of an

object in objectModel. This ‘refer-to’ relationship links up entity concepts in different fragments. The other case describes the relationship between two concepts, where one concept is further defined by another concept. For instance, an object concept in objectModel

is described by another fragment called dataDictionary. This ‘defined-by’ relationship associates an entity concept with another fragment concept. These referencing relationships form the second type of cuts in product dissection.

Figure 9.2 shows the OMT product dissections. OMT has three tool fragments, which are shown as dotted rectangles in the diagram. All the dissection cuts are uni-directional references running towards the entity concepts in objectModel. Hence it is clearly seen that the dynamicModel and functionalModel describe certain viewpoints of the system and the

objectModel is proved to be the most important fragment among the three.

[ objectModel ] operation attribute

<rir

[ object ]^~ A A method [ dynamicModel ) _[ activity) ~{ action ) functionalModel ] -[ process ) dataStore) 1 actorl ( eventAttribute ] delegation)

Figure 9.2 OMT: Product Fragment Dissection

The last type of product dissection is denoted by grouping relationships. In dissection, a group concept is normally a decomposition concept or an extension concept of an entity concept. In other words, the host concept is an entity described in one fragment and the element concept is the expanded fragment concept. This product dissection is illustrated by the Ptech method as shown in figure 9.3. In the figure, productDecomposition group concept identifies the cut between objectSchema and the owner of the product concept which is

objectFlowDiagram, whereas the activityDecomposition group concept determines the cut between eventSchema and the owner of the activity concept which is again the

objectFlowDiagram fragment. method ; - - - ^r

r

- - . /

\

r ... / • ■ • ^rr- * -

[ objectSchema)^--- e , objectFlowDiagram )

\

e| eventSchema )

objectType________ [ extemalObjectType

\

g. product Decomposition hL X I o ect ^ product activity ' externaiObject) v

J

activity Decomposition -> { operation ]

The figure also demonstrates dissection cuts amongst the tool fragments as referencing relationships. Each activity in objectFlowDiagram refers to an operation in eventSchema, and a product denotes an objectType in objectSchema, whereas an externalObject can only relate to an extemalObjectType. In conclude to this product dissection layout, objectFlowDiagram

provides an overview of the system.

The three main points in determining fragment cuts are:

• For any dissection set, a number of concepts are common among the fragments.

• For any referencing relationship, the two related concepts must be in different fragments. • For any grouping relationship, the host concept is an entity concept and the element

concept is a different fragment concept.

The following points are noted to explain why the other relationships cannot form a cut:

• For any subtyping relationship, both the superconcept and subconcept semantically and notationally belong to the same tool fragment. However, if the subtyping relationship belongs to fragment concepts (for instance systemContextDiagram is a subtype of

contextDiagram in Codarts/DA), the situation is more complicated. The complete fragment dissection requires the handling of inherited features from the superconcepts. • By definition, when a concept owns another concept both of them are in the same tool

fragment. Thus composition is an intra-fragment relationship. Nevertheless there is one exception, that is the method aggregate fragment. It comprises of a number of fragment concepts, so the composition relationships between method concept and any fragment concepts are definite cuts in product dissection.

• For any linking relationship, the link concept is used to associate the source and target entity concepts in the same fragment, so the link concept is also semantically owned by the fragment concept. Hence linking is also an intra-fragment relationship and cannot represent a cut for fragment dissection.

Outline

Related documents