Vad är ett gränssnittskontrolldokument?
Ett gränssnittsstyrningsdokument (ICD) är en formaliserad beskrivning av metoder och strukturer som är involverade i att tillhandahålla inmatning och mottagning av utdata från ett specifikt system. Systemet som beskrivs av gränssnittsstyrdokumentet kan vara ett programvarubibliotek eller en hårdvara. Dokumentet behöver inte följa ett enda format utan kan vara en samling av stycken, diagram eller till och med bara tekniska ritningar av gränssnittshårdvaran. När man specifikt hänvisar till programvara kan ett gränssnittskontrolldokument likna och abstrakt programmeringsgränssnitt (API), som beskriver de offentliga metoderna eller funktionerna som kan användas för att mata in information i biblioteket och också beskriver utdata som kommer att resultera. Ett gränssnittsstyrdokument beskriver generellt hur man integrerar systemet i ett större system eller ansluter det till ett parallellt system; det beskriver inte någon av systemets interna funktioner, som kan skrivas ut i en separat typ av dokument.
Syftet med ett gränssnittskontrolldokument är att tillhandahålla utvecklare av hårdvara eller mjukvara viss dokumentation som kan användas när man skapar ett system eller programvara som kommer att överföra data till och från systemet som ICD beskriver. Detta betyder vanligtvis att definiera exakta funktioner eller hårdvarukomponenter på ett sätt som deras signaturer är kända och toleranserna för parametrarna för användning anges. I mjukvaruteknik kan detta innebära att man vet namnet på en viss funktion, vilken typ av variabler som accepteras som parametrar och eventuellt vilka funktionsgränser som placeras på de värden som passeras. För en hårdvara kan denna information innehålla vilka funktioner som stiften på en seriell anslutningskontroll, eventuella hårdvaror avbryter som används och enhetens arbetshastighet.
En sak som ett gränssnittskontrolldokument inte specifikt beskriver är hur systemet översätter ingångar till utdata eller hur utdata genereras generellt. Detta gör det möjligt för utvecklare att ta en snäv fokuserad bild av systemet när de skapar ett gränssnitt, men det kräver också att systemutvecklarna som ICD-detaljerna följer de riktlinjer som anges i själva dokumentet. En bekvämlighet för författarna till ett gränssnittskontrolldokument och systemutvecklarna är att den interna implementeringen av systemet inte beskrivs i dokumentet och därmed kan ändras fritt utan att påverka den externa utvecklingen av gränssnitt som förlitar sig på ICD.
I vissa situationer kan ett gränssnittskontrolldokument möjliggöra testning av system utan att behöva använda ett färdiggränssnitt. Detta kan göras genom att simulera de olika typerna av utgångar som ett system kan generera som beskrivs i ICD, och sedan överföra denna utgång genom det externt utvecklade gränssnittet. System som bara är intresserade av att hantera en sida av systemet - till exempel utgången, i fråga om hårdvara som en bildskärmsenhet - kan säkerställa att gränssnittet fungerar inom specifikationer utan att kräva verklig ingång.