Wat is een interfacebesturingsdocument?
Een interface control document (ICD) is een geformaliseerde beschrijving van de methoden en structuren die betrokken zijn bij het leveren van input voor en het ontvangen van output van een specifiek systeem. Het systeem dat wordt beschreven door het interfacebesturingsdocument kan een softwarebibliotheek of een stuk hardware zijn. Het document hoeft geen enkel formaat te volgen, maar kan een verzameling paragrafen, grafieken of zelfs alleen technische tekeningen van de interface-hardware zijn. Wanneer specifiek naar software wordt verwezen, kan een interfacebesturingsdocument lijken op een abstracte programmeerinterface (API), die de openbare methoden of functies beschrijft die kunnen worden gebruikt om informatie in de bibliotheek in te voeren en ook de output beschrijft die zal resulteren. Een interfacecontroledocument beschrijft in het algemeen hoe het systeem in een groter systeem kan worden geïntegreerd of op een parallel systeem kan worden aangesloten; het beschrijft geen van de interne werkingen van het systeem, die in een afzonderlijk type document kunnen worden beschreven.
Het doel van een interfacecontroledocument is om ontwikkelaars van hardware of software documentatie te bieden die kan worden gebruikt bij het maken van een systeem of software die gegevens overbrengt van en naar het systeem dat de ICD beschrijft. Dit betekent meestal dat u exacte functies of hardwarecomponenten definieert op een manier dat hun handtekeningen bekend zijn en de toleranties van de te gebruiken parameters worden gegeven. In software engineering kan dit betekenen dat u de naam van een bepaalde functie kent, welk type variabelen als parameters worden geaccepteerd en mogelijk welke functionele limieten worden gesteld aan de waarden die worden doorgegeven. Voor een stuk hardware kan deze informatie omvatten welke functies de pinnen van een seriële connectorbesturing, alle hardware-interrupts die worden gebruikt, en de werksnelheid van het apparaat.
Een ding dat een interfacecontroledocument niet specifiek beschrijft, is hoe het systeem invoer omzet in uitvoer, of hoe uitvoer wordt geproduceerd, in het algemeen. Dit stelt ontwikkelaars in staat om een eng gefocust beeld van het systeem te nemen bij het creëren van een interface, maar het vereist ook dat de ontwikkelaars van het systeem dat de ICD-details strikt volgen, de richtlijnen die in het document zelf zijn uiteengezet. Een gemak voor de schrijvers van een interfacebesturingsdocument en de ontwikkelaars van het systeem is dat de interne implementatie van het systeem niet in het document wordt beschreven en dus vrij kan worden gewijzigd zonder de externe ontwikkeling van interfaces die op de ICD vertrouwen te beïnvloeden.
In sommige situaties kan een interfacecontroledocument het testen van systemen mogelijk maken zonder daadwerkelijk een voltooide interface te hoeven gebruiken. Dit kan worden gedaan door de verschillende soorten output te simuleren die een systeem kan genereren zoals beschreven in de ICD, en die output vervolgens door de extern ontwikkelde interface te sturen. Systemen die alleen geïnteresseerd zijn in de omgang met één kant van het systeem - zoals de uitvoer, in het geval van hardware zoals een weergaveapparaat - kunnen ervoor zorgen dat de interface binnen specificaties functioneert zonder dat er echte invoer nodig is.