• No se han encontrado resultados

7. PRESENTACIÓN Y ANÁLISIS DE RESULTADOS

7.2 Análisis triangulación de la información

7.2.3 Análisis triangulación de la Categoría Didáctica de las ciencias naturales

Besides artefact elements,Artefact Dataalso contains trace links, which connect these elements.

Intralinks are extracted from original artefacts when performing artefact data extraction and

Artefact GraphML Representation

Java source code A GraphML file represents a single Java class/interface/enum UML class diagram A GraphML file represents an entire UML class diagram

that may consist of multiple classes/interfaces/enums JUnit test A GraphML file represents a single Java test class

UML sequence diagram A GraphML file represents an entire UML sequence diagram consisting of multiple lifelines

Requirements specification A GraphML file represents an entire document, which may contain multiple requirements

UML use case diagram A GraphML file represents an entire UML use case diagram Conceptual architecture A GraphML file represents the entire architecture

Module view architecture A GraphML file represents the entire architecture

Table 6.3:Transformation output summary.

links, however, require specific traceability creation mechanisms to be in place to establish them.

Intra Links Establishment

Domain dependency links are either explicitly specified in the original artefact or they can be derived. For example an association between two UML classes that is drawn on the diagram can be extracted using the same principle applied in extracting artefact elements: the XML representation of data obtained from the original artefacts also contains links between artefact elements. This class of links is annotated with a genericUseslabel expressed through therelType

key in theGraphMLrepresentation.

Implicitly stored relationships such as the ones between Java classes and their member methods are annotated with aParent-Childlabel. The current implementation supports the extraction of such relationships from Java source code, UML, and JUnit test cases.

Inter Links Establishment

Establishing inter artefact trace links is currently achieved using machine learning techniques resulting in a semi-automatic process, which is described in Chapter 8. Since inter links are not represented by edges in theGraphMLfile, a custom representation is in place and inter trace links are stored in an XML file, where they are specified as follows.

<Relations >

<Relation id="1">

<SourceNode >x</SourceNode > <TargetNode >y</TargetNode >

</Relation > </Relations >

Listing 6.3:An example inter trace link expressed in XML.

The motivation to store inter trace links separately from intra links and artefact elements relates to an implementation aspect, graph data persistence, which is discussed in the next subsection.

TheBlueprints API 20allowsGraphMLfiles to be imported to graph databases through which

intralinks and artefact elements are saved.Interlinks between nodes are established through an

additional database update. However, addinginterlinks to theGraphMLfile would necessitate a custom logic to be built to save artefact data, intra links and interlinks and accessing the database on multiple occasions. Additional repercussions may include the need to combine

allGraphMLfiles in a single file to avoid additional linking between files. Storing all artefact

element data in a single file may present performance issues when dealing with large projects. The following list outlines the strategy to establishinter trace links with respect to artefact types currently handled by the framework, and the granularity of linking. Creating inter links involves understanding the system and the concepts the given artefacts represent. For any given pair of source and target artefact, elements at the same level are connected. For example, container elements in Java source code are connected to container elements in UML class diagrams. On the other hand, member elements are linked to other members. The list also highlights that each artefact type is connected to all the other types. The motivation to cover inter links between all artefact types is to support artefact independence. Specific examples of artefact linking taken from open source systems are introduced in Chapter 8. An alternative linking strategy may utilise transitivity, where an identified link between elementaandb, and a link betweenbandcallows the conclusion to be drawn thataandcare also connected without a link being created explicitly. This strategy may be implemented as part of future work.

1. Source artefact:Java source code

Java source code container elements are connected to UML / JUnit container, UML sequence diagram lifeline, requirement, use case, architectural component, architecture module artefact elements. Java source code member elements are linked to UML / JUnit member elements. 2. Source artefact:UML class diagram / JUnit tests / UML sequence diagram

UML / JUnit container and UML sequence diagram lifeline elements are connected to Java source code container, requirement, use case, architectural component and architecture module artefact elements. Additionally, UML / JUnit member elements are linked to Java source code and JUnit member elements.

3. Source artefact:Requirement specification

Requirement artefact elements are connected to use case, achitectural component, architecture module, UML sequence diagram lifeline, JUnit/ UML / Java container element(s).

4. Source artefact:UML use case

Use case member elements are connected to requirement, achitectural component, architec- ture module, UML sequence diagram lifeline, JUnit/ UML / Java container element(s). 5. Source artefact:Conceptual architecture

Architectural component elements are connected to requirement, use case, architectural module, sequence diagram lifeline, Java / UML / JUnit container element(s).

6. Source artefact:Module view architecture

Module elements are connected to requirement, use case, architectural component, sequence diagram lifeline, Java / UML / JUnit container element(s).