Software Requirements Traceability PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document explores traceability in software requirements, detailing its importance, types (forward and backward), and best practices. It also discusses the use of requirements traceability matrices (RTMs) for efficiency, impact analysis, and regulation compliance in software development projects.
Full Transcript
TRACEABILITY IN SOFTWARE REQUIREMENTS TRACEABILITY IN SOFTWARE ENGINEERING Traceability in software engineering describes the extent to which documentation or code can be traced back to its point of origin. The goal of traceability is to provide better quality and consistency of...
TRACEABILITY IN SOFTWARE REQUIREMENTS TRACEABILITY IN SOFTWARE ENGINEERING Traceability in software engineering describes the extent to which documentation or code can be traced back to its point of origin. The goal of traceability is to provide better quality and consistency of product development. Without it, it is difficult to maintain consistency from early user requirements to the final phase of tested and delivered products. 3 TRACEABILITY IN SOFTWARE ENGINEERING Note that In complex system industries like aerospace or defense, traceability is often a legal constraint to prove standard compliance of deliverables from stakeholder requirements to the qualified products. By formally recording the relationships between all elements in the engineering process, we can identify the impact a change in one element will have across the entire project. This impact analysis immediately identifies which parts of the architecture, design, tests, or software need to be changed in order to adapt to a requested change. 4 TRACEABILITY IN SOFTWARE ENGINEERING Very often a project is forced to retroactively, and manually, recreate traceability at the end of a project in order to deliver. This task requires engineers to stop all other engineering activities, or may even require hiring external bodies, to create Excel spreadsheets (or other documents) to capture the links across engineering artifacts and software. Not only does this make the engineering team less effective and responsive rather than proactive, but it typically results in unexpected supplementary expenses. Traceability allows teams to benefit from early impact analysis. 5 TRACEABILITY IN SOFTWARE ENGINEERING 6 REQUIREMENTS TRACEABILITY Requirement traceability is a tool used in project management of software development projects to keep track of requirements and make sure all components have similar quality and adequate testing. If a component has requirement traceability, the software engineer can follow the life of that requirement from the original client requirement or legal regulation to the written code section to the tests that are used to make sure it's effective. 7 REQUIREMENTS TRACEABILITY There are two types of requirements traceability: The forward trace: This is the process of verifying that requirements correspond to system components, design elements and other deliverables. The backward trace: This is the process of verifying why certain features were included to the system. 8 REQUIREMENTS TRACEABILITY Note that: A requirement that has one of these might be referred to as having forward traceability or backward traceability, while a requirement with full traceability has end-to-end traceability. 9 A REQUIREMENTS TRACEABILITY MATRIX Requirements traceability often takes the physical form of a Requirements Traceability Matrix (RTM), which is a manual spreadsheet or table that demonstrates the interconnections between requirements and business needs, other requirements, and/or deliverables. 10 SAMPLE TRACEABILITY MATRIX 11 A REQUIREMENTS TRACEABILITY MATRIX Notes: The matrix method is commonly considered to be appropriate only for smaller projects. Each time a requirements document is updated, the matrix must be reviewed as well. Requirements matrices are quite useful for many organizations and analysts, depending on the size of the project and the level of granularity needed. You can use a spreadsheet to maintain traceability data for up to a couple hundred requirements, but larger systems demand a more robust solution. 12 BENEFITS OF REQUIREMENTS TRACEABILITY Efficiency With a requirement tracing procedure, you can save yourself time by tracking requirements in the same place so that you can reference that information whenever you need it. Isolated component testing An RTM shows what code and design components correspond to specific requirements, so that developers can test only those requirements or sections to understand whether they work. 13 BENEFITS OF REQUIREMENTS TRACEABILITY Easier impact analysis If you find challenges or mistakes, you can more easily see which other parts of the project they are connected to. Regulation compliance documentation If your project is subject to regulation or company policy, tracing the requirements can help you work toward meeting all regulations. In some industries, there are legal requirements for recording requirement traceability during production and reporting the results to ensure that products like cars, industrial equipment, planes and other powerful machinery have well-tested and safe software. 14 BENEFITS OF REQUIREMENTS TRACEABILITY Better team communication RTM can help your team collaborate more effectively by updating everyone about what has been done and what has yet to be done. If you have separate development and quality assurance departments, an RTM can be critical in showing QA what tests need to be run and allowing the developers to locate and fix problems QA identifies. 15 CHARACTERISTICS OF QUALITY TRACEABILITY Origin Points: Who proposed specific requirements? When were they implemented? Key Associations: How are requirements interrelated? How does changing or adding code impact overall software functionality? 16 CHARACTERISTICS OF QUALITY TRACEABILITY Forward and Back: In practice, this means that existing requirements tie back to preceding requirements, effectively creating a "chain" to origin points, while also ensuring previous requirements "fall forward" to describe next-in-line requirements. Technical Specificity: In addition to basic descriptions, quality traceability solutions must include connections to relevant code sections, their location, and any critical testing performed. 17 CHARACTERISTICS OF QUALITY TRACEABILITY Auditability: Ultimately, traceability must provide assurances that stakeholder expectations have been met and that no unspecified features have been added to end results. 18 REQUIREMENTS TRACEABILITY AUTOMATION Many types of requirements management software have the function of automated requirements traceability. For large projects, automated traceability is likely to provide a level of efficiency that manual matrices cannot. Some automated traceability applications offer rather simple techniques, such as displaying a table alongside a text document or diagram that shows which requirements link to which test cases, but not allowing these relationships to be viewed in any dynamic way. 19 REQUIREMENTS TRACEABILITY AUTOMATION Other applications offer more sophisticated traceability techniques, such as allowing the analyst to create quick diagrams linking various requirements together (with arrows to show forward and backward traceability). The system then reads this diagram and automatically embeds links between related requirements within a rich text document. With one click, these relationships can also be viewed in a tree structure, displaying all of the requirements. 20 REQUIREMENTS TRACEABILITY BEST PRACTICES Unique identifiers must be adopted for requirements and business rules: To permit traceability, each requirement must be uniquely labeled so that you can refer to it unambiguously through the project. A responsible party must take ownership of traceability: Whether using a manual method or an automated tool, a knowledgeable analyst must take ownership of the traceability process. Gathering and managing requirements traceability data must be made the explicit responsibility of certain. 21 REQUIREMENTS TRACEABILITY BEST PRACTICES The analyst must practice consistency in updates: Whenever any changes occur, it is necessary to update the traceability data to reflect these changes. This requires discipline on the part of those making the change to update the traceability data. When tracing all requirements is simply time-prohibitive, the analyst may be selective based on cost: One method of dealing with the high cost of traceability is to practice value-based requirement tracing instead of full tracing. This can save a significant amount of effort by focusing traceability activities on the most important requirements. 22 REQUIREMENTS TRACEABILITY BEST PRACTICES An organization must adopt consistent practices in requirements management, including traceability: Perhaps the best way to deal with the problem of different stakeholder viewpoints on traceability is to create an organizational policy on traceability to apply uniformly to all projects. 23 HOW TO EFFECTIVELY TRACE REQUIREMENTS 1- Understand goals and choose format First, decide why you are making a requirements traceability matrix and what kind you might need. A bidirectional traceability matrix is the most common type, since it can show you the shape of your project from beginning to end. If you're working to understand which coding sections are linked to which requirements, you might need a forward tracing matrix. If you are working to understand how to make your project more efficient, a backward tracing matrix might help you understand which capabilities you really need to meet the original goals. 24 HOW TO EFFECTIVELY TRACE REQUIREMENTS 2- Decide on categories Once you know what kind of matrix you're going to build and why, you can select the appropriate categories to track. Every matrix will likely include a column for requirement names and unique identifiers, but you might also include some like these: Requirement position within functional design Code components that resolve the design Test procedure for that requirement Test results for that requirement Bugs found in testing that requirement 25 HOW TO EFFECTIVELY TRACE REQUIREMENTS 3- Create matrix: Next, create your matrix with a spreadsheet or requirements tracking program. You can usually set your categories at the top and then fill in all necessary information below. Be consistent when entering your data, especially the unique identifiers for the requirements, so that you can easily and accurately search for components if needed. 26 HOW TO EFFECTIVELY TRACE REQUIREMENTS 4- Update matrix: For your matrix to be useful as your team works on a project, it's important that the information on it is accurate when team members reference it. As you make progress testing components or adding or removing requirements, an updated matrix can show you the progress you've made and what you have left to do. 27 ANY QUESTIONS ?? THANK YOU