TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Traceability TDT 4242 Institutt for datateknikk og informasjonsvitenskap.

Slides:



Advertisements
Similar presentations
Model-Based Testing with Smartesting Jean-Pierre Schoch Sogetis Second Testing Academy 29 April 2009.
Advertisements

A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Traceability Requirements Management2 Traceability Systems Engineering STD.
SDMX in the Vietnam Ministry of Planning and Investment - A Data Model to Manage Metadata and Data ETV2 Component 5 – Facilitating better decision-making.
Design by Contract.
Modular and Verified Automatic Program Repair Francesco Logozzo, Thomas Ball RiSE - Microsoft Research Redmond.
Data Mining Methodology 1. Why have a Methodology  Don’t want to learn things that aren’t true May not represent any underlying reality ○ Spurious correlation.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Chapter 4 Quality Assurance in Context
Evaluating Requirements. Outline Brief Review Stakeholder Review Requirements Analysis Summary Activity 1.
Benjamin J. Deaver Advisor – Dr. LiGuo Huang Department of Computer Science and Engineering Southern Methodist University.
July 11 th, 2005 Software Engineering with Reusable Components RiSE’s Seminars Sametinger’s book :: Chapters 16, 17 and 18 Fred Durão.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Requirement Engineering – A Roadmap
Overview of Software Requirements
Introduction to Software Testing
Regression testing Tor Stållhane. What is regression testing – 1 Regression testing is testing done to check that a system update does not re- introduce.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
This chapter is extracted from Sommerville’s slides. Text book chapter
Chapter : Software Process
Complete and Integrated Lifecycle Management. Challenges 1.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
TDT 4242 Inah Omoronyia and Tor Stålhane Guided Natural Language and Requirement Boilerplates TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
Reverse Engineering State Machines by Interactive Grammar Inference Neil Walkinshaw, Kirill Bogdanov, Mike Holcombe, Sarah Salahuddin.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
SWE 316: Software Design and Architecture – Dr. Khalid Aljasser Objectives Lecture 11 : Frameworks SWE 316: Software Design and Architecture  To understand.
Rational Unified Process Fundamentals Module 4: Disciplines II.
ITEC224 Database Programming
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Identify steps for understanding and solving the
TDT 4242 Inah Omoronyia and Tor Stålhane Guided Natural Language and Requirement Boilerplates TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
1 Chapter 5 Software Engineering Practice. 2 What is “Practice”? Practice is a broad array of concepts, principles, methods, and tools that you must consider.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Coming up: Software Engineering: A Practitioner’s Approach, 6/e Chapter 5 Practice: A Generic View copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Intent Specification Intent Specification is used in SpecTRM
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
SE: CHAPTER 7 Writing The Program
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
1 Introduction to Software Engineering Lecture 1.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Design Process
 Dr. Syed Noman Hasany.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing and.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Requirements Engineering
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
Smart Home Technologies
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
® IBM Software Group © 2009 IBM Corporation Essentials of Modeling with the IBM Rational Software Architect, V7.5 Module 15: Traceability and Static Analysis.
Evaluating Requirements
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Traceability TDT 4242 Institutt for datateknikk og informasjonsvitenskap.
Introduction to Software Engineering 1. Software Engineering Failures – Complexity – Change 2. What is Software Engineering? – Using engineering approaches.
The Development Process of Web Applications
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
Complexity Time: 2 Hours.
Software Requirements analysis & specifications
Model-Driven Analysis Frameworks for Embedded Systems
Lecture Software Process Definition and Management Chapter 3: Descriptive Process Models Dr. Jürgen Münch Fall
Object-Oriented Systems Development Life Cycle (CH-3)
Regression testing Tor Stållhane.
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Test Cases, Test Suites and Test Case management systems
From Use Cases to Implementation
Presentation transcript:

TDT 4242 Inah Omoronyia and Tor Stålhane Requirements Traceability TDT 4242 Institutt for datateknikk og informasjonsvitenskap

TDT 4242 What is requirements traceability “Requirements traceability refers to the ability to describe and follow the life of a requirement, in both a forwards and backwards direction, i.e. from its origins, through its development and specification, to its subsequent deployment and use, and through periods of on-going refinement and iteration in any of these phases.” Gotel and Finkelstein

TDT 4242 Traceability Goals - 1 Project Management –Status: “When will we finish?” and “what will it cost?” –Quality: “How close are we to our requirements?” QA manager –Improve Quality: “What can we do better?” Change Management –Versioning, documentation of changes (Why? What? When?) –Change Impact analysis Reuse –Variants and product families –Requirements can be targeted for reuse

TDT 4242 Traceability Goals – 2 Validation –finding and removing conflicts between requirements –completeness of requirements derived requirements cover higher level requirements each requirement is covered by part of the product Verification –assure that all requirements are fulfilled System Inspection –identify alternatives and compromises Certification/Audits –proof of being compliant to standards

TDT 4242 Habitat of Traceability Links – 1

TDT 4242 Habitat of Traceability Links – 2 Pre- vs. Post-Requirements Specification

TDT 4242 Challenges of traceability – 1 – Traces have to be identified and recorded among numerous, heterogeneous entity instances (document, models, code,... ). It is challenging to create meaningful relationships in such a complex context. – Traces are in a constant state of flux since they may change whenever requirements or other development artefacts change.

TDT 4242 Challenges of traceability – 2 – A variety of tool support based on traceability matrix, hyperlink, tags and identifiers. still manual with little automation – Incomplete trace information is a reality due to complex trace acquisition and maintenance. – Trust is a big issue: lack of quality attribute There is no use of the information that 70% of trace links are accurate without knowing which of the links forms the 70%

TDT 4242 Challenges of traceability – 3 Different stakeholders usage viewpoint (different questions asked by different stakeholders): QA management: – “how close are we to our requirements” and “what can we do better” to improve quality. Change management – Tracking down the effect of each change to each involved component that might require adaptations to the change, recertification or just retesting to proof functionality. Reuse: – Pointing out those aspects of a reused component that need to be adapted to the new system requirements. – Even the requirements themselves can be targeted for reuse.

TDT 4242 Challenges of traceability – 4 Different stakeholders usage viewpoint (different questions asked by different stakeholders): Validation: – Tracability can be used as a pointer to the quality of requirements: Completeness, ambiguity, correctness/noise, inconsistency, forward referencing, opacity – Ensures that every requirement has been targeted by at least one part of the product Verification – Checking that constraints are not violated (in most cases this is an extension of validation context) Certification/Audit Testing, maintenance (reverse engineering)

TDT 4242 Traceability meta-models – 1 A model is an abstraction of phenomena in the real world; a meta model is yet another abstraction, highlighting properties of the model itself. Meta-models for traceability are often used as the basis for the traceability methodologies and frameworks: – Define what type of artefacts should be traced. – Define what type of relations could be established between these artefacts. Traceability Meta Model

TDT 4242 Traceability meta-models – 2 Low-end traceability

TDT 4242 High-end traceability

Traceability meta-models – 3 European EMPRESS project: Meta model for requirements traceability

Traceability meta-models – 4 PRECISE Meta-model (SINTEF)

Approaches to traceability Creating trace links: – Critical tasks in requirements traceability: establish links between requirements and between requirements and other artefacts. – Manual linking and maintaining of such links is time consuming and error prone – Focus is on requirements traceability through (semi-)automatic link generation.

Manual trace links – 1 This is the classical traceability methods and the simplest form of traceability. In this approach, we create a requirements traceability matrices using a hypertext or table cross referencing scheme, often using Excel Two problems Long-term difficulty of maintaining a large numbers of links. The static nature of the links (lack of attributes) limit the scope of potential automation.

Manual trace links – 2

Scenario driven traceability – 1 Test-based approach to uncover relations amongst requirements, design and code artifacts (Alexander Egyed ) Accomplished by observing the runtime behavior of test scenarios. IBM Rational PureCoverage, open source tool (org.jmonde.debug.Trace) Translate this behavior into a graph structure to indicate commonalities among entities associated with the behavior

Scenario driven traceability – 2 The method to achieve traceablity uses the idea of “footprint”. When we are dealing with traceability, a footprint contains two types of information: The set of classes that were executed when we were testing a specific scenario. The number of methods that were executed in each class.

Footprints – 1 E.g. scenario A uses 10 methods in class CAboutDlg and 3 methods in Csettings Dlg

Footprints – 2 Only classes are registered – e.g scenario [s3] uses classes C, J, R and U

Footprints – 3 Some problems: There might be scenarios that do not cover any requirement – e.g. [s3] There are scenarios that belong to several requirements, e.g. [s9] Such scenarios will get separate rows in the trace matrix and will be marked with an F (Fixed) or a P (Probable), depending on how sure we are that a certain class belongs to this scenario.

Footprints – 4 Based on the footprint table, we can make a requirements-to-class trace table

Footprints – 5 Each test scenario will leave a footprint. If we make one test scenario per requirement, then we get one footprint per requirement. We can make the footprints more fine grained and thus get more information by using methods or code chunks instead for classes. This will require more work but also more – better – traceability information.

Development footprints - 1 A solution that enables the project to construct traceability information during development has been suggested by I. Omoronyia et al. The method requires that each developer Always identifies which requirement – e.g. use case – he is currently working on Only works at one use case at a time

Development footprints - 2 The result will be similar to the scenario testing footprint table. The resulting table will show which documents, classes etc. have been accessed during work on this particular requirement – e.g. use case. Main problem: “false” accesses – e.g. a developer looks at some of the code of another requirement for info.

Development footprints - 3 We can extract more info from the development process in order to understand better what has been going on in the project. The next slides shows Types of access: C – Create, U – Update and V – View Timeline – e.g. date or time Person – who did what and, more important, who will have expertise on what? Each line in the table will show

Development footprints - 4

Scenario driven traceability – 3 Problems: – Semi-automated but requires a large amount of time from system engineers to iteratively identify a subset of test scenarios and how they related to requirement artifacts. – Requirements that are not related due to non matching execution paths might be related in some other form (e.g calling, data dependency, implementation pattern similarity, etc).

Trace by tagging – 1 This method is easy to understand and simple to implement. The problem is that it depends on heavy human intervention. The principle is as follows: Each requirement is given a tag, either manually or by the tool. Each document, code chunk, etc. are marked with a tag which tells which requirement it belongs to

Trace by tagging – 2

Trace by tagging – 3 There are several ways to create tags, e.g.: Single level tags – e.g. R4. This gives a standard trace matrix Multilevel tags – e.g. R4, R4.1 and R4.2 where R4 is the top level requirement and R4.1 and R4.2 are sub-requirements. This gives us more detailed trace information

Trace by tagging – 4 The quality of traceability through tagging will depend on that we remember to tag all relevant documents. It is possible to check automatically that all documents in the project database is tagged. It is, however, not possible to check that this tagging is correct.

Conclusion Requirements traceability is an important aspect of requirements management Stakeholders have different traceability information needs Traceability can be complex for not trivial projects Traceability meta-models provide insight on the type of traceability information required for a project There exist several automated approaches for requirements traceability. The strength is in a synergy of different automated approaches