Transcription

2008-06-30TraceabilityEven small requirements errors can producebig problems !Content1. Traceability according to CMMI, IEEE andINCOSE Handbook2. Traceability3. Procedure4. Traceability Tools5. Quality Function Deployment (QFD) MethodSources: - IEC EN 50128 Software for Railway Control and Protection Systems- Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.- IEEE Std 1059, Guide for Verification and Validation Plans- Capability Maturity Model Integration, Software Engineering Institute, 2006- Systems Engineering Handbook, A “How To” Guide for All Engineers, 2007.6/30/2008International Council On Systems Engineering (INCOSE).21

2008-06-30Participants in the Requirements Process6/30/20083Participants in the Requirements ProcessWhat the customeractually wanted !6/30/200842

2008-06-30Traceability - Definitions Traceability– A discernable association among two or more logical entitiessuch as requirements, system elements, verifications, or tasks.(See also “bidirectional traceability” and “requirementstraceability.”) Requirements traceability– A discernable association between requirements and relatedrequirements, implementations, and verifications. Bidirectional traceability– An association among two or more logical entities that isdiscernable in either direction (i.e., to and from an entity).6/30/20085Traceability – IEEE –Std-10591. The ability to identify the relationships betweenoriginating requirements and their resulting systemfeatures.2. It permits tracking forward or backward through thenetwork of interrelationships that are created asrequirements are decomposed and refined throughout asystems life cycle. Traceability provides the thread that links one elementto another. When an element is traced to another, andthat element is traced on to another, a chain of causeand effect is formed.6/30/200863

2008-06-30Traceability – IEEE–Standard 1059 Traceability allows verification of the properties set forth inthe concept and that requirement specifications have been:1.2.3.4.–Carried forward to the design specificationsImplemented in the codeIncluded in the test plan and casesProvided to the customer and user in the resulting systemTraceability Analysis–––Each trace is analyzed for consistency, completeness, and correctnessto verify that all software requirements are implemented in thesoftware and are associated with the correct design, code, and testinformation.An analyst examines each trace path to ensure that the connectedpieces are the proper ones.Analyst has to understand the intent of requirements, design and otherdocuments.6/30/20087Traceability – IEEE –Std-1059 6/30/2008Traceability analysis is performed to assure that:1. Every requirement in the specification is identifiedcorrectly2. All traces are continuous from the prior phase throughthe current phase3. Forward and backward traces between adjoiningphases are consistent4. The combined forward traces originating from eachspecification, fully support that specification5. Each current specification or feature is fully supportedby traceable predecessor specifications84

2008-06-30Traceability Aim– To ensure that all requirements can be shown to have beenproperly met and that no untraceable material has beenintroduced.Description–Traceability to requirements shall be an importantconsideration in the validation of a system and means shallbe provided to allow this to be demonstrated throughout allphases of the lifecycle.Source: IEC EN 50128 Software for Railway Control and Protection Systems6/30/20089Traceability-Attributes1. The requirement identification number2. The source of the requirement Such as the customer's document paragraph number or theengineering report documenting the analysis that derived therequirement.3. The full text of the requirement4. For allocated or derived requirements, a pointer to therequirement from which it was derived, or "parent" requirement.5. A pointer to the next lower-level area that this requirement wasallocated to during the allocation process6. Verification method (e.g. test, demonstration, analysis,inspection/examination).7. The Test Plan name & number controlling the verification8. The Test Procedure name & number performing the verification9. The date and results of the final verification10. The name of the responsible engineer.6/30/2008Source: SYSTEMS ENGINEERING HANDBOOK, A “HOW TO” GUIDE For All Engineers, Version 2.0,10July 2000. International Council on Systems Engineering (INCOSE).5

2008-06-30Some key requirements traceability links.BusinessRequirementModifiesdrives specification ofSystem Requirement,Use Case, ExternalInterface Requirement,Quality attributesModifiesChangeRequestis origin ofModifiesSoftwareFunctionalRequirementModifiesis satisfied byis verifiedbyArchitecture, UserInterface, FunctionalDesignis verified s origin ofdependson anotherLeads tocreation ofProjectPlan Taskis implemented inCodeis verified byUnittestWiegers K., Software Requirements, Microsoft Press, 200311Requirements Traceability Matrix* Also called Proof of Compliance Matrix or Verification Matrix A column should be added to show that tests have been performed and successful6/30/2008Adapted from: Linda Westfall, Bidirectional Requirements Traceability, SQP, Dec 2007 126

2008-06-30Traceability MatrixVerification methods:Test, demonstration, analysis, inspection/examination.6/30/200813Four types of requirements traceability.CustomerNeedsforward torequirementsbackward fromrequirementsRequirementsforward fromrequirementsbackward torequirementsProductSource: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.6/30/2008147

2008-06-30Traceability in Standard EN 50128 Description2. Traceability shall be considered applicable to bothfunctional and non-functional requirements and shallparticularly address:1. Traceability of requirements to the design or other objectswhich fulfill them,2. Traceability of design objects to the implementation objectswhich instantiate them,3. Traceability of requirements and design objects to theoperational and maintenance objects required to be appliedin the safe and proper use of the system,4. Traceability of requirements, design, implementation,operation and maintenance objects, to the verification andtest plans and specifications which will determine theiracceptability,5. Traceability of verification and test plans and specificationsto the test or other reports which record the results of theirapplication.6/30/2008Source: IEC EN 50128 Software for Railway Control and Protection ionobjectsOperational andmaintenanceobjectsVerification, testplans,specificationsTest or otherreports6/30/2008168

2008-06-30Benefits of Implementing Traceability1.Certification -Verification 2.Change Impact Analysis 3.Traceability links help find all of the system elements that might haveto be modified if you change a particular requirement. Without traceability information, chances are high you’ll overlooksome of the side effects of adding, deleting, or modifying arequirement.Project Tracking 6/30/2008The traceability information can be used for certification in safetycritical applications ( e.g. avionics) To verify and demonstrate that all requirements were implemented.If you complete the requirements traceability matrix as developmenttakes place, you will have accurate insight into the implementationstatus of planned functionality. Empty space in the matrix indicates project deliverables that havenot yet been created.Adapted from: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.17Benefits of Implementing Traceability4. Testing 5.Reuse 6.Traceability information can facilitate the reuse of productcomponents By identifying packages of related requirements, designs, code,tests, and other artefacts.Risk Management and Reduction 6/30/2008Links between tests, requirements, and code point toward likely partsof the code to examine for a bug when a test fails to yield theintended resultDocumenting the information about system componentinterconnections reduces the risk associated with a key team memberleaving the company with essential information residing only in thatperson’s brain (Ambler 1999).Adapted from: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.189

2008-06-30Benefits of Implementing Traceability7.Reengineering If you don’t have complete requirements for the existingsystem. 8.Provide a way to capture some of what you learn throughreverse engineering.Identification of process improvements 6/30/2008You can list the functions in a legacy system you’re replacingand record where they were addressed in the requirements andsoftware components for the new system.e.g. Information about Requirements instability may be used toimprove the development process/change management processAdapted from: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003. 19Benefits of Implementing Traceability9.Allows developer, customer, supplier to follow thedevelopment of components If traceability is implemented on web site10. Help to reduce cost and delay and improve quality 6/30/2008By not developing the wrong componentsBy not forgetting components during developmentBy testing all components before deliveryBy ensuring that all documents have been modified/updatedafter a changeAdapted from: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003. 2010

2008-06-30Requirements Traceability mentCodeTest Casecatalog.query.sortUC-28class y.importUC-29class 4* Also called Proof of Compliance Matrix or Verification Matrix6/30/2008Source: Wiegers, K., ‘Software Requirements’, Second Edition, Microsoft Press, 2003.21Likely Sources of Traceability Link Information6/30/2008Link Source ObjectTypeLink Target Object TypeLikely Information Sourcesystem requirementsoftware requirementsystem engineeruse casefunctional requirementrequirements analystfunctional requirementfunctional requirementrequirements analystfunctional requirementsoftware architecture elementsystem architectfunctional requirementother design elementsdeveloperdesign elementsource codedeveloperuse case or functionalrequirementtest casetest engineer2211

2008-06-30Procedure: Requirements Traceability1. Verify that all formalized requirements aretraceable to a higher-level requirement2. Verify that all higher-level requirements aretraceable to a formalized requirement(s)3. Verify that all formalized requirements aretraceable to test requirement.4. Verify that all test requirements are traceable totest case(s).5. Identify any requirement without a parent6/30/200823Traceability Tool Should generate the following information froma database:1. Requirements Statements with Project UniqueIdentifiers (PUID)2. Requirements Traceability Matrices (RTM)3. Verification Cross Reference Matrices (VCRM)4. Lists of TBD (Determined), TBR (Reviewed), and TBS(Specified)5. Specifications6. Requirements measures (e.g., requirements stability)Source: SYSTEMS ENGINEERING HANDBOOK, A “HOW TO” GUIDE For All Engineers, Version 2.0,July 2000. International Council on Systems Engineering (INCOSE).6/30/20082412

2008-06-30Quality Function Deployment (QFD)8HOWsWHATs14WHYsSteps of the Method1. Customer Requirements2. Customer Priorities3. Customer Assessment 4.5.253Technical RequirementsRelationship Matrix Importance Ratings7.Engineering Assessment 8.76/30/2008Between Whats and Hows6. 6Compare to competitorsPriorities X RelationshipsCompare design optionsCorrelation Matrix Relationships between HowsSource: Haag, S, ‘Quality Function Deployment’, Communications of the ACM, Jan 1996.25Summary1. Verification2. Traceability according to IEEE Std et INCOSEHandbook3. Traceability4. Procedure5. Traceability Tools6. Quality Function Deployment (QFD) Method6/30/20082613