Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Softwaredesign

Softwaredesign (auch Softwarekonstruktion) ist der Konstruktionsprozess zur Implementierung einer Software-Lösung. Üblicherweise vollzieht sich die …

Inhalt6 Abschnitte
  1. 1. Grundidee und Zweck
  2. 2. Zentrale Bereiche des Designs
  3. 3. Modellierungssprachen und Hilfsmittel
  4. 4. Entwurfsmuster
  5. 5. Anforderungen und Pflichtenheft
  6. 6. Projektrollen

Grundidee und Zweck

Softwaredesign, auch Softwarekonstruktion genannt, ist der Konstruktionsprozess zur Implementierung einer Software-Lösung. Es gehört üblicherweise zu einem Softwareentwicklungsprozess, in den immer wieder schrittweise Verbesserungen einfließen. Im Vergleich zur eigentlichen Programmierarbeit verlangt Softwaredesign abstrakteres Denken auf einer Metaebene.

Softwaredesign ist wichtig, weil viele Computerprogramme komplex sind. Durch Planung und Gestaltung soll diese Komplexität für Programmierer handhabbarer werden. Außerdem hilft Softwaredesign dabei, zielverfehlendes Programmieren zu vermeiden, also Programmierung, die am eigentlichen Bedarf vorbeigeht.

Zentrale Bereiche des Designs

Je nach Aufgabenstellung können beim Softwaredesign verschiedene Themenbereiche eine Rolle spielen. Dazu gehören die objektorientierte Analyse und das objektorientierte Design, bei denen Software aus Objekten, Klassen und ihren Beziehungen heraus geplant wird.

Weitere wichtige Bereiche sind Entwurfsmuster, also bewährte Lösungsansätze für wiederkehrende Probleme, sowie Datenstrukturen, Datenmodellierung und das Entity-Relationship-Modell. Eine Datenstruktur beschreibt, wie Daten organisiert werden; Datenmodellierung plant die Struktur der Daten; ein Entity-Relationship-Modell stellt Datenobjekte und ihre Beziehungen dar. Auch Softwarearchitektur gehört dazu, also die grundlegende Struktur eines Softwaresystems.

Für die schriftliche und grafische Darstellung einer geplanten Programmierweise gibt es verschiedene Konventionen und Modellierungssprachen.

Modellierungssprachen und Hilfsmittel

Im Softwaredesign werden unterschiedliche Modellierungssprachen verwendet. Die Unified Modeling Language (UML) ist eine grafische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software-Teilen und anderen Systemen. Mit UML lassen sich zum Beispiel Klassendiagramme erstellen, die objektorientierte Strukturen darstellen. Unter Umständen kann aus solchen Darstellungen auch Code generiert werden.

Fundamental Modeling Concepts (FMC) ist eine semi-formale Methodik zur Kommunikation über komplexe Softwaresysteme. Ihr Schwerpunkt liegt weniger auf Codegenerierung, sondern stärker auf Plänen, mit denen komplexe Systeme verständlich besprochen werden können.

IDEF bezeichnet eine Gruppe von Modellierungssprachen aus dem amerikanischen Behördenumfeld. Die genannten Sprachen haben unterschiedliche Schwerpunkte: UML eignet sich besonders zur Darstellung objektorientierter Strukturen, FMC eher zur Kommunikation über komplexe Softwaresysteme.

Entwurfsmuster

Beim Entwurf von Softwarearchitekturen stehen Entwickler häufig vor wiederkehrenden Problemen. Für viele dieser Probleme gibt es bereits bekannte Lösungsansätze, die als Entwurfsmuster bezeichnet werden.

Die Wiederverwendung solcher Entwurfsmuster kann den Entwicklungsprozess einer Software oft beschleunigen. Der Grund ist, dass diese Muster bereits getestet und erprobt sind. Sie dienen damit als bewährte Vorlagen für typische Entwurfsprobleme.

Anforderungen und Pflichtenheft

Vor dem eigentlichen Softwaredesign werden im Allgemeinen die Anforderungen an die zu erstellende Software erhoben. Dabei klären Auftraggeber und Auftragnehmer, welche Anforderungen sich aus Sicht der Stakeholder beziehungsweise des Auftraggebers ergeben. Stakeholder sind Beteiligte oder Betroffene, deren Interessen für das Projekt wichtig sind.

Im Zuge dieser Anforderungserhebung erstellt ein Beteiligter, typischerweise der Auftraggeber, das Lastenheft. Darin werden die Anforderungen aus Auftraggebersicht festgehalten.

Anschließend erarbeitet der Auftragnehmer gemeinsam mit dem Auftraggeber ein Konzept. Darin wird festgelegt, mit welchen Programmstrukturen, Programmiertechniken und Algorithmen die Anforderungen erfüllt und programmiert werden sollen. Die Ergebnisse dieses Konzepts hält der Auftragnehmer im Pflichtenheft fest.

Projektrollen

Die Aufgaben des Softwaredesigns können von einer oder mehreren Personen übernommen werden. Diese Personen können unterschiedliche Rollen im Projektteam haben. Die genaue Benennung solcher Rollen hängt vom jeweiligen Unternehmen ab.

Geläufige Bezeichnungen für beteiligte Mitarbeiter mit Fachkenntnissen in der Softwaremodellierung sind Softwarearchitekt, IT-Consultant oder Softwareentwickler. Für Softwareentwickler werden auch die Bezeichnungen Programmierer oder Softwareingenieur verwendet.

Weiterlesen

Software Software ist ein Programm oder eine Menge von Programmen, die dazu dienen, einen Computer zu betreiben. · Software sind Programme sowie die zugehörige … Programmierung Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen. Siehe dazu als Beispiele … Komplexität Komplexe Ordnungen sind ständig im Wandel. Die Zunahme von Komplexität wird als „positive“, die Abnahme als „negative“ Komplexifikation bezeichnet. [A 9]. Objektorientierte Analyse und Design In der Analyse geht es darum, die Anforderungen zu erfassen und zu beschreiben, die das zu entwickelnde Softwaresystem erfüllen soll. In dieser Phase werden … Datenstruktur In der Informatik und Softwaretechnik ist eine Datenstruktur ein Objekt, welches zur Speicherung und Organisation von Daten dient. Es handelt sich um eine … Datenmodellierung Mit Datenmodellierung bezeichnet man in der Informatik Verfahren zur formalen Abbildung der in einem definierten Kontext relevanten Objekte mittels ihrer … Entity-Relationship-Modell Ein ER-Modell dient sowohl in der konzeptionellen Phase der Anwendungsentwicklung der Verständigung zwischen Anwendern und Entwicklern (dabei wird nur das Was … Modellierungssprache Jede Modellierungssprache verfügt über eine festgelegte Syntax, die über eine Grammatik oder ein Metamodell beschrieben werden kann. Betrachtet man die immer … Unified Modeling Language Die UML ist die dominierende Sprache für die Softwaresystem-Modellierung. Der erste Kontakt zur UML besteht häufig darin, dass Diagramme in UML im Rahmen der … Klassendiagramm Ein Klassendiagramm ist ein Strukturdiagramm der Unified Modeling Language (UML) zur grafischen Darstellung (Modellierung) von Klassen, Schnittstellen sowie … Code In der Kodierungstheorie nennt man die Elemente, aus denen ein Code besteht, „Codewörter“, die Symbole, aus denen die Codewörter bestehen, bilden ein „Alphabet“ … Stakeholder In der Betriebswirtschaftslehre wird Stakeholder als Anspruchsgruppe übersetzt. Der Begriff spielt eine wichtige Rolle innerhalb der Theorie der …