Softwareentwicklungsprozess: Unterschied zwischen den Versionen
Thomas (Diskussion | Beiträge) |
Thomas (Diskussion | Beiträge) |
||
| Zeile 40: | Zeile 40: | ||
Softwaredesign (auch Softwareentwurf) ist der Prozess zur Planung einer Software-Lösung. Softwaredesign ist in aller Regel erforderlich, um die Komplexität, welche die meisten Computerprogramme aufweisen, für die Programmierer handhabbar zu machen und das Risiko von Fehlentwicklungen zu verringern. Insbesondere im Hinblick auf die Wartbarkeit einer Lösung, ist der Prozess des Designs gewissenhaft zu durchlaufen. | Softwaredesign (auch Softwareentwurf) ist der Prozess zur Planung einer Software-Lösung. Softwaredesign ist in aller Regel erforderlich, um die Komplexität, welche die meisten Computerprogramme aufweisen, für die Programmierer handhabbar zu machen und das Risiko von Fehlentwicklungen zu verringern. Insbesondere im Hinblick auf die Wartbarkeit einer Lösung, ist der Prozess des Designs gewissenhaft zu durchlaufen. | ||
Auf Grundlage der Anforderungsanalyse erarbeitet der Auftragnehmer zusammen mit dem Auftraggeber über verschiedene Vorgehensweisen ein Konzept. Hier wird festgelegt, mit welchen Techniken und Algorithmen diese Anforderungen erfüllt und programmiert werden sollen. Der Auftragnehmer hält die Ergebnisse dieses Konzepts in dem sogenannten Pflichtenheft fest. | Auf Grundlage der Anforderungsanalyse erarbeitet der Auftragnehmer zusammen mit dem Auftraggeber über verschiedene Vorgehensweisen ein Konzept. Hier wird festgelegt, mit welchen Techniken und [[Algorithmus|Algorithmen]] diese Anforderungen erfüllt und programmiert werden sollen. Der Auftragnehmer hält die Ergebnisse dieses Konzepts in dem sogenannten [[Pflichtenheft]] fest. | ||
Spätestens in der Designphase sollte auf objektorientierte Ansätze zurückgegriffen werden, um das System zu planen. UML Klassendiagramme beschreiben fachlich relevante Klassen und ergänzen sie um technische Notwendigkeiten. Komplexe Objektinteraktionen können in Sequenzdiagrammen geplant werden. Eng abgrenzbare Algorithmen können auch in einem Struktogramm modelliert werden. | Spätestens in der Designphase sollte auf [[Objektorientierung|objektorientierte]] Ansätze zurückgegriffen werden, um das System zu planen. UML [[Klassendiagramm|Klassendiagramme]] beschreiben fachlich relevante [[Klasse|Klassen]] und ergänzen sie um technische Notwendigkeiten. Komplexe Objektinteraktionen können in [[Sequenzdiagramm|Sequenzdiagrammen]] geplant werden. Eng abgrenzbare [[Algorithmus|Algorithmen]] können auch in einem [[Struktogramm]] modelliert werden. | ||
Grundlegende Architekturentscheidungen werden getroffen. Die Datenhaltung in einer Datenbank kann mit Hilfe von ERMs modelliert werden. | Grundlegende Architekturentscheidungen werden getroffen. Die Datenhaltung in einer [[Datenbank]] kann mit Hilfe von [[ERM|ERMs]] modelliert werden. | ||
Am Ende der Designphase steht ein Lastenheft, das beschreibt, wie der Auftragnehmer, die beschriebenen Anforderungen (Pflichtenheft) umsetzen wird. Erst dann erfolgt gegebenenfalls eine Beauftragung durch den Auftraggeber. | Am Ende der Designphase steht ein [[Lastenheft]], das beschreibt, wie der Auftragnehmer, die beschriebenen Anforderungen ([[Pflichtenheft]]) umsetzen wird. Erst dann erfolgt gegebenenfalls eine Beauftragung durch den Auftraggeber. | ||
== Programmierung == | == Programmierung == | ||