—Improving Software Development Process using Data Traceability Management Improving Software Development Process using Data Traceability Management

—Today traceability is a buzz word and it used in several domains like healthcare, food industry and transportation sectors. In Information Technology, traceability plays a very important role and it can be defined in various ways, depending on the environment and process under consideration. In this paper we are presenting just an idea of a new approach to improve the software development process with the traceability management in order to implement and test the method to show the benefits of using it.


Introduction
Traceability plays an important role in different sectors; in ISO (ISO 9001:2000), it is defined as "the ability to trace the history, application or location of that which is under consideration". For some people, it is merely a tool to keep a history over something important that happened in the past. For others, is has no added value to their actual processes or product but in fact, it is becoming more and more valued. A global traceability uses two techniques in general, backward traceability (The tracing) aims to identify the origin and characteristics of a product and descending traceability (The tracking) aims to find the location of a product [1].
Traceability plays an important role also in the development and assurance of software systems, it helps to assure that an as-build system correctly implements all requirements by supporting change impact assessment, re-engineering of applications and other critical software engineering activities. Requirements traceability means the capability to show, follow the life and expiry of the requirements are properly designed and well tested [6].Software traceability has long been recognized as an important quality of a well-engineered software system defined by the Centre of Excellence for Software and systems Traceability (CoEST). Traceability is successfully implemented in some projects within some organizations while the majority of projects fail to achieve affective traceability or incur excessive costs in so doing [2]. Software traceability is an essential element of the software development process.
Today traceability is one of the basic tenets of all software safety standards and a key prerequisite for certification of software. The traceability research is constantly gaining attention and in the future it will be a serious research topic.
This work introduces, in the first section several researches that are an important value to software traceability management. In the second section, data traceability management for software development is exposed. The third section describes our future work as a solution to manage the traceability in software engineering.

2
Software Traceability System

Software traceability and state of the art
According Hong Wu Bai [3] the traceability has a very important role for farm animals and their products by using technologies to manage it and to control it. A traceability system is composed of the identification of Traceable Resource Units (TRUs), a database that provides needful data with TRUs and information flow for associating the TRUs with their respective codes by collection and inquiry.
In China, Traceability legislation imposes an important development for monitoring products evaluation during its production, process, storage and distribution; however it is necessary to develop new technologies and realistic approaches in order to provide a fundamental traceability system. A fundamental traceability system should unify the retroactive protocols and data interfaces in order to link different traceability data. Patrick Rempel on May 2016 are proposing an automated traceability assessment approach called TRUST that can be used to assess software traceability [4], it consists of four components; • Traceability store • Traceability planner • Traceability collector • Traceability assessor TRUST comprise four steps as shown in Figure 1 • Planning traceability information • Collecting traceability data • Assessing traceability data • reporting assessment results In (A), a target state of a traceability implementation is specified as a reference for assessing the actual state of a project's traceability, specifying all artefact types, trace link types and trace path types that are required to enable all software development activities that require traceability. The result of the planning step is a traceability information model (TIM). The resulting TIM is stored in the Traceability Store.
In (B), the Traceability Collector collects and parses data traceability of a software development and it also stored in the Traceability Store.
In (C) a traceability quality model is proposed to define assessable traceability data properties with respect to the qualities completeness, correctness and appropriateness. Based on this model the Traceability Assessor analyses each traceability data property within the Traceability Store for deviations.
In (D) the Traceability Assessor aggregates the traceability assessment results into a report. This approach is not limited to specific artefact types and can be applied to any software project.
Software traceability is a required component of many software development processes. It is an indispensable tool for the success of information system development projects, in reality, it is a powerful strategy to ensure and to be able to prove what has been requested as a need to verify and validate the exploitation of the developed systems.

Requirements traceability
On software quality, requirements traceability has been recognized as an important quality of a well-engineered system. It is broadly recognized as a critical factor for software quality according Patrick Rampel [5], in this research, authors are focusing on the completeness of requirements traceability in software projects and how it impacts the implementation quality of requirements. A tool was developed to automatically collect and analyze project specific software development artefacts can be used by practitioners to automatically calculate their degree of traceability implementation completeness. The results provide for the first time empirical evidence that improving the degree of traceability completeness indeed decreases the defect rate to be expected, and thus helps to raise implementation quality of the developed software.
Requirement traceability means the links between requirements to another requirement and that means also tracking all requirements in Software Requirements Specification (SRS) to confirm that all requirements are properly designed and well tested.
According Swathine. K, Software have many artefacts, multiple version of artefacts are existing, Artefacts are continuously changing and updating regularly, which need proper management in order to software work properly. Traceability links provide good understanding relationships between artefacts and it represented by traceability matrix [6]. Requirements traceability is an important mechanism for managing verification, validation and change impact analysis challenges in system engineering.

Traceability management
In order to manage and adopt the most appropriate traceability scheme for the project, we should answer the following questions [7]: • What information is recorded in the artefact? • Who has created or updated the artefact? • Who are the potential users of the artefact?
• What is the source of information (recorded in the artefact)? (Whether it is policies, telephone calls, documents, standards, etc) • How is the information represented? (Whether it is documented as formal or informal text, or as graphics, or documented as audio or video recordings) • When was the artefact created or modified?
• Why was the artefact created or updated?
The traceability links between different artefacts generated by different tools have to be stored and maintained.
Today many enterprises use some techniques and technologies to manage data traceability in several domains like RFID (Radio Frequency Identification), barcodes, ERP (Enterprise Resource Planning), etc and in recent years, management software vendors have added more features to help facilitate traceability.

Traceability Management for Software Development
When using traceability, you need to manage a number of things, including creating links and maintaining them across all the product development artefacts. You also need to trace the links upstream and downstream to ensure that you understand the impacts that requirements have on a deliverable. Creating and maintaining links are normally time-consuming and end up adding overhead to the project but using a tool with automated traceability alleviates this issue.

Overview of the proposed approach
In this work, we are presenting just the idea proposed to improve the process of software development with data traceability management based on a previous research [4]; the idea is to use a system allowing to ensure that the software delivered meets all requirements and thus avoids failures by using data traceability management to above all the traceability of requirements throughout the development of the application. For each client task, we must have information about the changes made to the artefacts (the links, the impacts of the changes, reuse of the artefacts) as well as the changes made to the initial needs, these traces will be stored at the level of a database and managed by the traceability management system that will allow us to evaluate the process of software development as well as help us to minimize failures and helps to deliver the right software application on schedule that meets business requirements.
This approach will help developers to control and manage the development and the evolution of a software system. Traceability is rarely used throughout all development stages due firstly to the number of artefacts and due secondly to the need to maintain relations each time a change occurs.
There is a lot of traces we can stocked, that's why the definition of traceability is an essential step in order to establish a predecessor -successor relationship between one work product and another; Information about each artefact, Who has created or updated the artefact, users of the artefact, The source of tasks (Telephone calls, documents), Formal or informal text, graphics, audio or video recordings, When was the artefact created or modified, Why was the artefact created or updated etc.
For project management tasks, traceability supports the control of a project's progress and provides a way to demonstrate the realization of user requirements. Traceability is essential for numerous quality-oriented software development practices such as these.

Conclusion
Traceability in Software Development helps monitoring and controlling, proper requirements definition, checking if accepted requirements are broken down into development and test tasks that refer to each other, ensures that during development, source code is reviewed according to acceptance criteria, changes at any time during the development lifecycle are traced, collaboration is ensured, and testing is performed and released for deployment on-time.
In our future work, we will develop, test and implement the proposed approach to approve the benefits of using it.