8 research outputs found

    Benefits of traceability in software development

    Get PDF
    PhD ThesisFor an engineer to be able to modify successfully a complex computer-based system, he will need to understand the system's functionality. Traceability can help the engineer to gain that understanding, but several surveys have observed that traceability information is poorly recorded. This thesis argues, based on a survey of nine aerospace projects, that one of the main causes of poor recording is that Traceability does not directly benefit the development process. The recording of traceability information is best performed by the engineers directly involved in the development process, yet it is precisely these engineers who seem to obtain no direct benefit in performing this task. This can be summarised as the Traceability Benefit Problem. To overcome this problem the recording of traceability data must provide immediate, tangible benefits to the engineers involved in the current development process. A related problem that occurs in large multi-team projects that follow development processes based on predictive models (such as Waterfall or VModel) is the changing of interface documentation without adequate negotiation (referred to as Throwing the Problem over the Wall). This thesis describes, in detail, how a small automotive sensor project addressed these problems by developing a Requirements Traceability system that enabled the reuse of software and provided a basis for the negotiation of changes with their customer. Analysis of the lessons learnt from the automotive sensor and aerospace projects lead to the definition of the Traceable Development Contract. The contribution of this thesis is the description and discussion of the Traceable Development Contract, a method of coordinating the interaction of related development teams in development process that is based on a predictive development model. The Traceable Development Contract is proposed as a means of controlling the upstream team bias with respect to the imposition of changes, by employing traceability to provide a basis for the negotiation of change. By VI employing traceability in this way, it becomes beneficial to the development engineers and therefore overcomes the Traceability Benefit Problem. Finally, the thesis considers how the Traceable Development Contract traceability information can be exploited further to provide solution maturity and design metrics

    Data-driven conceptual modeling: how some knowledge drivers for the enterprise might be mined from enterprise data

    Get PDF
    As organizations perform their business, they analyze, design and manage a variety of processes represented in models with different scopes and scale of complexity. Specifying these processes requires a certain level of modeling competence. However, this condition does not seem to be balanced with adequate capability of the person(s) who are responsible for the task of defining and modeling an organization or enterprise operation. On the other hand, an enterprise typically collects various records of all events occur during the operation of their processes. Records, such as the start and end of the tasks in a process instance, state transitions of objects impacted by the process execution, the message exchange during the process execution, etc., are maintained in enterprise repositories as various logs, such as event logs, process logs, effect logs, message logs, etc. Furthermore, the growth rate in the volume of these data generated by enterprise process execution has increased manyfold in just a few years. On top of these, models often considered as the dashboard view of an enterprise. Models represents an abstraction of the underlying reality of an enterprise. Models also served as the knowledge driver through which an enterprise can be managed. Data-driven extraction offers the capability to mine these knowledge drivers from enterprise data and leverage the mined models to establish the set of enterprise data that conforms with the desired behaviour. This thesis aimed to generate models or knowledge drivers from enterprise data to enable some type of dashboard view of enterprise to provide support for analysts. The rationale for this has been started as the requirement to improve an existing process or to create a new process. It was also mentioned models can also serve as a collection of effectors through which an organization or an enterprise can be managed. The enterprise data refer to above has been identified as process logs, effect logs, message logs, and invocation logs. The approach in this thesis is to mine these logs to generate process, requirement, and enterprise architecture models, and how goals get fulfilled based on collected operational data. The above a research question has been formulated as whether it is possible to derive the knowledge drivers from the enterprise data, which represent the running operation of the enterprise, or in other words, is it possible to use the available data in the enterprise repository to generate the knowledge drivers? . In Chapter 2, review of literature that can provide the necessary background knowledge to explore the above research question has been presented. Chapter 3 presents how process semantics can be mined. Chapter 4 suggest a way to extract a requirements model. The Chapter 5 presents a way to discover the underlying enterprise architecture and Chapter 6 presents a way to mine how goals get orchestrated. Overall finding have been discussed in Chapter 7 to derive some conclusions

    Continuous assessment of software traceability

    Get PDF
    Traceability is a critical element of any rigorous software development process. It is required by numerous software lifecycle activities such as, for example, safety analysis, change impact analysis, coverage analysis, and compliance verification. Safety guidelines such as ISO 61508 and its domain specific derivatives explicitly require the implementation of software traceability. Although the crucial importance of traceability is commonly acknowledged, software development projects rarely follow explicit traceability strategies. Traceability is rarely planned or systematically created but should rather be regarded as a desultory ad-hoc effort. In result, existing traces are potentially of dubious quality but serve as the foundation for high impact development decisions. To ensure that traceability is trustworthy, the fitness for purpose of a project’s traceability implementation must be thoroughly ascertained, especially within the context of safety-critical software. Assessing the fitness for purpose is an intricate problem for several reasons. Depending on the project specific traceability goals, different ways of traceability are applied within multiple projects. The development of safety-critical software is subject to different regulations with diverse provisions that need to be regarded. This thesis will present an approach to systematically assess the fitness for purpose of a project’s traceability implementation, comprising two parts. The first part supports the planning of purposed traceability, which is a prerequisite for the traceability assessment. Based on the planning results, the second part supports the actual assessments. It defines an analytical traceability assessment model. This model provides a comprehensive classification of possible traceability problems and defines assessment criteria to systematically detect these problems. The results of a traceability expert survey suggest that proposed traceability problem classification is complete and defines relevant assessment criteria. The proposed assessment approach was applied in two studies. The study results indicate that the proposed assessment provides support for multiple purposes. It can be used in order to determine the feasibility of important software lifecycle activities and the cost effectiveness of a project’s traceability implementation. Safety-critical software projects can be supported with their safety argument. The compliance of projects’ traceability implementations to safety guidelines can be determined.Die Nachvollziehbarkeit von Anforderungen ist wichtiges Qualitätsmerkmal der Softwareentwicklung. Für eine Vielzahl von Softwareentwicklungsaktivitäten ist die Nachvollziehbarkeit von Anforderungen eine notwenige Voraussetzung. Dazu gehören unter anderem die Analyse funktionaler Sicherheit, die Einflussanalyse, die Analyse des Abdeckungsgrades oder die Compliance. Für die Entwicklung sicherheitskritischer Softwaresysteme ist dieses Qualitätsmerkmal von besonderer Bedeutung. Daher wird dieses von entsprechenden Richtlinien zur Entwicklung sicherheitskritischer Software explizit vorgeschrieben. Obwohl die Relevanz der Nachvollziehbarkeit in Softwareprojekten allgemein bekannt ist, findet nur in wenigen Fällen eine systematische Planung zur Erreichung dieses Qualitätsmerkmals Anwendung. Häufig wird Nachvollziehbarkeit erst nachträglich umgesetzt. Daraus resultieren oft unvollständige Implementierungen der Nachvollziehbarkeit, die trotzdem als Grundlage für schwerwiegende Entscheidungen herangezogen werden. Aus diesem Grunde sollten die entsprechenden Implementierungen einer eingehenden Prüfung unterzogen werden, besonders im Rahmen der Entwicklung sicherheitskritischer Systeme. Dazu ist jedoch eine Vielzahl von Herausforderungen zu meistern. Zum einen hängt die Nachvollziehbarkeit von den projektspezifischen Zielen ab. Bei sicherheitskritischen Systemen müssen oft Vorgaben aus Richtlinien erfüllt werden. Auch die Nutzung der Nachvollziehbarkeit ist sehr stark von den jeweiligen Zielen abhängig. In dieser Arbeit wird ein Ansatz zur systematischen Prüfung von Softwareprojekten im Hinblick auf deren Nachvollziehbarkeit der Anforderungen vorgeschlagen. Eine notwendige Voraussetzung für den Prüfansatz ist die präzise Planung und Definition der Nachvollziehbarkeit von Anforderungen in einem Softwareprojekt. Daher wird im Rahmen dieser Arbeit ein entsprechender Planungsansatz präsentiert. Weiterhin wird ein analytisches Modell zur systematischen Prüfung der Nachvollziehbarkeit in Softwareprojekten präsentiert. Dieses Modell umfasst eine vollständige Klassifikation möglicher Fehlertypen. Außerdem werden Kriterien zur systematischen Erkennung dieser Fehler vorgeschlagen. Die Ergebnisse einer Expertenbefragung bestätigen die Vollständigkeit des analytischen Prüfmodells. Zudem wurde der vorgeschlagene Ansatz zur systematischen Prüfung der Nachvollziehbarkeit von Anforderungen in zwei Studien evaluiert. Dabei konnte der Nutzen des Ansatzes für die Entwicklung von sicherheitskritischer und nicht sicherheitskritischer Software nachgewiesen werden

    Using requirements and design information to predict volatility in software development

    Get PDF
    We hypothesise that data about the requirements and design stages of a software development project can be used to make predictions about the subsequent number of development changes that software components will experience. This would allow managers to concentrate time-consuming efforts (such as traceability and staff training) to a few at-risk, cost-effective areas, and may also allow predictions to be made at an earlier stage than is possible using traditional metrics, such as lines of code. Previous researchers have studied links between change-proneness and metrics such as measures of inheritance, size and code coupling. We extend these studies by including measures of requirements and design activity as well. Firstly we develop structures to model the requirements and design processes, and then propose some new metrics based on these models. The structures are populated using data from a case study project and analysed alongside existing complexity metrics to ascertain whether change-proneness can be predicted. Finally we examine whether combining these metrics with existing metrics improves our ability to make predictions about change-proneness. First results show that our metrics can be linked to the quantity of change experienced by components in a software development project (potentially allowing predictions to take place earlier than before) but that best results are obtained by combining existing complexity metrics such as size, or combining existing metrics with our newer metrics.EThOS - Electronic Theses Online ServiceBAE Systems : Engineering and Physical Sciences Research CouncilGBUnited Kingdo

    New models and patterns for traceability

    Get PDF
    Includes bibliographical references.Traceability is a critical software engineering practice that manages activities across the product development lifecycle. It is the discipline of getting an entire organisation to work together to build better quality products. Traceability is also about relationships between traceability items, the management of change and requires good communication between personnel on matters that impact the system in any way. At the start of the 21st Century it is evident that there was a proliferation in new traceability research promoting techniques from a number of emerging research communities. However, some researchers still report that there are still many problems, in particular the lack of empirical data from small, medium and large organisations. In this study we address this shortcoming by performing two empirical studies. Firstly, we carry out a four year case study investigating traceability in a large multinational that develops complex enterprise systems. Ericsson's is a world leader in the development of large telecom's systems and is renowned for their mature development processes, tools and highly skilled staff. We examine the state of the art at Ericsson and the factors that influence traceability, paying particular attention to how these factors change during the study and the impact that these changes have on the traceability practices. Secondly, we execute an industrial survey across nineteen corporations to further our understanding of traceability in small and medium sized organisations. Using this empirical data as the major design inputs, we design and test a Traceability Framework consisting of three solution components namely, a TRAceability Model (TRAM), a TRAceability Process (TRAP) and Traceability Patterns. The TRAceability Model (TRAM) consists of semantic models, designed using a layered approach, with each layer presenting traceability semantics from different user perspectives. The TRAceability Process (TRAP) consists of process models also utilising a layered approach but in this case capturing process elements that can be used in the creation of a traceability process in a variety of different contexts. At the lowest layer the models represent the actual traceability situation in a project at Ericsson. While patterns are a widely accepted method for describing best practices and recurring problems in many aspects of software development, they have not been applied to the field of traceability. Structural patterns emerged from the semantic and process models. Furthermore, we utilise a pre-defined pattern template for formalising the findings of the empirical data and communicating the outcomes to different users. The three components together promote better communication, reusability and understandability of traceability concepts and practices

    Tailoring Traceability Information to Business Needs

    No full text

    Tailoring Traceability Information to Business Needs

    Get PDF
    corecore