Was ist der Unterschied zwischen Anforderungen und Spezifikationen? [geschlossen]

122

Ich wurde beauftragt, Anforderungen und Spezifikationen für ein Projekt zu entwickeln, mit dem unsere Gruppe beginnt.

Mir wurde klar, dass ich den Unterschied nicht kenne. eine Google - Suche verwirrt mich nur mehr - es scheint , manche Leute sagen , dass die Spezifikationen sind Anforderungen, aber auf einem niedrigeren Niveau.


quelle
Ich stimme den Antworten mit hoher Stimmenzahl zu, denke aber auch, dass der Begriff "Spezifikation" in der Softwareindustrie manchmal als allgemeinerer Begriff verwendet wird, der sich auf ein Dokument bezieht, das ein System oder eine Software beschreibt. Als Beweis - google "Pflichtenheft". Wenn es so verwendet wird, bedeutet es ein Dokument, das etwas spezifiziert - dh: spezifiziert die Anforderungen für ein Stück Software. Ich werde nicht beurteilen, ob dies eine korrekte Verwendung des Wortes ist oder nicht. Ich wollte nur darauf hinweisen, dass Spezifikation nicht immer für alle das Gleiche bedeutet.
Shane Wealti
1
Ja, deshalb sollten die Leute "Geschäftsanforderungen" und "Designspezifikation" / "Technische Spezifikation" oder so was sagen. Die Worte für sich sind ziemlich vage.
user606723
Stellen Sie es sich wie folgt vor (grob gesagt): Anforderungen = Anforderungsdokument und Spezifikationen = Anwendungsfall- / Designdokumente
PhD
4
Warum fragst du nicht die Person (en), für die du diese machst? Nur sie können beantworten, was in Ihrem speziellen Fall benötigt wird .
Jaap
Dieser Artikel bietet eine gründliche Antwort: ece.cmu.edu/~koopman/des_s99/requirements_specs
Julien-L

Antworten:

129

Die Antwort lautet, dass Ihr Programm bestimmte Anforderungen erfüllen muss und Sie genau festlegen, wie Sie dies tun möchten.

Eine andere Sichtweise ist, dass die Anforderungen die Anwendung aus Sicht des Benutzers oder des gesamten Unternehmens darstellen. Die Spezifikation repräsentiert die Anwendung aus Sicht des technischen Teams. Spezifikationen und Anforderungen vermitteln ungefähr die gleichen Informationen, jedoch an zwei völlig unterschiedliche Zielgruppen.

Bryan Oakley
quelle
4
Das, was / wie Sound-Bite richtig ist, irgendwie; aber verwirrend, weil Sie in der Spezifikation für ein Programm auch beschreiben können, was es tun soll, und das Design so ist, wie es es tun soll. Ein anderes ist deklaratives pl (wie Prolog und SQL), in dem Sie das Was und nicht das Wie angeben . Eine Lösung ist, dass sie eine Hierarchie von Abstraktionen sind, wobei ein Elternteil angibt, was und Kinder angeben, wie (außen gegen innen). Ich viel lieber Ihre zweite Ansicht, die näher an „ was es für “ vs. „ was es ist also Nutzen vs. Features“.
13ren
Ich würde Ihnen im Allgemeinen zustimmen, aber es ist nur eine "andere" Meinung und nicht die richtige Antwort. Schauen Sie sich beispielsweise die Wiki-Seite für Anforderungen an ( en.wikipedia.org/wiki/Requirement ). Es gibt nicht-funktionale Anforderungen, die per Definition für das technische Team gelten. Oder architektonische Anforderungen und Einschränkungen, wieder technische Anforderungen, die sie jedoch nicht als "Spezifikationen" bezeichnen. Ich denke, es gibt keine richtige Antwort und es wird immer "verschwommen" von Unternehmen zu Unternehmen und Entwickler zu Entwickler.
Am
1
Werfen Sie einen Blick auf 'Adam Wuerl' Antwort unten, ich denke, das ist die genaueste Aussage zu der gestellten Frage.
Am
1
@Jeach: "Balg" ist relativ. Möglicherweise befindet es sich in diesem Moment unter diesem Beitrag, aber es könnte sich nach oben bewegen, wodurch Ihr Kommentar schwieriger zu verstehen ist
Bryan Oakley,
1
Eine andere Perspektive. Wikipedia definiert Spezifikationen als "Anforderungssatz". Dies bedeutet, dass eine Spezifikation nur 1 Anforderung sein kann, s: = {r1}. Es scheint mehr so, als ob umgangssprachliche "Anforderungen" "hohe" Anforderungen sind, während "technische Spezifikationen" niedrige Anforderungen sind, eine LOD-Sache.
Lance Pollard
38

Anforderungen dokumentieren, was benötigt wird - sie sollten nicht das Wie, sondern das Was angeben.

Spezifikationen dokumentieren, wie die Anforderungen erreicht werden sollen - sie sollten das Wie spezifizieren.

An vielen Stellen sind diese Dokumente nicht getrennt und werden austauschbar verwendet.

Oded
quelle
2
In meiner Firma verwenden wir normalerweise die Begriffe "Anforderungsspezifikation" für das, was (Sie spezifizieren, notieren die Details, was Sie was) und "Entwurfsspezifikation" für das, wie (Sie spezifizieren, notieren die Details, wie Sie) planen, es umzusetzen).
Giorgio
16

Ich bin ein Systemingenieur im Bereich Luft- und Raumfahrt, in dem beide Begriffe häufig verwendet werden. Die Unterscheidung ist klar und nicht so komplex wie die anderen es machen.

Eine Spezifikation ist ein Dokument, das ein System oder Produkt spezifiziert, z. B. eine Prime-Item-Entwicklungsspezifikation für einen F-14. Es gibt viele Abschnitte / Inhalte in einer Spezifikation: Anforderungen, Definitionen, Referenzdokumente, Glossar, Überprüfungsinformationen usw.

Eine Anforderung ist eine einzelne Aussage darüber, was das Produkt oder System tun muss. Eine Spezifikation kann Hunderte von Anforderungen enthalten. Die Methode der alten Schule besagt, dass in der Anforderungserklärung das Wort "muss" verwendet werden muss, um Anforderungen von Tatsachenangaben oder Definitionen zu trennen. (Ich bin mir nicht sicher, ob die neumodischen, agilen Kinder sich an all das halten oder nicht. Die Sorgfalt hat ihren Zweck, ist aber manchmal etwas pingelig.)

Eine Spezifikation ist also ein Dokument voller Anforderungen sowie einiger weiterer unterstützender und ergänzender Informationen.

Adam Wuerl
quelle
4
Wie ich in einem anderen Kommentar sagte, ist es für alle sehr verschwommen und wird es wahrscheinlich immer sein. Aufgrund meiner eigenen SEHR umfangreichen Forschung zu diesem Thema würde ich jedoch sagen, dass Ihre Antwort am genauesten auf meine eigenen Erkenntnisse / Schlussfolgerungen zutrifft.
Am
2
Immer hilfreich, um den Input eines echten Ingenieurs zu erhalten. Vielen Dank!
LeWoody
Alternativ kann eine Spezifikation 0 Anforderungen enthalten. Ihr Beispiel ist wirklich gut für eine ganz bestimmte luftfahrttechnische Disziplin. Ich bin mir nicht sicher, ob es allgemein für die Softwareentwicklung / -programmierung gilt. Wenn die meisten Softwareprodukte von geschäftlichen Anforderungen bestimmt werden, ist es sinnvoll, zunächst ein detailliertes Dokument mit den geschäftlichen Anforderungen zu erstellen, bevor Sie die technischen Einschränkungen bewerten und eine Lösung entwerfen. Die technische Spezifikation folgt der BRD, dokumentiert Einschränkungen und bietet einen detaillierten und spezifischen Ansatz zur Erfüllung der Geschäftsanforderungen in der BRD.
Bryan 'BJ' Hoffpauir Jr.
1
@ Bryan'BJ'Hoffpauir Ich bin mir sicher, dass es Fälle gibt, in denen Dokumente als Spezifikationen gekennzeichnet sind und keine Anforderungen enthalten, aber ich würde diejenigen beanstanden, die einen Missbrauch des Begriffs darstellen. Eine Spezifikation ist ein Anforderungsdokument - Ende der Geschichte. Es ist ein weitverbreiteter Kunstbegriff in mehr Bereichen als Luft- und Raumfahrt und innerhalb der Systemtechnik, der Disziplin, die für Anforderungen und Verifikation verantwortlich ist, nicht zugänglich. Sogar in dem Fall, in dem Sie den Begriff beschreiben, gilt: Die BRD ist eine Spezifikation, die technische Spezifikation hört sich auch so an, nur mit unterschiedlichen Anforderungen.
Adam Wuerl
13

Bedarf:

Bestimmen Sie die Anforderungen oder Bedingungen, die für ein neues oder geändertes Produkt zu erfüllen sind, und berücksichtigen Sie dabei die möglicherweise widersprüchlichen Anforderungen der verschiedenen Interessengruppen.

Spezifikationen:

Sie liefern eine genaue Vorstellung von dem zu lösenden Problem, damit sie das System effizient entwerfen und die Kosten für Entwurfsalternativen abschätzen können. Sie bieten den Testern eine Anleitung zur Überprüfung (Qualifizierung) jeder technischen Anforderung.

Das Zitat stammt aus "Systems Engineering Fundamentals * ".

Die Anforderungen basieren auf den Bedürfnissen der Stakeholder, die Spezifikationen sind eher ein detailliertes und technisches Dokument. Sie sind verschieden, aber sie reden über dasselbe.

* Defense Acquisition University Press, 2001. PDF-Version des Textes.

Talabes
quelle
Ich denke, dass es wichtig ist, dass Ihre Definition besagt, dass Spezifikationen das PROBLEM definieren. Auf diese Weise ist eine PROBLEM-Spezifikation eine Anforderung. Eine SOLUTION- oder DESIGN-Spezifikation ist Teil des Designs.
LeWoody
6

Anforderungen sind die Beschreibungen der Benutzer, was das fertige Produkt in ihren Augen tun sollte.

Spezifikation ist die technische Beschreibung der Lösung im Allgemeinen, die die Anforderungen und vieles mehr abdeckt - z. B. Kosten, technische Details, Probleme usw.

Daher ist einer der Hauptpunkte, dass die Anforderungen zuerst gestellt werden müssen, bevor eine Spezifikation geschrieben werden kann.

(Beachten Sie die Terminologie - Produkt und Lösung - das gleiche, aber aus verschiedenen Perspektiven ...)

Arj
quelle
1
Ich würde die Begriffe "Produkt" und "Lösung" tauschen, da eine Lösung in der Regel in Bezug auf das Problem des Kunden erfolgt, während ein Produkt in der Regel in Bezug auf den Verkäufer (dh den technischen Implementierer) erfolgt. Ein ähnlicher Gegensatz besteht bei den Vorteilen / Merkmalen, bei denen der Nutzen in Bezug auf die Kunden besteht (was nützt es ihnen), und bei den Merkmalen in Bezug auf die Implementierung (was ist es eigentlich , damit wir es schaffen können).
13.
1
Ich verstehe Ihren Standpunkt, aber ich denke, jeder Blickwinkel beschreibt die Situation angemessen. Ich war der Meinung, dass ein Kunde ein Produkt kaufen würde - so wie Sie es tun, wenn Sie in ein Geschäft gehen. Ein Softwareanbieter würde dann seine Lösung für das zugrunde liegende Problem anbieten. Wenn ich nach einer Lösung für mein Problem suchen würde, würde ich wahrscheinlich denken: "Ich brauche ein Produkt, das xyz kann", nicht: "Ich brauche eine Lösung für mein Problem von abc". Ich denke, es ist nur eine Frage der Präferenz.
Arj
interessant. Ich sehe Kunden, die ein Produkt suchen, wenn es eine festgelegte Produktkategorie gibt. Aber sie suchen dieses Produkt, weil sie bereits herausgefunden haben, dass es ihr Problem lösen wird - dh sie suchen dieses Produkt nicht für sich selbst, sondern als Lösung. Es ist auch wahr, dass ein Anbieter sein Produkt als "Lösung" vermarktet - aber das liegt daran, dass er versucht, mit Kunden zu kommunizieren (die nach Lösungen für ihre Probleme suchen) und etwas zu entwickeln, das gewünscht wird. Tatsächlich wird das Produkt erstellt (d.
H. Das Objekt
Ich kann sehen, dass Kunden "ein Produkt suchen", wenn es eine etablierte Produktkategorie gibt - aber sie suchen sie als Lösung für ein Problem / Bedürfnis, das sie haben. Anbieter vermarkten ihre Produkte als "Lösungen" - weil sie mit Kunden kommunizieren (die Probleme haben, die Lösungen erfordern). Beim Bauen des Produkts (das Ding selbst und seine Eigenschaften, nicht warum sie sie bauen). Ein Argument ist, dass ein Problem sehr unterschiedliche Lösungen haben kann - aber ein Produkt ist eine bestimmte Sache.
13.
[Erklären, warum zwei Kommentare]: SO-Kommentare sind so schmerzhaft - wenn Sie auf "Zurück" klicken, wird der Kommentar gesendet, auch wenn es sich um ein mehrzeiliges Textfeld handelt. Wenn Sie danach mehr als 5 Minuten benötigen, wird die Bearbeitung nicht akzeptiert. Sie müssen es also als zweiten Kommentar einreichen. Ich habe nur bearbeitet, um die Länge anzupassen. Seufzer . Das nächste Mal werde ich mich zunächst auf zwei Kommentare beschränken ... [Ich stimme jedenfalls zu, dass der Gesichtspunkt - Käufer / Verkäufer - die Hauptunterscheidung ist. Ich bin beunruhigt über Ihre Terminologie, aber ich denke, es vertieft mein Verständnis, wenn ich versuche, das Warum zu artikulieren.]
13.
4

Voraussetzung - was das System oder Subsystem tun soll (muss).

Spezifikation - Was ist die Komponente, das Subsystem oder das System?

Dies ist in der Medizinprodukteindustrie von entscheidender Bedeutung, da Sie anhand Ihrer Anforderungen (Eingaben) eine Überprüfung durchführen müssen, um nachzuweisen, dass Sie über gültige Spezifikationen (Ausgaben) verfügen. Typische Fallstricke in dieser Branche sind, dass Unternehmen (1) vergessen, Anforderungen zu definieren (weil sie den Unterschied zwischen Anforderungen und Spezifikationen nicht verstehen); (2) Überprüfung nur anhand von Spezifikationen durchführen und (3) nicht sicherstellen, dass Anforderungen in Baugruppen- und Komponentenspezifikationen genau übersetzt werden.

Sobald dies erledigt ist, müssen Sie überprüfen, ob die Benutzeranforderungen für das Produkt erfüllt wurden.

Paul Bacchus
quelle
3

Vielleicht ist die Verwirrung, dass ich gehört habe, dass Spezifikationen sich auf Business Requirement Specification-Dokumente oder IEEE-Standard-SRS-Dokumente (Software Requirement Specification) beziehen.

Beispiel für eine IEEE-Standard-SRS-Vorlage

Ich habe auch gehört, dass sich der Begriff Spezifikationen informeller auf technische Spezifikationen bezieht, in denen Entwurfsentscheidungen und ein Implementierungsplan erläutert werden.

EDIT: Ich habe gerade bemerkt, dass der Link falsch ist ... Ich werde in Kürze einen korrekten Link posten.

maple_shaft
quelle
1
Guter Punkt zum SRS-Begriff!
LeWoody,
2
Die Verknüpfung ist jetzt vollständig unterbrochen. Ich bin mir nicht sicher, worauf es hindeutete oder auf welches Material es hinweisen sollte .
3

Eine Spezifikation ist eine Anforderung, die die Machbarkeit erfüllt und zur Implementierung bereit ist. Dies ist eine Anforderung, die sich in der Entwurfsphase entwickelt hat.

Mit anderen Worten:

  • Eine Anforderung ist Verhalten (oder Nicht-Verhalten) "wie geplant" oder "wie gewünscht"
  • Eine Spezifikation ist Verhalten (oder Nicht-Verhalten) "gebaut werden" oder "wie gebaut"

Beispiel:

  • Voraussetzung: 1. Benutzer drückt OK-Taste 2. System druckt Rechnung
  • Spezifikation: 1. Benutzer drückt OK-Taste 2. System druckt Rechnung

Wie Sie sehen, kann der Inhalt von beiden der gleiche sein. Der Unterschied besteht darin, dass es sich bei der Anforderung um ein Analyse-Artefakt handelt. Die Spezifikation ist ein Design-Artefakt.

In einer endgültigen Dokumentation finden Sie in der Regel das Wort "Spezifikation" anstelle von "Anforderung", da die Anforderungen in Spezifikationen konvertiert wurden.

Anmerkung: Das obige Beispiel enthält Gestaltungselemente, da die Gestaltung eingeschränkt ist.

fox.bailey
quelle
0

Anforderungen sind das, was die Anwendung macht

Die Angaben beziehen sich auf die Funktionsweise der Anwendung.

Sie müssen orthogonal sein!

Produktmanager schreiben die Anforderungen, Chefingenieure schreiben die Spezifikationen.

jayunit100
quelle
2
Ich bin mir nicht sicher, ob sie zumindest in der Praxis völlig orthogonal sind. Es gibt leider viel Grau.
LeWoody,
Sie sind nur grau, wenn Sie die Modifikatoren weglassen. Geschäftsanforderungen, funktionale Anforderungen und nicht funktionale Anforderungen beziehen sich auf die Fähigkeit des Systems (WAS es tut). Technische Spezifikationen sind orthogonal zu den Geschäftsanforderungen (wie es funktioniert).
Bryan 'BJ' Hoffpauir Jr.
0

Ein Weg, vielleicht nicht der richtige Weg, um es zu betrachten:

Anforderungen sind Dinge (Fähigkeiten, Funktionen, Verhaltensweisen usw.), die dem Benutzer einen Nutzen bringen. Nicht mit Einbauten befasst; Hier sind nur die Ein- und Ausgänge der Box (und möglicherweise Größe, Form und Farbe) wichtig.

Spezifikationen sind Dinge (Fähigkeiten, Funktionen, Verhalten usw.), die diesen Wert für den Benutzer ermöglichen. Hierbei sind die Box-Interna wichtig, da sie zusammen mit den oben genannten externen Schnittstellen und Eigenschaften das gesamte System definieren.

berad
quelle
Ist das nur deine Meinung oder kannst du es irgendwie bestätigen?
gnat
2
@gnat, ich dachte das wurde in der Eröffnungszeile angesprochen? Klar, das ist aus Erfahrung und ich behaupte nichts anderes - meiner Meinung nach ist dies eine etwas subjektive Frage in einem eher subjektiven Forum, und dieser Beitrag schlägt vor, dass Fragen so objektiv wie möglich sein sollten, erwähnt aber nur wenige Antworten . Aber ich habe eine mit meinem Namen und Sie haben eine ganze Menge mehr, also bin ich offen für Bildung :-)
berad
0

Bei meinen Recherchen habe ich festgestellt, dass Spezifikationen für Patente und den Hausbau (als Teil eines Vertrags) verwendet werden.

Die Definition einer Anforderung aus dem Unabridged Dictionary (3rd New Int'l Ed.) Von Webster lautet:

a) etwas, das gewünscht oder gebraucht wird: Notwendigkeit b) etwas, das verlangt oder verlangt wird: eine erforderliche oder wesentliche Bedingung: eine erforderliche Qualität, ein erforderlicher Kurs oder eine erforderliche Art der Ausbildung

Ich denke, obiges zeigt, dass sie sich deutlich unterscheiden. Ich schätze, Sie könnten die niedrigeren Anforderungen der Spezifikation nennen, aber ich denke, es ist eine Perversion des Begriffs Anforderung imho.

LeWoody
quelle
0

In einer früheren Firma, die kommerzielle Produkte herstellte, wurde folgende Unterscheidung getroffen:

Anforderungen sind das, was das System tun muss. Es kann sich um untergeordnete, detaillierte Anforderungen handeln und es kann sich um funktionale oder nicht funktionale Anforderungen handeln.

Spezifikationen sind die Dinge, die das System im eigentlichen Zustand macht. Sie könnten beispielsweise die Anforderung haben, dass das System Verhalten X bei –10 ° C aufweisen soll. Die tatsächliche Spezifikation des Systems kann sein, dass das System X bei –5 ° C ausführt; Dies ist in der Tabelle enthalten, die potenziellen Kunden zum Zeitpunkt des Kaufs des Systems zugesandt wird.

Hinweis: In diesem Fall entspricht die Spezifikation nicht der Anforderung.

RoyD
quelle
-1

Denken Sie, Sie werden ein Hochhaus auf einem Grundstück bauen.

Nun müssen Sie die Anforderungen berücksichtigen, bevor Sie beginnen, z. B .:

  1. Architektur- oder Designingenieur
  2. Bodentestingenieur
  3. Winddruck Test Team
  4. Zerstörer
  5. Gräber
  6. Menschenkraft
  7. Wasserversorgung
  8. Wohn- / Ruhebereich für Arbeitnehmer
  9. Genug Geld
  10. Projektmanagement
  11. Qualitätsmanagement
  12. Sicherheitskontrolle

Usw.

Jetzt sind die oben genannten Inhalte Teil der Anforderungen für den Bau eines Hochhauses. Vom oben genannten Team erhalten Sie das technische Ergebnis, das sie als Teil des Berufs halten.

Genau dies geschieht in der Softwareindustrie, einer Gruppe von Fachleuten, die mit der Erstellung der technischen Spezifikation befasst sind, beispielsweise mit UI-Design, OO-Design, Datenbankdesign, Grafikdesign, Testfalldesign, Codierung und Integration , Einsatzteam usw.

Der obige Abschnitt ist Teil des Handbuchs, das Sie als Technische Spezifikation bezeichnen können.

Mohammed Hoq
quelle
1
Ich denke, Sie verwechseln Anforderungen mit Ressourcen ( en.wikipedia.org/wiki/Resource_%28project_management%29 ).
Jay Elston