Documenting Requirements Traceability Information: A Case Study - Aalto

1y ago
8 Views
2 Downloads
713.15 KB
68 Pages
Last View : 10d ago
Last Download : 3m ago
Upload by : Allyson Cromer
Transcription

HELSINKI UNIVERSITY OF TECHNOLOGY Department of Computer Science and Engineering Virve Leino Documenting Requirements Traceability Information: A Case Study Master's thesis Supervisor: Professor Reijo Sulonen Instructor: M.Sc. Marjo Kauppinen

ii HELSINKI UNIVERSITY OF TECHNOLOGY ABSTRACT OF THE MASTER'S THESIS Author: Virve Leino Title: Documenting Requirements Traceability Information: A Case Study Date: 12.4.2001 Department: Department of Computer Science and Engineering Professorship: Tik-76 Supervisor: Professor Reijo Sulonen Instructor: M.Sc. Marjo Kauppinen, Helsinki University of Technology Number of pages: 54 The literature lists many benefits of requirements traceability and standards suggest that it should be practiced. However, available literature concentrates on industries developing complex and large systems with several thousands of requirements. Thus, the companies developing systems with only approximately a hundred requirements face the challenge to define what traceability information to document and how. The goals of this thesis were to introduce requirements traceability and to offer guidelines for documenting traceability information for these companies. The thesis is part of the QURE (Quality Through Requirement) project at Helsinki University of Technology. The thesis begins with an introduction of traceability classes, relations and benefits of documenting them. It also presents techniques and tools to document traceability information. The theory part ends with discussion of the costs and problems of practicing requirements traceability. The case study part of the thesis consists of an analysis of requirements traceability and good practices developed for documenting traceability information in a case company. In addition, improvement actions that were taken by the company are presented. The thesis ends with a discussion of the theoretical implications of the work, the most important of which is the observation that pre-traceability is the first that the target group companies could document and benefit from whereas there can be many problems in documenting post-traceability information.

iii TEKNILLINEN KORKEAKOULU DIPLOMITYÖN TIIVISTELMÄ Tekijä: Virve Leino Työn nimi: Vaatimusten jäljiettävyystiedon dokumentointi: Case-tutkimus Päivämäärä: 12.4.2001 Osasto: Tietotekniikan osasto Professuuri: Tik-76 Työn valvoja: Professori Reijo Sulonen Työn ohjaaja: DI Marjo Kauppinen, Teknillinen korkeakoulu Sivumäärä: 54 Vaatimusten jäljitettävyydellä on kirjallisuuden mukaan lukuisia etuja, ja standardit kehottavat dokumentoimaan jäljitettävyystietoa. Aiemmissa tutkimuksissa jäljitettävyyttä käsitellään kuitenkin pelkästään niiden alojen näkökulmasta, jotka kehittävät useiden tuhansien vaatimusten kokoisia järjestelmiä, ja siksi pienempiä kehittävät yritykset joutuvat itse selvittämään, mitä jäljitettävyystietoa niiden olisi hyödyllistä dokumentoida ja kuinka sen voisi tehdä. Tämän diplomityön tavoitteena oli esitellä vaatimusten jäljitettävyys ja tarjota ohjeita jäljitettävyystiedon dokumentointiin yrityksissä, jotka kehittävät noin sadan vaatimuksen kokoisia järjestelmiä. Työ on tehty Teknillisessä korkeakoulussa osana QURE (Quality Through Requirement) projektia. Työ alkaa jäljitettävyysluokkien, -relaatioiden ja jäljitettävyyden etujen esittelyllä. Tämän jälkeen käydään läpi tekniikat ja työkalut, joiden avulla tietoa voidaan dokumentoida. Teoriaosuuden loppussa pohditaan vaatimusten jäljitettävyyden kuluja ja mahdollisesti kohdattavia ongelmia. Case-tutkimus koostuu yhden yrityksen jäljitettävyystiedon tarpeen kartoittamisesta ja tiedon dokumentoimiseen kehitettyjen käytäntöjen esittelystä. Myös yrityksen jäljitettävyystiedon dokumentointiin liittyviä kehitystoimenpiteitä käsitellään. Diplomityö päättyy pohdintaan työn teoreettisista tuloksista. Työn tärkein havainto on, että esijäljitettävyys näyttää olevan tärkein jäljitettävyystieto, josta tämän työn kohderyhmänä olevat yritykset hyötyvät, mutta jälkijäljitettävyyden dokumentoimiselle on monia esteitä.

iv TABLE OF CONTENTS ABBREVIATIONS TERMINOLOGY PREFACE 1. INTRODUCTION . 1 1.1 1.2 1.3 1.4 2. REQUIREMENTS ENGINEERING AND TRACEABILITY. 1 BENEFITS OF REQUIREMENTS TRACEABILITY . 2 CHALLENGES IN DOCUMENTING TRACEABILITY INFORMATION . 3 BACKGROUND, GOALS AND STRUCTURE OF THE THESIS . 4 TRACEABILITY INFORMATION . 6 2.1 TRACEABILITY CLASSES . 6 2.1.1 Pre- and Post-Traceability . 6 2.1.2 Forward and Backward Traceability . 7 2.2 TRACEABILITY RELATIONS . 8 2.2.1 Requirement-Source Traceability. 9 2.2.2 Requirement-Rationale Traceability . 9 2.2.3 Requirement-People Traceability. 10 2.2.4 Requirement-Requirement Traceability. 10 2.2.5 Requirement-Component Traceability. 12 2.2.6 Requirement-Verification Traceability. 13 3. TECHNIQUES AND TOOLS . 14 3.1 3.2 3.3 3.4 3.5 3.6 4. IDENTIFIER TECHNIQUE . 14 ATTRIBUTE TECHNIQUE . 16 LIST TECHNIQUE . 18 TABLE TECHNIQUE . 18 GENERAL-PURPOSE TOOLS . 19 REQUIREMENTS MANAGEMENT TOOLS . 20 DEVELOPING TRACEABILITY PRACTICES . 23 4.1 FACTORS AFFECTING THE NEED FOR TRACEABILITY . 23

v 4.2 COSTS . 25 4.3 PROBLEMS . 25 4.4 TASKS TO DEVELOP AND IMPLEMENT TRACEABILITY PRACTICES . 26 5. CASE STUDY: DOCUMENTING TRACEABILITY . 29 5.1 ANALYZING COMPANY'S NEED FOR REQUIREMENTS TRACEABILITY . 29 5.2 PROJECTS AND INTERVIEWEES FOR ASSESSMENT . 30 5.3 ASSESSMENT RESULTS . 30 5.3.1 Requirement-Source/People Traceability. 31 5.3.2 Requirement-Rationale Traceability . 32 5.3.3 Requirement-Requirement Traceability. 34 5.3.4 Requirement-Component Traceability. 35 5.3.5 Requirement-Verification Traceability. 37 5.4 SUMMARY OF RESULTS. 39 5.4.1 Need for Traceability Information. 39 5.4.2 Techniques and Tools to Document Traceability Information . 40 5.4.3 Reasons for Documenting Traceability Information. 41 5.5 GOOD PRACTICES TO DOCUMENT TRACEABILITY INFORMATION . 43 5.5.1 Requirement-Source/People Traceability. 43 5.5.2 Requirement-Rationale Traceability . 44 5.5.3 Requirement-Component Traceability. 45 5.5.4 Requirement-Verification Traceability. 46 5.6 IMPROVEMENT ACTIONS TAKEN . 46 6. CONCLUSIONS. 48 7. REFERENCES . 51 APPENDIX 1: INTERVIEW OF PRACTITIONERS

vi ABBREVIATIONS CMM Capability Maturity Model DoD Department of Defense IEEE Institute of Electrical and Electronics Engineering QURE Quality Through Requirements (the project this thesis was written in) RE Requirement Engineering RM Requirements Management RS Requirements Specification RT Requirements Traceability SEI Software Engineering Institute

vii TERMINOLOGY Backward traceability Traceability belongs to the backward traceability class if system process artifacts can be traced to the requirement or if the requirement can be traced to its origins [5, 14, 17]. Forward traceability Traceability belongs to the forward traceability class if either the origin can be traced to the requirement or the requirement to those system process artifacts that have been affected by it [5, 14, 17]. Small systems Used in this thesis to refer to systems with approximately a hundred requirements. General-purpose tools General-purpose tools can be used for many purposes. Examples include spreadsheet programs, word processors and hypertext editors. Post-traceability Traceability class concerned with those aspects of a requirement’s life that result from its inclusion in the requirements document [10]. Pre-traceability Traceability class concerned with those aspects of a requirement’s life that are prior to its inclusion in the requirements document [10]. Requirements analysis and negotiation Analysis and negotiation form the process of establishing an agreed set of requirements and discovering requirements conflicts and missing, ambiguous, overlapping, and unrealistic requirements [18]. Requirements definition Definition is part of the RE -process. It includes requirements elicitation, analysis, negotiation, documentation and validation tasks [5]. Requirements document A requirements document is an official statement of the system requirements for customers, users, and developers [18].

viii Requirements elicitation Requirements elicitation is the process of discovering the requirements through consultation with stakeholders, from existing documents, domain knowledge, and market studies [18]. Requirements engineering Requirements engineering is the process of deriving, validating, and maintaining requirements, usually stored in system requirements document [4]. Requirements management (RM) Management is part of the RE -process. It includes maintaining requirements with related information and managing their changes [3]. Requirements management tools are sophisticated tools inRequirements management tool (RM- tended to help in requirements engineering activities. tool) Requirements specification (RS) See requirements document. Requirements traceability (RT) A requirement is traceable if one can discover who suggested the requirement, why the requirement exists, which requirements are related to it and how it relates to other information such as system designs, implementation, and documentation [5]. Requirements validation Validation is the process of checking the requirements for omissions, conflicts and ambiguities and for ensuring that the requirements follow quality standards [18]. Stakeholder Systems stakeholders are people affected by the system with a direct or indirect influence on system requirements [18]. System process artifacts Outputs of system engineering process. Examples include systems designs, components, verification cases and documents.

PREFACE I was hired by the QURE (Quality Through Requirements) project at Helsinki University of Technology to do my master's thesis about requirements traceability in September 1999. Since then the project has provided me with a possibility to learn about software business and requirement engineering related issues with experienced fellow workers. In addition, the project has granted me a lot of time with little interference from other work to write this thesis. First of all, I would like to thank the instructor for the thesis, Marjo Kauppinen, who has taken her time to read my writings from the first plan to the final version of this thesis. She has provided me with much-needed feedback, new ideas, and encouragement, when needed. Her expertise has contributed a lot to the quality of the work and to my learning about requirements engineering and scientific writing. In addition, I would like to thank all parties involved in QURE: the project team, industrial partners, TEKES for funding the project, and Professor Reijo Sulonen, my supervisor, for his valuable comments. Last, I thank my love Markku for improving the written English and my parents for their support throughout my studies. Helsinki, April 12th, 2001 Virve Leino

1 1. INTRODUCTION 1.1 Requirements Engineering and Traceability Many companies agree that requirements engineering (RE) is vital to the success of an entire project [1]. It has great economic importance because a change in a requirement during system testing can cost as much as 50 times more than during requirements analysis, according to Pohl [2]. However, RE is frequently wrongly perceived as unproductive work and thus insufficient time and resources are allocated to it [3]. Requirements Engineering (RE) "Requirements engineering includes a structured set of activities which are followed to derive, validate and maintain requirements, usually stored in system requirements document [4]" Definition 1. Requirements Engineering. Requirements engineering consists of two parts: requirements definition and requirements management [5]. Requirements definition includes requirements elicitation, analysis, negotiation, documentation, and validation tasks [5]. It is frequently described as one of the first phases in process models whereas the requirements management spans the whole life cycle of a system [3]. Requirements management consists of maintaining requirements with related information and managing their changes [3]. Requirements definition System and software design Implementation and unit testing Integration and system testing Operation and maintenance Requirements management Figure 1. Requirements definition and management shown as a part of the waterfall model.

2 Requirements tracing is included in the requirements management component of RE. This is because requirements traceability is useful when managing requirements. For example, requirements traceability information can be used for identifying the requirements that must be updated. Requirements traceability is additionally beneficial in other activities that are discussed in the next section. Requirements Traceability (RT) “A requirement is traceable if you can discover who suggested the requirement, why the requirement exists, what requirements are related to it and how it relates to other information such as systems designs, implementation and documentation [5]”. Definition 2. Requirements traceability. 1.2 Benefits of Requirements Traceability The literature suggests many benefits that derive requirements traceability. Most frequently it is claimed to help in: Requirements change management by documenting the links between requirements and other system process artifacts [5, 6, 7, 8] Validation and reuse of requirements by documenting the source and reason for requirements existence [6, 8, 9] Understanding how and why the system meets the needs of the stakeholders by linking the requirement to design, implementation and verification artifacts [6, 7, 8, 9] Moreover, Pohl, Ramesh and Gotel state that RT decreases the loss of important information when people leave projects [9, 10], and Ramesh suggests that traceability has been an important concept in improving the system engineering processes [11]. He interviewed managers of a company at the SEI CMM level three who believed that the comprehensive RT an important part of achieving this rating [11]. Dömges and Pohl argue that the increasing use of commercial tracing environments reflects the fact that traceability is seen as a critical success factor [12]. Traceability can also play an important role in interpreting customer requirements, proving that the system does exactly what is wanted and creating subcontracts using RT information as a basis of them [9]. Many standards

3 suggest that RT should be practiced. IEEE (Institute of Electrical and Electronics Engineering) Guide for developing System Requirements Specifications lists traceability as one of the four properties that requirements should have [13] and IEEE Recommended Practice for Software Requirements Specifications recommends that the requirement should be traceable to its origin and facilitate future referencing [14]. U.S. DoD (Department of Defense) standard 2167A insists that a requirement should be traceable to the product baseline [15]. 1.3 Challenges in Documenting Traceability Information Ramesh and Edwards argue that it is general not to document RT information at all [9], and, according to Palmer, its quality and benefits vary even when documented [6] because the challenges for companies to practice RT are numerous. First, the term ‘requirements traceability’ has been unknown among system engineers and there does not exist a common definition for it in the literature [6]. Second, the full capture of all conceivable traces is neither desirable nor feasible when considering project time and cost [12]. Thus the number and type of requirements traces documented must be adapted to company specific needs. Third, there is no convincing evidence of the return of investment in traceability and last, the automated techniques, to assist in practicing RT, are expensive, not tailored to project specific needs, and inefficient in terms of effort spent and are thus not useful [6]. Particularly companies developing systems with approximately only a hundred requirements (henceforth companies developing small systems) face the challenge to define which traceability relations should be documented. This is because the literature and research concentrates on such fields as aerospace, electronics, and automobile industries, which develop complex and large systems [11]. Ramesh and Jarke were the first to make the distinction between these and industries developing smaller systems in 1998. They interviewed practitioners from 26 companies and realized that 17 companies, which developed systems with approximately 10 000 requirements, had different traceability needs than those 9 companies that developed systems with approximately 1 000 requirements [16]. However, there are no studies of RT in companies developing small systems.

4 1.4 Background, Goals and Structure of the Thesis This master's thesis is a part of a research project called QURE (Quality Through Requirements), which is a three-year project started in 1999. The project is funded by TEKES (the Finnish National Technology Agency) and six industrial partners, and its goal is to research and develop requirements engineering models, methods and practices. The project employs five researches and focuses on five requirement engineering areas, one of which is requirements traceability. The goals of the thesis are to introduce requirements traceability and to offer guidelines for documenting RT information. Target group companies develop small systems (i.e. systems with approximately only a hundred requirements) and do not have organization wide traceability practices. The goals of the case study part are to analyze documenting traceability in a company and to develop good practices based on the results. The study is conducted in a company developing embedded systems. More detailed goals of this thesis are: Introduce traceability classes and relations Present techniques and tools for documenting traceability relations Discuss issues related to developing traceability practices Analyze documenting traceability in one company Develop good traceability practices for that company Chapter 2 introduces traceability classes and relations and presents the benefits that can be gained by documenting different RT relations. The goal is to give an insight into what RT information would be worth documenting and why. Chapter 3 presents techniques and tools for documenting traceability relations. Four documenting techniques and two classes of tools – general-purpose and requirements management tools – are introduced. In chapter 4, we discuss issues related to developing traceability practices. Firstly, the factors affecting the traceability needs are listed. Secondly, costs and problems that can be encountered when practicing RT are presented. Last, the tasks to develop and implement traceability practices for a company are discussed.

5 Chapter 5 consists of two parts: 1) analysis of traceability needs based on an assessment of documenting traceability relations as well as techniques and tools in the case company and 2) good traceability practices developed for that company. The assessment part studies documented traceability relations, tools, and techniques in order to find out which traceability relations would be worth documenting. The traceability practices were developed according to the assessment results and with the help of two practitioners from the case company. The last section of the chapter presents the improvement actions taken in the company to impose organization wide RT practices. Chapter 6 states theoretical implications of the thesis, assesses the work done, and suggests future direction for traceability research.

6 2. TRACEABILITY INFORMATION This chapter introduces four traceability classes referred to as pre-, post-, forward and backward traceability and six traceability relations known as requirement-source, requirement-rationale, requirement-people, requirement-requirement, requirementcomponent, and requirement-verification. The benefits gained by documenting each relation are presented to help identify those that it would be beneficial to document in different situations. 2.1 Traceability Classes 2.1.1 Pre- and Post-Traceability Gotel and Finkelstein were the first to use the terms pre- and post-traceability in 1994. They referred to them as pre-RS and post-RS traceability (RS refer to Requirements Specification). In 1996, Pohl shortened these terms to pre-traceability and post-traceability [7]. Pre-traceability is the ability to trace a requirement to its origins or the origins to the requirement. A requirement’s origins include rationale, i.e. the reason for the existence of the requirement, the stakeholders who have participated in requirement creation, sources such as standards, and other information that has affected the creation of the requirement. Gotel and Finkelstein define pre-RS traceability as follows: “Pre-RS traceability is concerned with those aspects of a requirement’s life that are prior to its inclusion in the Requirement Specification”[10] Post-traceability refers to the ability of tracing a requirement to the artifacts of the system process such as system designs, components, and verification cases that have been affected by the requirement. Furthermore, the ability to trace the system process artifacts to the requirement is called post-traceability. Gotel and Finkelstein define post-RS traceability as follows: “Post-RS traceability is concerned with those aspects of a requirement’s life that result from it inclusion in the Requirement Specification”[10]

7 Post-traceability Pre-traceability Origins of the requirements Requirements System process artifacts Causality Figure 2. Pre and post-traceability. Traceability between the first box representing the requirements' origins and the second box representing requirements is pre–traceability and it is shown as an arrow in figure 2. Post-traceability is shown as an arrow between the two boxes, which contain requirements and system process artifacts. In addition, the traceability between two or more requirements is classified as post-traceability, but it is not shown in the figure. 2.1.2 Forward and Backward Traceability The terms backward and forward traceability were first used by Davis in 1990. Traceability is forward, if either the origin can be traced to the requirement or the requirement to those system process artifacts that have been affected by it. It is backward, if system process artifacts are traceable to the requirement or if the requirement is traceable to its origins. [5, 14, 17] Forward traceability Origins of the requirements Requirements System process artifacts Backward traceability Causality Figure 3. Forward and backward traceability.

8 Pre-traceability is frequently backward traceability because the origins are generally nontangible. Post-traceability can be forward traceability, from a requirement to the system process artifacts or backward traceability, from an artifact to the requirements. 2.2 Traceability Relations The traceability relations that are introduced in this section are frequently mentioned in the literature as the most important and the first to be documented in projects [5, 10, 16, 18]. There is no agreement on definitions of traceability relations in the literature and thus the names used in this work are not standard but formed to be as understandable as possible. People 4 Components 3 5 Rationale Sources: Companies, Development environments, Standards 2 1 Requirements 6 Verification cases Causality Origins of the requirement Artifacts affected by the requirement Figure 4. The six traceability relations are 1) requirement-source, 2) requirement-rationale, 3) requirement-people, 4) requirement-requirement, 5) requirement-component, and 6) requirement-verification. Pre-traceability relations are 1) requirement-source, 2) requirement-rationale, and 3) requirement-people. The requirement-source and requirement-rationale relations in particular are commonly used in companies [10, 18]. According to a recent study,

9 companies particularly lacked the requirement-rationale information regardless of its importance [4]. Finkelstein states that the most useful pre-traceability information to document is the source and names of the people who have participated in the activities of the creation of the requirement [10]. The traceability relation that contains information about these people is referred to here as requirement-people. In addition, certain research has used the term extended pre-traceability. Extended pretraceability includes pieces of information such as video recordings of system use situations and interviews of system's stakeholders [19]. Additionally, contribution structures, which are models describing the dependencies between stakeholders, have been used to extend requirements pre-traceability [20, 21]. The three most frequently mentioned post-traceability relations in the literature are 4) requirement-requirement, 5) requirement-component, and 6) requirement-verification. These are the first post-traceability relations that are used in practice [16]. However, there are many further relations that have been classified as requirements post-traceability. These include traceability to technical documents, change requests, and system models, i.e. to process models, data-relation models, and data-flow models [16, 18]. 2.2.1 Requirement-Source Traceability The requirement-source traceability relation documents the source, which the requirement is based on [22]. The source can be, for example, a stakeholder, a standard, or some document [18]. The reason to document requirement-source traceability is that it is useful information in requirements validation, analysis, specification, and prioritization. It indicates if a requirement can be changed without the customers' agreement or if the requirement is valid to be reused [17]. Source information indicates the volatility of a requirement. This information is useful for designing system architectures that do not need redesign even if certain requirements change. 2.2.2 Requirement-Rationale Traceability The requirement-rationale traceability relation documents the reasons why the requirement exists. The rationale is also known as the purpose or reason for the requirement. [8, 22] Rationale information is useful for analyzing and checking if the set of requirements is valid and complete. The rationale allows the requirements to be prioritized, helps to

10 estimate the probability of their change, and is useful information when changing and reusing requirements. [17, 23] 2.2.3 Requirement-People Traceability The requiremen

Post-traceability Traceability class concerned with those aspects of a require-ment's life that result from its inclusion in the requirements document [10]. Pre-traceability Traceability class concerned with those aspects of a require-ment's life that are prior to its inclusion in the requirements document [10]. Requirements analysis and

Related Documents:

ISO 22005 is a specific standard for traceability in the food and feed chain. ISO 22005 adds that “Terms such as document traceability, computer traceability, or commercial traceability should be avoided.” For all these ISO definitions (ISO 8402, ISO 9000, ISO 22005), there

The majority of literature relating to food traceability focuses on using instruments and potential advantages of adopting a traceability system. There is a paucity of research related to the traceability of food served within a cruise ships' foodservice operations. Therefore, the purpose of this study is to explore food safety traceability

food supply chain traceability (e.g. Chen et al., 2008; Kelepouris, 2007; Peets et al., 2009). However, a recent review of food traceability trends and advances by Badia-Melis et al. (2015) suggests that current traceability systems in practice do not capture, link and share the food traceability data accurately and effectively. Notwithstanding the

introduction to RFID technology, overview the concept of traceability, and present several typical RFID traceability applications as powerful motivations for our work. In Sect. 3, we introduce a generic reference framework for traceability networks and examine fundamental traceability queries. In Sect. 4, we identify a set of essential

the national traceability vision that links specific goals and strategies with performance indicators Owning execution of traceability implementation plan deliverables including, but not limited to, market assessments, regulation execution, traceability model selection Validating that traceability strategy implementation is

back to the raw material sources. Eliminating Traceability Gaps Eliminating traceability gaps requires the seamless integration of quality management and traceability data with process automation and ERP into a single enterprise-wide solution. Meeting today's quality, traceability and food safety challenges demands a previously unprecedented .

The report reflects the views of the study team only. It does not necessarily reflect the views of Viet Nam, or any of the . traceability, which enables the sources of raw material to be identified; ii) process traceability, which enables the identify of raw material and process . traceability which relates to information the operation .

ALBERT WOODFOX CIVIL ACTION (DOC# 72148) VERSUS BURL CAIN, ET AL NO. 06-789-D-M2 MAGISTRATE JUDGE’S REPORT This matter is before the Court on the original and amended petitions for writ of habeas corpus (R. Doc. 1 and 12) filed by petitioner, Albert Woodfox (“Woodfox”). The State has filed an answer and a memorandum in support of answer (R. Docs. 21 and 22), to which Woodfox has filed a .