In der Entwicklung dient der Software-Entwurf als technischer Plan für eine zu entwickelnde Software, um die Anforderungsanalyse technisch umzusetzen. Der Software-Entwurf kann maßgeblich dabei helfen, die Entwicklung zu rationalisieren.
Beim Software-Entwurf geht es um die Benennung und Beziehung von Softwaresystemen und ihrer Komponenten, um das fertige Programm zu umreißen.
Bei der gezielten Entwicklung eines Systems oder einer Software müssen unterschiedliche Projektphasen berücksichtigt werden, um unnötige Korrekturen zu minimieren. Fußend auf der Anforderungsanalyse und -definition erfolgt mit dem Software-Entwurf eine Projektphase, die sich gezielt mit der Übersetzung der Anforderung in verschiedene Systemkomponenten beschäftigt.
Diese Planungsphase erfolgt also mit IT-Fachpersonal und überträgt die Anforderungen der Kundenseite in strukturelle Eigenschaften und Komponenten. Es handelt sich hierbei gewissermaßen um einen Lageplan, anhand dessen gezielter programmiert werden kann und der das Gerüst des Codes angibt, mit dessen Hilfe die Anforderungsanalyse erfüllt werden soll.
Wie hilft der Software-Entwurf beim Programmieren?
Ein Software-Entwurf (der einfacheren Lesbarkeit halber hier mit Bindestrich, im Deutschen sonst auch oft Softwareentwurf) ist ein Hilfsmittel für Programmiererinnen und Programmierer. Dabei wird fachspezifisches Wissen angewandt, um einen Grundriss für die Projektarbeit anzugeben.
Während die Anforderungsanalyse etwa auch mit anderen Teilen des Projektteams und in Zusammenarbeit mit externen Stakeholdern erfolgt, ist der Software-Entwurf nur für die Developer wirklich von Belang. Denn hierbei geht es um die Benennung und Beziehung von Softwaresystemen, um das fertige Programm auf Draft-Ebene zu umreißen.
Ein Software-Entwurf besteht dabei aus verschiedenen Teilen, die genau definieren, wie die Programmierung letztlich erfolgt:
Programmiersprache: Im Entwurf wird festgelegt, in welcher Sprache programmiert wird. Hierbei spielen die Kompetenzen der beteiligten Programmiererinnen und Programmierer ebenso eine Rolle wie die Wünsche der Beauftragenden, das Pflichten- und Lastenheft und die Kompatibilität der Software. In einem Software-Entwurf wird gegebenenfalls auch zwischen unterschiedlichen Programmiersprachen abgewägt.
Entwicklungsumgebung: In welcher Integrated Development Environment soll der Code geschrieben und kompiliert werden? Nutzt das Team stets die gleiche IDE oder bietet sich eine andere Umgebung für die spezifischen Projektanforderungen an?
Library: Der Software-Entwurf klärt ebenfalls, ob bestimmte Code-Bausteine aus einer Library für die Software genutzt werden können und sollen oder ob der Quellcode komplett neu geschrieben werden muss. In dieser Phase gibt es natürlich eine Schnittmenge zum Projektmanagement, da Libraries die Arbeitszeit enorm verkürzen können.
Application Programming Interfaces: Auch die Frage nach den APIs und der Integration von Code und Front End wird im Software-Entwurf besprochen. Fragen nach Library, Codesprache und API sollten stets in Abhängigkeit zueinander definiert werden und stets die gestellte Anforderungsanalyse berücksichtigen.
Software Development Kits: Handelt es sich um Projekte, die in einer festen Umgebung arbeiten sollen, so können auch SDKs genutzt werden. Beispiele hierfür sind Android Studio oder Windows .NET – zwar limitiert dies die Flexibilität der Software, doch erleichtert den Workflow für alle beteiligten Developer. Je nach Anforderungsanalyse kann die Nutzung eines SDK also angebracht sein.
Woraus besteht ein Software-Entwurf?
Zwar ist ein Software-Entwurf in der Summe ein vollständiger Plan der späteren Software, beschreibt jedoch eher die Breite der Software, ohne dabei in die Tiefe zu gehen. Im Entwurf werden alle Systeme und Bausteine (Module, Klassen, Komponenten) beschrieben und die Beziehungen zueinander definiert. Zudem werden die Schnittstellen der Architekturbausteine beschrieben.
Im Ergebnis steht ein möglichst spezifischer Überblick darüber, wie die Anforderungsanalyse technisch erfüllt werden soll, sowie ein kompletter Abriss über das gesamte System. Dass dennoch zu diesem Zeitpunkt keine einzige Zeile Code geschrieben wurde, erleichtert das spätere Programmieren – Änderungen können in der Entwurfsphase noch sehr leicht vorgenommen werden, etwaige Probleme in Umgebungen oder unzureichende Libraries werden hier schnell erkannt und es kann gegengesteuert werden.
Vom Software-Entwurf zum Entwurfsmuster
Ob jede Software und jeder Auftrag wirklich besser mit einem dedizierten Software-Entwurf funktioniert, ist eine nicht unumstrittene Frage. Letztlich hängt die Beantwortung auch von der Komplexität der Software ab und vom Sinn eines Entwurfsmusters.
Bei Entwurfsmustern handelt es sich um vordefinierte Software-Entwürfe, die es Developern leicht machen, sich wiederholenden (aber spezialisierte) Aufträge anhand eines festgelegten Schemas abzuarbeiten. So ist das Entwurfsmuster ein sich wiederholender Software-Entwurf für sich wiederholende Anforderungen, der seine eigenen Vor- und Nachteile mit sich bringt.
Erprobte Konzepte und gut funktionierende Designs erleichtern die Umsetzung einer gewünschten Anforderungsanalyse, lassen jedoch möglicherweise die Innovation durch eine neue Ausarbeitung vermissen. Abhängig ist der potenzielle Einsatz eines Musters natürlich nicht nur von den definierten Anforderungen und dem Know-How der Entwicklerinnen und Entwickler, sondern auch vom gesetzten Zeitrahmen und dem vorhandenen Budget.
Unterschiedliche Vorgehensweisen in unterschiedlichen Modellen
Letztlich sollten Development-Teams auch berücksichtigen, dass Software-Entwürfe in verschiedenen Modellen in unterschiedlichen Phasen zum Einsatz kommen.
Ein sequenzielles Vorgehensmodell etwa setzt auf sehr geschlossen durchgeführte Phasen, aufgeteilt in Analyse, Entwurf, Coding, Testung, Abschluss und Wartung. Ein inkrementelles Entwicklungsmodell mag den Software-Entwurf ganz überspringen, da der Überblick hier der modularen Entwicklung geopfert wird.
Iterative Modelle können ebenfalls komplett auf einen großen Software-Entwurf verzichten, arbeiten aber potenziell in jeder Iteration mit kleineren Entwürfen. Modelle wie der Rational Unified Process hingegen setzen sehr stark auf Software-Entwürfe, auch wenn die Phasen der Konzeption, des Entwurfs, der Konstruktion und der Übergabe sich hier teils überlappen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.