Implementare de referință (din engleză. implementare de referință ) (implementare eșantion mai puțin folosită ( implementare eșantion ) sau model de implementare ( implementare model )) - o implementare software care se potrivește exact cu specificațiile unui anumit standard (de exemplu, un protocol de rețea , un algoritm de codare sau un limbaj de programare ) sau creat pentru a demonstra această specificație în acțiune.
Obiectivele creării unei implementări de referință:
Următorul exemplu demonstrează o astfel de specificație:
O implementare de referință este, în general, o implementare a unei specificații utilizată ca o interpretare particulară a specificației respective. În timpul dezvoltării... unei suite de teste adecvate, este necesară cel puțin o implementare relativ robustă a fiecărei interfețe pentru a (1) detecta erori și ambiguități în specificația în sine și (2) verifica dacă suita de teste în sine funcționează corect. [unu]
Caracteristici ale implementării de referință: (1) Dezvoltat simultan cu specificația și pachetul de testare; (2) Demonstrează că caietul de sarcini este realizabil; (3) Servește ca model pentru testarea altor implementări cu o suită de testare; (4) Servește drept „Standard de aur” pentru măsurarea altor implementări; (5) Îmbunătățește vizibilitatea specificației atunci când testele special pregătite sunt inadecvate. [2]
O implementare de referință poate servi sau nu drept etalon pentru calitatea produsului. De exemplu, implementarea de referință de către Fraunhofer a standardului MP3 nu reușește de obicei să se compare cu alte implementări, cum ar fi LAME , în testele de ascultare care măsoară calitatea sunetului. .
O implementare de referință poate fi fie un produs aplicabil industrial ( BIND , ISC DHCPD ) sau poate servi ca o pură „dovadă de concept”. Implementările de referință pot fi, de asemenea, interzise de utilizare comercială printr-un acord de licență. De exemplu, serverul de aplicații GlassFish Server Open Source Edition a fost citat în manuale ca fiind unul dintre cele mai bune produse pentru Java EE . Cu toate acestea, nu poate fi licențiat în scopuri de producție.