RETRATOS: Requirement Traceability Tool Support

Similar documents
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development

Formalization of Functional Requirements and Their Traceability in UML Diagrams A Z Notation Based Approach

A Requirements-to-Implementation Mapping Tool for Requirements Traceability

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

Using Requirements Traceability Links At Runtime A Position Paper

Traceability Method for Software Engineering Documentation

An Investigation of Agent Oriented Software Engineering Methodologies to Provide an Extended Methodology

WebRatio 5: An Eclipse-based CASE tool for engineering Web applications

Linking BPMN, ArchiMate, and BWW: Perfect Match for Complete and Lawful Business Process Models?

HP Systinet. Software Version: Windows and Linux Operating Systems. Concepts Guide

What is Enterprise Architect? Enterprise Architect is a visual platform for designing and constructing software systems, for business process

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Lecture 20: Software Evolution

Change Pattern-Driven Traceability of Business Processes

Identifying Candidate Aspects with I-star Approach

Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools

A Model-Driven Traceability Framework for Software Product Lines

Hierarchical Data Visualization. Ai Nakatani IAT 814 February 21, 2007

Chapter 4 Software Lifecycle and Performance Analysis

Towards a framework for improving requirement traceability

Software Visualization Tools for Component Reuse

SCADE System Technical Data Sheet. System Requirements Analysis. Technical Data Sheet SCADE System

Requirements Specification and Testing Part 1

Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object

SOFTWARE TESTING TRAINING COURSES CONTENTS

XFlash A Web Application Design Framework with Model-Driven Methodology

Selbo 2 an Environment for Creating Electronic Content in Software Engineering

A Framework of Model-Driven Web Application Testing

Model-Driven Cloud Data Storage

Federated, Generic Configuration Management for Engineering Data

Clarifying a vision on certification of MDA tools

Component visualization methods for large legacy software in C/C++

Chap 1. Introduction to Software Architecture

Towards Collaborative Requirements Engineering Tool for ERP product customization

Data Modeling Basics

Mastem: A Mathematics Tutoring Multi-Agent System

An Automatic Tool for Checking Consistency between Data Flow Diagrams (DFDs)

Requirements Traceability. Mirka Palo

Recovering Business Rules from Legacy Source Code for System Modernization

ONTOLOGY FOR MOBILE PHONE OPERATING SYSTEMS

Announcements. Project status demo in class

UPROM Tool: A Unified Business Process Modeling Tool for Generating Software Life Cycle Artifacts

To introduce software process models To describe three generic process models and when they may be used

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

The BPM to UML activity diagram transformation using XSLT

Visual Paradigm product adoption roadmap

Enterprise Architecture at Work

Engineering of a Clinical Decision Support Framework for the Point of Care Use

Total Exploration & Production: Field Monitoring Case Study

1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...

VAIL-Plant Asset Integrity Management System. Software Development Process

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

HOW CAN I TRANSFORM AN ONLINE SERVICE TO TRULY MULTILINGUAL?

Hierarchical Data Visualization

HierarchyMap: A Novel Approach to Treemap Visualization of Hierarchical Data

Agents and Web Services

A CONCEPTUAL MODEL FOR REQUIREMENTS ENGINEERING AND MANAGEMENT FOR CHANGE-INTENSIVE SOFTWARE

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: (Computer Programming 2).

Information Visualization of Attributed Relational Data

3SL. Requirements Definition and Management Using Cradle

Distributed Database for Environmental Data Integration

Design of Visual Repository, Constraint and Process Modeling Tool based on Eclipse Plug-ins

Rotorcraft Health Management System (RHMS)

INFORMATION VISUALIZATION TECHNIQUES USAGE MODEL

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS

A Traceability Approach to Support Object-oriented Software

Seamless UML Support for Service-based Software Architectures

Multi-Paradigm Process Management

Development/Maintenance/Reuse: Software Evolution in Product Lines

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

Development of Enterprise Architecture of PPDR Organisations W. Müller, F. Reinert

Web. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia.

Integrity 10. Curriculum Guide

Enabling Better Business Intelligence and Information Architecture With SAP Sybase PowerDesigner Software

CHAPTER 1: CLIENT/SERVER INTEGRATED DEVELOPMENT ENVIRONMENT (C/SIDE)

Bidirectional Tracing of Requirements in Embedded Software Development

Enabling Better Business Intelligence and Information Architecture With SAP PowerDesigner Software

XML DATA INTEGRATION SYSTEM

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Design Document (SDD) Template

Windchill Service Information Manager Curriculum Guide

Requirements traceability, Requirements management, Requirements change, Functional traces, Non-functional traces.

Filling the Gap between Business Process Modeling and Behavior Driven Development

Automated Test Approach for Web Based Software

Agile Requirements Traceability Using Domain-Specific Modelling Languages

Business Process Modeling with Structured Scenarios

Web-based Multimedia Content Management System for Effective News Personalization on Interactive Broadcasting

Aspect Oriented Strategy to model the Examination Management Systems

Integrating Heterogeneous Data Sources Using XML

The Tropos and MaSE Agent-Oriented Software Engineering Methodologies. Msury Mahunnah, Tallinn University of Technology

IBM DB2 XML support. How to Configure the IBM DB2 Support in oxygen

Change Impact Analysis of Crosscutting in Software Architectural Design

Deferred node-copying scheme for XQuery processors

How To Use X Query For Data Collection

A Framework to Balance Tracing Agility and Formalism

WebSphere Business Modeler

Software Engineering Tools and Methods

SQLFlow: PL/SQL Multi-Diagrammatic Source Code Visualization

Talend Metadata Manager. Reduce Risk and Friction in your Information Supply Chain

A Visual Language Based System for the Efficient Management of the Software Development Process.

Transcription:

RETRATOS: Requirement Traceability Tool Support Gilberto Cysneiros Filho 1, Maria Lencastre 2, Adriana Rodrigues 2, Carla Schuenemann 3 1 Universidade Federal Rural de Pernambuco, Recife, Brazil g.cysneiros@gmail.com 2 Universidade de Pernambuco, Recife, Brazil mlpm@ecomp.poli.br, adriana.rodrigues@hotmail.com 3 Universidade Federal de Pernambuco, Recife, Brazil carlotcha@gmail.com Abstract. Software traceability is the ability to relate artefacts created during the development life cycle of software system. Traceability is essential in the software development process and it has been used to support several activities such as impact analysis, software maintenance and evolution, component reuse, verification and validation. Moreover, the importance of traceability in the software development process has been endorsed by several standards for quality management and process improvement such as ISO 9001:2000 and CMMI. Despite the importance of software quality, current support for traceability is inadequate. In this paper, we present a tool that tackle different aspects and issues of the traceability problem. In particular, the tool support a rule based approach to capture traceability relations between software models. The rules can be created to capture traceability relations of different types of software models. Keywords: Software traceability, rule-based approach, traceability visualization. 1 Introduction Software traceability has been defined as the ability to describe and follow the life of a requirement, in both a forward and backward direction (i.e. from its origins, through its development and specification, to its subsequent deployment and use, and through periods of ongoing refinement and iteration in any of these phases) [1]. Traceability relations can guarantee and improve software quality and can help with several tasks such as the evolution of software systems, reuse of parts of the system, validation that a system meets its requirements, understanding of the rationale for certain design decisions, identification of common aspects of the system, and analysis of implications of changes in the system. Traceability has been studied for many years and several approaches have been proposed to tackle its different aspects and issues. Pohl [2] states that a traceability approach should provide answers to the following questions:

What traceability information should be captured? How traceability information should be captured? How traceability information should be stored? Sherba adds in [3] that a traceability approach should also to answer the following question: How traceability relations are going to be viewed and queried? Although several approaches have been proposed in the literature, in general they only address one aspect of the traceability problem. This makes more difficult to take advantage of the benefit to use a traceability tool in an industrial setting. This paper presents a work in progress on a tool that address all the four questions above presented. In particular, the tool supports automatic generation of traceability relations, consistency and completeness checking in models created during the development life cycle of software systems. The tool is based on a rule-based approach that allows capturing traceability relations between different types of models (e.g. BPMN, UML, Java code) created during the development of software systems. Rules can be created to define what and how the traceability information should be captured. A visual editor to create rules and a visualization tool to support different forms of visualization is been developed. 2 Objectives The goal to develop RETRATOS tool is to extend and tackle some weak points of the traceability approach of one the authors presented in [4,5,6]. The approach was developed to support (i) automatic generation of traceability relations between heterogeneous software models created during the development of multi-agent systems, and (ii) identification of missing elements in these various software models created during the development of multi-agent systems (completeness checking). The figure 1 presents an overview of our framework. As shown in the figure, initially, the models of our concern represented in their native format are generated using proprietary tools (e.g. TAOME4E, Astah, or any diagram editor tool). These models are translated into XML format by using a Model Translator component based on XML Schemas proposed for the models, whenever the tools used to create the models do not generate them directly in XML. The XML based models and rules are used as inputs to the Traceability Generator and Consistency Checker component to generate traceability relations between the models and to identify missing elements based on the rules. The engine also uses WordNet to support the identification of synonyms between the names of elements in the models. The WordNet is important component because in general naming conventions can change from high-level models (e.g. i*) to low-level representations (e.g. Java code). The traceability relations and identified missing elements are represented in an XML document. The use of a separated document to represent the traceability relations and missing elements is important to preserve the original models, to allow the use of these models by other applications and tools, and to allow the generated

relations to be used to support the identification of other traceability relations that depend on the existence of previously identified relations. Figure 1- Cysneiros s Approach 3 Our Approach The Cysneiros s approach only address the problem of identifying traceability relations. The figure 2 shows that two components are added to the original approach: a traceability visualization tool and a rule editor tool. Our experience has shown that a large number of traceability relations can be generated for the various models. Therefore visualization support is fundamental to: i) allow the user to browse the traceability relations through various types of user interactions; ii) allow the user to add, remove, and modify properties of existing traceability relations and their related artefacts; iii) integrate with tools used to develop, test and maintain the system; iv) capture and maintain browsing history for traceability relations; v) support user querying and filtering of the traceability relations; vi) offer flexible and user customizable view of the traceability data; vii) provide tools to analyse and summarize the data on the traceability process and relations.

Figure 2 - RETRATOS overview Currently, the approach support matrix, tree and Sunburst visualization techniques and generation of reports in HTML (see Figure 3). Traceability Visualisation HTML Reports Tree View Matrix View Sunburst View Figure 3 Visualization Tools HTML reports (see Figure 4) show the total number of traceability relations identified by the tool and to each relation created shows: (i) id of the rule used (e.g. rule1), (ii) type of the relation (e.g. overlaps), (iii) name of the elements (e.g. Allocate Runway Slot) and (iv) element s type (e.g. SD goal). A more comprehensive and customizable reporting tool is been built.

Figure 4 - HTML Report Sunburst is a graph (see Figure 5), which nodes are arranged in a radial layout. Nodes are drawn on adjacent rings representing a tree structure. Each child of a node with depth n is represented in the ring n + 1 on the same radian space as its parent(s). Sunburst visualization performs better on large amounts of nodes than traditional tree view representation. Tree view representations grow rapidly in the vertical direction if many branches are expanded while using Sunburst the nodes are distributed uniformly in all directions. Figure 5 Sunburst visualization

The Cysneiros s approach relies on the use of traceability and completeness checking rules specified in an extension of XQuery. The creation of these rules is not a straightforward activity and requires knowledge of XQuery. To address this problem we are developing a visual rule editor that allows to create rules using a drag and drop approach. The editor also provides a graphical interface that allows selecting only the rules that are applicable to a specific software project or domain. 4 Conclusion and Future works In this paper, we described a traceability tool that extends a rule-based approach to identify automatically traceability links and missing information between artifacts created during the development of software systems. The traceability tool adds support to traceability visualization and visual creation of rules. One of the challenges to build a traceability tool is to provide support to the vast number of methodologies, platforms, tools, and languages available to develop software. Currently, the tool supports models created to the development of multi agent systems when using i* framework, Prometheus methodology, and JACK code. Our goal is to use and evaluate the approach in the other programming paradigms such as web services and object oriented programming. As future work, we also intend to extend the tool to other types of visualization techniques and evaluate these techniques in terms of usability. References 1. Gotel O. and Finkelstein A.: An Analysis of the Requirements Traceability Problem. International Conference on Requirements Engineering. - Colorado, USA: IEEE Computer Society. (1994) 94-101 2. Pohl k. Process-Centered Requirements Engineering. John Wiley & Sons, Inc., New York, NY, USA (1996) 3. Sherba S. and Anderson K.: A Framework for Managing Traceability Relationships between Requirements and Architectures. Second International Workshop from Software Requirements to Architecture (2003) 4. Cysneiros G. and Zisman A.: Traceability and Completeness Checking for Agent-Oriented Systems. 23rd Annual ACM Symposium on Applied Computing (2008) 5. Cysneiros G. and Zisman A.: Traceability for Agent-Oriented Design Models and Code. TEFSE/GCT 07. - Lexington, KY, USA (2007) 6. Cysneiros G. and Zisman A.: Tracing Agent-Oriented Systmes. The Nineteenth International Conference on Software Engineering and Knowledge Engineering (2007)