Krav på spårbarhet

Kravspårbarhet är en deldisciplin av kravhantering inom mjukvaruutveckling och systemteknik . Spårbarhet som en allmän term definieras av IEEE Systems and Software Engineering Vocabulary som (1) i vilken grad en relation kan etableras mellan två eller flera produkter i utvecklingsprocessen, särskilt produkter som har en föregångare-efterträdare eller primär-underordnad relation till varandra; (2) identifiering och dokumentation av härledningsvägar (uppåt) och allokering eller nedåtgående vägar (nedåt) för arbetsprodukter i arbetsprodukthierarkin; (3) i vilken grad varje element i en mjukvaruutvecklingsprodukt fastställer sin anledning till existens; och (4) urskiljbar association mellan två eller flera logiska enheter, såsom krav, systemelement, verifikationer eller uppgifter.

Krav spårbarhet i synnerhet definieras som "förmågan att beskriva och följa ett kravs liv i både framåt och bakåtriktning (dvs. från dess ursprung, genom dess utveckling och specifikation, till dess efterföljande utplacering och användning, och genom perioder av pågående förfining och iteration i någon av dessa faser). Inom kravteknikområdet handlar spårbarhet om att förstå hur krav på hög nivå – mål, mål, mål, ambitioner, förväntningar, affärsbehov – omvandlas till utvecklingsklara krav på låg nivå. Det handlar därför i första hand om att tillfredsställa relationer mellan lager av information (aka artefakter). Däremot kan spårbarhet dokumentera samband mellan många typer av utvecklingsartefakter, såsom krav, specifikationsförklaringar, konstruktioner, tester, modeller och utvecklade komponenter. Till exempel är det vanligt att fånga verifieringsförhållanden för att visa att ett krav verifieras av en viss testartefakt.

Spårbarhet är särskilt relevant vid utveckling av säkerhetskritiska system och föreskrivs därför av säkerhetsriktlinjer , såsom DO178C , ISO 26262 och IEC61508 . Ett vanligt krav i dessa riktlinjer är att kritiska krav ska verifieras och att denna verifiering ska påvisas genom spårbarhet.

Spåra mot och bortom kraven

Förhandskrav spårbarhet . Kraven kommer från olika källor, som affärspersonen som beställer produkten, marknadschefen och den faktiska användaren. Dessa människor har alla olika krav på produkten. Genom att använda kravspårbarhet kan en implementerad funktion spåras tillbaka till den person eller grupp som ville ha den under kravframkallningen . Detta kan användas under utvecklingsprocessen för att prioritera kravet, för att avgöra hur värdefullt kravet är för en specifik användare. Det kan också användas efter implementeringen för att se varför vissa oanvända funktioner som hittades under användarstudier krävdes i första hand.

Spårbarhet efter krav . Inte bara själva kraven ska spåras utan även kravförhållandet med alla artefakter som är förknippade med det, såsom modeller, analysresultat, testfall, testprocedurer, testresultat och dokumentation av alla slag. Även personer och användargrupper kopplade till krav ska kunna spåras. Kraven realiseras i designartefakter, implementering och slutligen verifieras. Artefakter knutna till de senare stadierna bör också spåras tillbaka till kraven. Detta görs vanligtvis via en kravspårbarhetsmatris .

Det kan bli svårt att etablera spårbarhet utöver krav i design-, implementerings- och verifieringsartefakter. När man implementerar programvarukrav till exempel kan kraven finnas i ett kravhanteringsverktyg , medan designartefakterna kan finnas i ett designverktyg. Dessutom kommer implementeringsartefakter sannolikt att vara i form av källfiler, till vilka länkar kan upprättas på olika sätt i olika omfattningar. Verifieringsartefakter som de som genereras av interna tester eller formella verifieringsverktyg.

Integration av lager eller verktygsstack kan utgöra en betydande utmaning för att upprätthålla spårbarhet i ett dynamiskt system.

Användning av spårbarhetsinformation

Användningen av spårbarhet, särskilt när man spårar bortom kraven till alla artefakter som finns i verktygskedjan, kan ge flera fördelar:

  • Förändringskonsekvensanalys – om ett krav förändras kan spårlänkar informera om relaterade och beroende artefakter. Dessa artefakter kan enkelt verifieras och vid behov justeras. Sannolikheten att förbise relaterade artefakter minskar.
  • Täckningsanalys – spårbarhet säkerställer att inga krav förbises. Speciellt vid certifiering av säkerhetskritiska produkter är det nödvändigt att visa att alla krav är uppfyllda.
  • Projektstatusanalys – spårning av projektstatus är möjlig: analys av spårbarhetsdata gör det möjligt att se slutförandestatus för kraven. Krav utan länkar eller med ofullständig spårkedja (t.ex. krav med implementering men utan tester) indikerar att ytterligare arbete är nödvändigt. De saknade länkarna visar vilka konkreta artefakter som saknas och behöver realiseras.
  • Återanvändning av produktkomponenter – det är möjligt att strukturera krav och deras kopplade artefakter i paket. Dessa förpackningar kan användas för olika produkter.
  • Beständiga relationer – ofta finns kunskap om ett projekt eller produkt i huvudet på specifika personer. Genom att använda spårbarhet sparas denna kunskap genom att visualisera relationen mellan de olika artefakterna. Denna kunskap finns kvar även om en person lämnar projektet.
  • Testoptimering – genom att länka krav, källkod , testfall och testresultat är det enkelt att identifiera berörda delar av källkoden om testerna misslyckas. Dessutom kan redundanta testfall identifieras och elimineras.

En mer komplett översikt över utvecklingsaktiviteter som stöds av spårbarhet och deras relevans ges i.

Praktisk användning av spårbarhetsinformation

Omfattande studier dokumenterar effektiviteten, men också svårigheterna med att fånga spårbarhetsinformation:

  • Spårbarhet accelererar och förbättrar utvecklingsaktiviteter - En studie med 71 försökspersoner som utförde källkodsändringar med och utan spårbarhetsstöd visade fördelar med spårbarhet. Utvecklare utförde uppgifter med spårbarhetsstöd 24 % snabbare och 50 % mer korrekt.
  • Mer fullständig spårbarhet hjälper till att undvika programvarudefekter - I en analys av utvecklingsdata från 24 medelstora och stora projekt med öppen källkod fann man ett statistiskt signifikant samband mellan fullständigheten av den fångade spårbarhetsinformationen och defektfrekvensen för den utvecklade källkoden. Komponenter med mer fullständig spårbarhet visade ett lägre antal defekter (aka buggar).
  • Det är svårt att uppnå överensstämmelse med spårbarhet - En analys av testning av programvara i medicintekniska produkter före marknaden vid US Food and Drug Administration (FDA) 2013 identifierade betydande luckor mellan föreskriven och inlämnad spårbarhetsinformation. Strävan mot en spårbarhet som följer standarden resulterar ofta i en "Big Freeze". Stor frysning, eftersom företag strävar efter att undvika vidareutveckling eftersom omcertifiering är förknippat med enorma ansträngningar.

Visualisering av spårbarhetsinformation

Ett mål med spårbarhet är att visualisera förhållandet mellan artefakter. När antalet och komplexiteten av spårlänkar ökar, är tekniker för spårbarhetsvisualisering nödvändiga. En visualisering kan innehålla information om artefakterna (t.ex. artefakttyp, metadata, attribut) och länkar (t.ex. länktyp, metadata, länkstyrka).

Vanliga visualiseringar för spårbarhetsinformation är matriser , grafer , listor och hyperlänkar .

  • Spårbarhetsmatris – En spårbarhetsmatris är en tabellliknande representation som mappar artefakter av en typ (t.ex. krav) avbildade i kolumner till artefakter av en annan typ (t.ex. källkod) avbildade i rader. Celler visualiserar ett spår mellan två artefakter om de är fyllda eller ett icke-spår om de lämnas tomma. Fördelen med spårbarhetsmatriser är att alla länkar mellan artefakter är synliga på ett ögonkast. Filter hjälper till att minska mängden information som visas. Spårbarhetsmatriser är lämpliga för förvaltningsuppgifter. Men inom industrin består projekt ofta av tusentals artefakter: tabellerna kan bli mycket stora och förvirrande.
  • Spårbarhetsgraf – I en spårbarhetsgraf representeras artefakter som noder. Noder är förbundna med kanter, om det finns en spårlänk mellan artefakterna. Grafer är särskilt lämpliga för utvecklingsuppgifter. De gör det möjligt att få en överblick över länkarna utforskande och kännetecknas av en hög informationsförståelse. Genom att navigera genom grafen är det lätt att identifiera saknade länkar som ett tips för att skapa nödvändiga artefakter.
  • Lista – Listor representerar spårbarhetslänkar i en post. Denna post kan innehålla information om källan och målartefakten och attribut. De är särskilt lämpliga när bulkoperationer för flera olika artefakter ska utföras. Filter och sorteringsmekanismer gör det möjligt att hantera den visade informationen. Men jämfört med de visualiseringar som beskrivs ovan är listor mindre lämpliga för att utföra projektlednings-, utvecklings- och testuppgifter.
  • Hyperlänk – Hyperlänkar kopplar samman länkade artefakter och tillåter att "hoppa" från en källartefakt till en länkad artefakt. Denna visualisering är lämplig om detaljerad information om en artefakt behövs eftersom den tillåter navigering till artefakter i deras ursprungliga miljö. Att använda hyperlänkar har enbart nackdelen att det krävs mycket navigering för att få en överblick över länkstatusen eftersom länkade artefakter inte visualiseras kompakt.

Visualiseringar kan kombineras för att övervinna deras specifika begränsningar.

Tekniskt förverkligande

Manuell spårbarhet

Spårbarhet realiseras genom att fånga spår antingen helt manuellt eller verktygsstödda, t.ex. som kalkylblad i Microsoft Excel . Även om den är allmänt använd, är denna process besvärlig, felbenägen och leder ofta till spårbarhetsinformation som är av otillräcklig kvalitet på grund av de olika involverade utvecklingsverktygen och det typiskt mycket höga antalet artefakter som ska spåras.

Verktygsstödd spårbarhet

Verktygsstödd spårbarhet kräver att utvecklingsinformation som är distribuerad över en hel kedja av utvecklingsverktyg homogeniseras och aggregeras. Följande tillvägagångssätt finns för att nå detta tillstånd:

Homogenisering av mjukvaruverktygsmiljön via ett ALM- verktyg ALM -verktygskedjor täcker mjukvaruutvecklingens livscykel och hanterar alla artefakter i mjukvaruutvecklingsprocessen. Många företag har valt den bästa metoden med uppgiftshantering, kodhantering och många testautomatiseringsverktyg. Företag som väljer en best-of-breed-metod löser spårbarhetsutmaningen med verktyg för kravhantering (RM) som ger en komplett spårbarhetsmodell och integrationer för de bästa verktygen. Ett enda ALM-verktyg för att täcka krav, riskanalys, systemdesign, uppgiftshantering, kodlager, integration, testning med mera är en klassisk avvägning mellan best-of-breed-kapacitet kontra en mer begränsad funktion, gemensam plattform.

Homogenisering av data via surrogatkrav – verktyg för kravhantering (RM) gör det möjligt att lagra, organisera och hantera alla krav i ett systems specifikationer och vanligtvis ordna dem i ett specifikationsträd som länkar varje krav till dess överordnade krav i den högre specifikationen. Typiska analysfunktioner baserade på registrerad spårbarhetsinformation är t.ex. fullständighetskontroller, dvs går alla krav på systemnivå ner till utrustningsnivå (med eller utan modifiering), bedömning av kravavvikelser över alla nivåer och presentation av kvalifikationsstatus. För att säkerställa spårbarhet till artefakttyper utöver krav, tillåter RM-verktyg ofta att importera andra artefakter som surrogatkrav som sedan kan spåras med verktygets kravspårningsmetoder. Nackdelen med detta tillvägagångssätt är att olika adaptrar eller omvandlare för de olika artefakttyperna är nödvändiga som måste ha en konsekvent version och dataformat. Till skillnad från ALM-verktyg måste denna konsekvens utföras själv.

Homogenisering av data via ett dedikerat spårbarhetsverktyg - grundkonceptet för dedikerade spårbarhetsverktyg består av tre väsentliga steg:

  • Definitionen av en datamodell alias spårbarhetsinformationsmodell (TIM). Denna modell specificerar vilka artefakttyper (t.ex. intressentkrav, programvarukrav, integrationstester, systemmodellelement) och hur de är länkade.
  • Definitionen av mappningar från all relevant data för alla verktyg som ingår i din utvecklingsverktygskedja och hur dessa data mappas till TIM.
  • Mätvärden och analysfunktioner definieras på TIM - inte på data som finns i ett specifikt verktyg.

Tillvägagångssättet förenar fördelarna med de tidigare nämnda tillvägagångssätten: Det täcker alla verktyg och artefakter i ett holistiskt tillvägagångssätt, homogeniserar data och undviker risken för inkonsekvenser orsakade av föråldrade surrogat. Nackdelen är att detta tillvägagångssätt innebär förlängning av en verktygskedja med ett annat (spårbarhets)verktyg.

Spårbarhetsverktyg

I många projekt använder människor kontorsverktyg som kalkylblad för att hantera spårbarhet. Dessa verktyg är felbenägna när du har hundratals krav och flera användare som arbetar med ett projekt. Du kan använda specialiserade spårbarhetsverktyg för effektiv kontroll av dina projekt.

Se även