Einführung und Überblick
In dieser Einführungslektion lernst du die grundlegende Bedeutung von Programmspezifikationen im Software Development Life Cycle (SDLC) kennen. Du erfährst, welche zentrale Rolle diese Spezifikationen für die systematische Softwareentwicklung spielen und wie sie in der Praxis als Grundlage für erfolgreiche Entwicklungsprojekte dienen. Die hier vermittelten Grundlagen helfen dir dabei, den gesamten Entwicklungsprozess von der ersten Anforderung bis zur fertigen Software besser zu verstehen.
Einführung
Ein Kunde möchte einen Online-Shop für handgemachte Produkte. Er hat Ideen: “Kunden sollen Produkte suchen, bewerten und kaufen können.” Doch wie wird aus dieser Vision ein fertiges System?

Ohne klaren Plan landen Entwicklerteams schnell im Chaos: Missverständnisse, unklare Anforderungen und ständige Änderungen führen zu Verzögerungen und Frustration.
Der Entwurf kundenspezifischer Softwareanwendungen löst dieses Problem. Er übersetzt Kundenwünsche systematisch in technische Lösungen durch einen strukturierten Prozess: Von der Anforderungsanalyse über Spezifikationen bis zum technischen Entwurf.
In dieser Lerneinheit lernst du, welche Rolle der Software-Entwurf im Entwicklungsprozess spielt, wie Anforderungen zu Spezifikationen werden und warum dieser systematische Ansatz für erfolgreiche IT-Projekte unverzichtbar ist.
Lernziele
Nach dieser Lerneinheit kannst du:
- Die Rolle des Entwurfs im Software Development Life Cycle erklären
- Den Zusammenhang zwischen Anforderungen, Spezifikationen und Entwurf verstehen
- Die drei Arten von Spezifikationen unterscheiden (funktional, nicht-funktional, technisch)
- Die Bedeutung systematischer Software-Entwicklung für die IT-Praxis einschätzen
Überleitung
Wie entsteht aus der Idee “Online-Shop für handgemachte Produkte” ein funktionierendes System? Der Schlüssel liegt in einem strukturierten Entwurfsprozess.
Dazu schauen wir uns zunächst an, was “Entwurf kundenspezifischer Softwareanwendungen” überhaupt bedeutet und wo dieser Schritt im Software-Entwicklungsprozess steht.
Was bedeutet “Entwurf kundenspezifischer Softwareanwendungen”?
Entwurf ist der Prozess, bei dem Kundenwünsche und Anforderungen in eine technische Lösung übersetzt werden. Es geht darum, aus abstrakten Ideen wie “Ich brauche einen Online-Shop” konkrete Pläne zu entwickeln: Welche Module gibt es? Wie kommunizieren sie? Welche Datenbanken werden verwendet?
Kundenspezifisch bedeutet, dass die Software genau auf die Bedürfnisse eines bestimmten Kunden zugeschnitten wird. Anders als Standardsoftware (z.B. Microsoft Word), wird sie speziell für ein Unternehmen oder Projekt entwickelt.
Der Entwurf ist wie der Bauplan eines Hauses: Ohne ihn würde die Baustelle im Chaos enden. Mit ihm weiß jeder Beteiligte, was zu tun ist.
Im Online-Shop-Projekt würde der Entwurf festlegen: Wie ist die Produktsuche aufgebaut? Wie funktioniert der Warenkorb? Welche Schnittstellen gibt es zur Zahlungsabwicklung?
Der Software-Entwicklungsprozess (SDLC) im Überblick
Software entsteht nicht zufällig, sondern durchläuft einen strukturierten Prozess: den Software Development Life Cycle (SDLC). Dieser Prozess umfasst sechs Phasen:

- Requirements Analysis (Anforderungsanalyse): Was soll die Software tun?
- Design (Entwurf): Wie wird die Software aufgebaut?
- Implementation (Implementierung): Der Code wird geschrieben.
- Testing (Testen): Funktioniert alles wie geplant?
- Deployment (Bereitstellung): Die Software wird veröffentlicht.
- Maintenance (Wartung): Fehler beheben, neue Features hinzufügen.
Der Entwurf steht zwischen Anforderungsanalyse und Implementierung. Er nimmt die Wünsche des Kunden und macht sie zu einem technischen Plan, den Entwickler umsetzen können.
Die Details der einzelnen Phasen lernst du in den kommenden Lerneinheiten kennen. Hier geht es erst einmal um den Überblick.
Warum sind Spezifikationen wichtig?
Spezifikationen sind detaillierte Beschreibungen dessen, was die Software tun soll und wie sie sich verhalten soll. Sie sind das Bindeglied zwischen Kundenwünschen und fertiger Software.
Vier zentrale Gründe, warum Spezifikationen unverzichtbar sind:
- Klarheit und Einigung: Alle Beteiligten (Entwickler, Projektmanager, Kunde) haben dieselbe Vorstellung vom Projekt. Missverständnisse werden vermieden.
- Qualitätssicherung: Durch genaue Definitionen wird sichergestellt, dass die Software die Erwartungen erfüllt.
- Risikominimierung: Spezifikationen dienen als Referenzpunkt. Probleme werden früh erkannt.
- Effizienz: Teams verschwenden keine Zeit mit Features, die nicht benötigt werden oder außerhalb des Projektumfangs liegen.
Bei unserem Online-Shop würden Spezifikationen festlegen: Wie genau funktioniert die Produktsuche? Welche Filter gibt es? Wie schnell muss die Suche sein?
Von der Idee zur Umsetzung: Ein E-Commerce-Beispiel
Schauen wir uns an, wie aus einer Kundenanforderung eine konkrete technische Lösung wird.
Ausgangspunkt - Kundenanforderung: “Kunden sollen nach handgemachten Produkten suchen können.”
Spezifikation - Was genau soll passieren?
- Benutzer gibt Suchbegriff ein (z.B. “Ledertasche”).
- System zeigt passende Produkte mit Bild, Preis und Bewertung.
- Ergebnisse können nach Preis oder Beliebtheit sortiert werden.
- Suche muss in unter 2 Sekunden abgeschlossen sein.
Entwurf - Wie wird es technisch umgesetzt?
- Frontend: Suchfeld mit Auto-Complete-Funktion.
- Backend: REST-API-Endpunkt
/api/products/search. - Datenbank: Produkttabelle mit Volltextindex für schnelle Suche.
- Technologie: Elasticsearch für performante Suche.
Siehst du den Unterschied? Die Anforderung sagt was gewünscht ist, die Spezifikation beschreibt wie es sich verhalten soll, und der Entwurf definiert die technische Struktur.
Der Weg: Anforderungen → Spezifikationen → Entwurf
Diese drei Begriffe werden oft durcheinandergebracht. Dabei haben sie klar unterschiedliche Bedeutungen:

Anforderungen (Requirements) beantworten die Frage: Was soll das System tun? Sie beschreiben die Bedürfnisse und Wünsche der Stakeholder aus Nutzersicht. Beispiel: “Kunden sollen Produkte kaufen können.”
Spezifikationen beantworten die Frage: Wie soll das System sich verhalten? Sie übersetzen Anforderungen in detaillierte, messbare Beschreibungen. Beispiel: “Der Checkout-Prozess muss in maximal 3 Schritten abgeschlossen werden können.”
Entwurf (Design) beantwortet die Frage: Wie ist das System strukturiert? Er definiert die technische Architektur, Komponenten und ihre Beziehungen. Beispiel: “Der Checkout nutzt einen Microservice mit REST-API und PostgreSQL-Datenbank.”
Diese Unterscheidung ist entscheidend: Anforderungen kommen vom Kunden (WHAT), Spezifikationen definieren das Verhalten (HOW), und der Entwurf beschreibt die technische Umsetzung (STRUCTURE).
Arten von Spezifikationen: Ein Überblick
Spezifikationen lassen sich in drei Hauptkategorien einteilen. Jede beschreibt einen anderen Aspekt des Systems:
Funktionale Spezifikationen beschreiben was das System tut. Sie definieren die Aktionen und Prozesse, die das System ausführen soll. Beispiel: “Benutzer können Produkte in den Warenkorb legen und Käufe abschließen.”
Nicht-funktionale Spezifikationen beschreiben wie gut das System arbeitet. Wichtig: Sie müssen messbar und überprüfbar sein, damit man später prüfen kann, ob sie erfüllt wurden. Sie beziehen sich auf Leistung, Sicherheit, Zuverlässigkeit und Benutzerfreundlichkeit. Beispiel: “Die Website muss 10.000 gleichzeitige Nutzer unterstützen” (messbare Metrik) und “95% der Anfragen müssen in unter 2 Sekunden beantwortet werden” (Akzeptanzkriterium).
Technische Spezifikationen beschreiben mit welchen Technologien das System gebaut wird. Sie definieren Architektur, Plattformen und Werkzeuge. Beispiel: “Die Anwendung verwendet React (Frontend) und Node.js (Backend) mit MySQL-Datenbank.”
Merke: Funktional = Was, Nicht-funktional = Wie gut, Technisch = Womit.
In der Lerneinheit “Anforderungsanalyse und Definition” lernst du diese Arten im Detail kennen und erfährst, wie du sie in der Praxis anwendest.
Zusammenspiel im E-Commerce-Projekt
Schauen wir uns an, wie alle drei Arten von Spezifikationen bei einem einzigen Feature zusammenwirken: der Produktsuche im Online-Shop.
Funktionale Spezifikation (Was?):
- Benutzer gibt Suchbegriff ein.
- System zeigt passende Produkte mit Bild, Titel und Preis.
- Ergebnisse können nach Preis oder Beliebtheit sortiert werden.
- Filter für Kategorie, Preis und Bewertung sind verfügbar.
Nicht-funktionale Spezifikation (Wie gut?):
- Suchergebnisse erscheinen in unter 2 Sekunden.
- Die Suche muss bei 10.000 gleichzeitigen Nutzern stabil laufen.
- Die Benutzeroberfläche ist responsiv und funktioniert auf Desktop und Mobil.
Technische Spezifikation (Womit?):
- Frontend: React mit Material-UI-Komponenten.
- Backend: REST-API-Endpunkt
/api/products/search. - Datenbank: Elasticsearch für Volltextsuche mit Produktindex.
- Caching: Redis für häufige Suchanfragen.
Siehst du, wie sich die drei Ebenen ergänzen? Sie beschreiben dasselbe Feature aus unterschiedlichen Perspektiven.
Zusammenfassung und Ausblick
Zusammenfassung

Der Entwurf kundenspezifischer Softwareanwendungen ist der Prozess, Kundenwünsche in technische Lösungen zu übersetzen. Er ist ein zentraler Bestandteil des Software Development Life Cycle (SDLC), der sechs Phasen umfasst: Requirements Analysis, Design, Implementation, Testing, Deployment und Maintenance. Der Entwurf steht zwischen der Anforderungsanalyse und der Implementierung.
Spezifikationen sind das Bindeglied zwischen Idee und fertiger Software. Sie schaffen Klarheit, sichern Qualität, minimieren Risiken und steigern Effizienz. Dabei ist die begriffliche Trennung wichtig: Anforderungen beschreiben was das System tun soll (WHAT), Spezifikationen definieren wie es sich verhalten soll (HOW), und der Entwurf legt die technische Struktur fest (STRUCTURE).
Spezifikationen lassen sich in drei Arten unterteilen:
- Funktionale Spezifikationen: Was das System tut.
- Nicht-funktionale Spezifikationen: Wie gut es arbeitet (Leistung, Sicherheit, Zuverlässigkeit).
- Technische Spezifikationen: Mit welchen Technologien es gebaut wird.
Am Beispiel eines E-Commerce-Projekts hast du gesehen, wie diese Konzepte in der Praxis zusammenwirken: Von der Kundenanforderung “Produkte suchen” über messbare Spezifikationen bis zur technischen Umsetzung mit Elasticsearch und REST-APIs.
Ausblick
In der nächsten Lerneinheit “Anforderungsanalyse und Definition” lernst du im Detail, wie Anforderungen systematisch erhoben, analysiert und dokumentiert werden. Du erfährst, wie funktionale und nicht-funktionale Anforderungen unterschieden werden und welche Techniken es gibt, um Kundenwünsche präzise zu erfassen.