Spezifikation, Konformität, Verträglichkeit, Tests ... Was sind sie überhaupt?
Manchmal all diese Begriffe scheinen ziemlich verwirrend. Oder ist es besser zu sagen, dass sie meistens oder sogar immer.
Vor allem, wenn verschiedene Personen und Firmen die Situation um sie zu verstehen in unterschiedlicher Weise. Also fangen wir von Anfang an.
Es gibt viele Spezifikationen oder Normen um uns herum. Webster Dictionary beschreibt Norm als etwas etabliert Beispiel durch Autorität, Sitte oder allgemeine Zustimmung als Modell oder. Also im Grunde ist es die Liste der Regeln, die während der Verwendung anderer haben zu gehorchen.
Lassen Sie uns eine Computer-Sprache. Vor allem der Spezifikation ist erforderlich, dass das gesamte Konzept Modell, sagen die Entwickler, was als ein Programm geschrieben werden können, beschreiben wird, wie es sich verhalten, was wird kompiliert, ausgeführt werden und etc. Nach der Erstellung aller notwendigen Unterlagen diesen - das ist es, kann man genau dort zu stoppen. Wenn die Idee gut genug ist, mehrere andere Unternehmen wünschen konnte, um ihre Implementierungen zu erstellen: Fe-Compiler und Ausführung Umgebungen. Aber sie gehorchen müssen der Spezifikation. Ansonsten gelten die gleichen Programme werden auf einer laufen und laufen unterschiedlich oder sogar auf der anderen die Umsetzung scheitern. Fulfillment durch eine Umsetzung aller genannten Anforderungen genannt wird Konformität.
Warum ist es so wichtig?
Nun, sagen wir mal diese neue Sprache verwendet wurde, um ein Programm für die Börse zu schaffen. Stell dir vor es in den USA geschrieben wurde, gut getestet und verwendet an der NYSE. Es war so gut, dass andere Länder in der ganzen Welt eine Lizenz gekauft und begann es zu benutzen für ihre Umsetzung dieser neuen Sprache. Wenn eine Anwendung nicht gehorchte der spec, könnte das gleiche Programm verschiedene Dinge mit Kunden Geld zu tun. Grundsätzlich diesem Programm Börse zu veräußern, wenn der Handelsvertreter "buy"-Taste, oder kaufen Stahl anstelle von Obst geschoben.
Die gute Frage könnte lauten: "Warum unterschiedliche Implementierungen? Lassen Sie uns ein und es nutzen. ". Es gibt verschiedene Antworten. Mehrere Unternehmen Vielleicht möchten Sie diese Sprache auf verschiedenen Plattformen (Solaris, Linux, Windows) und Geräte (Desktop, Handy, PDA, Taschenrechner Studenten, etc) zu verwenden. Andere wollen Algorithmen für ihre Bedürfnisse zu optimieren, zB so setzen sie die großen Datenbank-Programm werden 10-mal schneller.
Der entscheidende Punkt ist, dass verschiedene Implementierungen müssen genau die gleiche Arbeit und nach dem spec. Wenn sie sich so nennt man sie kompatibel. Das Schlimme ist, dass niemand sicher sein kann. Deshalb ist die Überprüfung Mechanismus benötigt wird. Normalerweise ist es ein Test-Suite, die Kompatibilität überprüft die Konformität und. Und in diesem Fall ist es falsch zu sagen, fast etwas kompatibel oder 99% kompatibel ist. Es könnte entweder Ja oder Nein.
Let's move Richtung ein Beispiel. Sun Microsystems Java erfunden Sprache. Um genauer zu sein mehrere Versionen von Java für verschiedene Märkte geschaffen. Die bekanntesten sind , Java SE und . Und für jeden von ihnen gibt es eine separate Spezifikation. Sun Microsystems hat seine eigene Anwendung, die am häufigsten verwendet wird. Doch die Sprache ist so gut, dass es ziemlich viele andere Unternehmen und deren Implementierungen. Für die Kompatibilität und Konformität Zwecke gibt es TCKs (Conformance Test Kit). TCK ist ein Produkt, eine Reihe von Tests, die bei einer Implementierung korrekt ist nach den Regeln von der Spezifikation zu überprüfen beinhaltet.
Meine Absicht war es, eine Idee von dem, was Spezifikation konform sind Kompatibilität und TCK und warum sie so wichtig sind, zu geben.
Behauptung , Kompatibilität , Konformität , Umsetzung , Java , Java Language , Java SE , JDK , JDK7 , Sprache , Linux , Solaris , spec , Spezifikation , so , Sun Microsystems , TCK , Conformance Test Kit , Tests , Windows

