Das Hauptunterschied zwischen Anforderung und Spezifikation im Software Engineering ist das Eine Anforderung ist ein Bedarf eines Stakeholders, den die Software ansprechen sollte, während eine Spezifikation ein technisches Dokument mit den analysierten Anforderungen ist. Eine Spezifikation beschreibt die Merkmale und das Verhalten einer Software.
Software Engineering ist die Disziplin, eine Software methodisch zu entwickeln. Anforderungen sind die Basis der Software. Die Erfassung und Analyse von Anforderungen ist eine wichtige Phase der Softwareentwicklung. SRS ist das Dokument, das die analysierten Anforderungen enthält. Entwicklungsphasen wie Design, Implementierung verwenden SRS.
1. Übersicht und Schlüsseldifferenz
2. Was ist Voraussetzung im Software Engineering?
3. Was ist Spezifikation im Software Engineering?
4. Beziehung zwischen Anforderung und Spezifikation im Software Engineering
5. Side-by-Side-Vergleich - Anforderung und Spezifikation im Software-Engineering in Tabellenform
6. Zusammenfassung
Das gesamte Projekt hängt von den Anforderungen ab. Der erste Schritt zur Entwicklung einer Software ist die Durchführung einer Machbarkeitsstudie. Es konzentriert sich auf technische Aspekte des Produkts. Der nächste Prozess besteht darin, Anforderungen zu sammeln. Dies ist durch die Kommunikation mit Kunden, Endbenutzern und Systembenutzern möglich, die das Produkt am Ende verwenden werden. Interviews, Umfragen und Fragebögen sind die wichtigsten Methoden zur Erfassung von Anforderungen. Schließlich erfolgt die Analyse nach der Anforderungserfassung.
Funktionale und nicht funktionale Anforderungen sind zwei Arten dieser Anforderung. Eine Anforderung, die einen funktionalen Aspekt einer Software angibt, ist eine funktionale Anforderung. Daher definiert es eine Funktion eines Systems oder eines Subsystems. Darüber hinaus sollte ein Bibliotheksverwaltungssystem Buchdetails hinzufügen, bearbeiten, löschen und suchen. Es sollte auch Mitgliedsdetails hinzufügen, bearbeiten und löschen. Außerdem sollte die Geldbuße für verspätete Rückgaben berechnet werden. Das sind einige funktionale Anforderungen an dieses System. Eine nicht funktionale Anforderung definiert die erwarteten Eigenschaften einer Software. Sicherheit, Wartungsfreundlichkeit, Benutzerfreundlichkeit, Zuverlässigkeit und Verfügbarkeit sind einige Beispiele für nicht funktionale Anforderungen. Ein anderer Typ sind Geschäftsanforderungen. Sie definieren die Geschäftsziele, Visionen und Ziele.
Zunächst beschreiben die Kunden und Endbenutzer ihre Anforderungen in natürlicher Sprache. Die Dokumentation dieser Anforderungen erfolgt nach der Analyse. Dieses Dokument wird als Software Requirement Specification (SRS) bezeichnet. Anschließend konvertieren die Systemanalysten sie für das Softwareentwicklungsteam in eine technische Sprache.
Diese Spezifikation dient als Vereinbarung zwischen dem Kunden und dem Entwicklungsteam, was das Softwareprodukt tun soll. Die richtige Spezifikation hilft, Softwarefehler zu vermeiden. Es hilft auch dem Entwicklungsteam, ein klares Verständnis über das Produkt zu erlangen, das sie entwickeln müssen.
Anforderung vs. Spezifikation im Software Engineering | |
Anforderungen sind Beschreibungen von Diensten, die ein Softwaresystem bieten muss, und die Einschränkungen, unter denen es funktionieren muss. | Spezifikation ist ein technisches Dokument, das die Funktionen und das Verhalten einer Softwareanwendung beschreibt. |
Verwendungszweck | |
Anforderungen helfen zu beschreiben, was die Software tun soll. | Die Spezifikation hilft, ein klares Verständnis für das Produkt zu erlangen, um es zu entwickeln und Softwarefehler zu minimieren. |
Der Unterschied zwischen Anforderung und Spezifikation im Software Engineering besteht darin, dass eine Anforderung ein Stakeholder ist, der von der Software gelöst werden sollte, während eine Spezifikation ein technisches Dokument mit den analysierten Anforderungen ist.
1.Tutorials Punkt. "Software Anforderungen.", Tutorials Punkt, 8. Januar 2018. Hier verfügbar
2. „Softwareanforderungen“. Wikipedia, Wikimedia Foundation, 17. April 2018. Hier verfügbar
1. 'Software Engineer' By Nishant.icreate - Eigene Arbeit, (CC BY-SA 4.0) über Commons Wikimedia