<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Softwaredesign</id>
	<title>Softwaredesign - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Softwaredesign"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaredesign&amp;action=history"/>
	<updated>2026-05-27T23:19:37Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaredesign&amp;diff=1028244&amp;oldid=prev</id>
		<title>imported&gt;Aka: /* Literatur */ Tippfehler entfernt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Softwaredesign&amp;diff=1028244&amp;oldid=prev"/>
		<updated>2023-07-22T09:35:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Literatur: &lt;/span&gt; &lt;a href=&quot;/index.php?title=Benutzer:Aka/Tippfehler_entfernt&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Benutzer:Aka/Tippfehler entfernt (Seite nicht vorhanden)&quot;&gt;Tippfehler entfernt&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{QS-Informatik|Knacknüsse=Ja|Der Artikel handelt nur von Modellierungssprachen und nicht vom Softwaredesign allgemein, das ist ein viel weiteres Feld. --[[Benutzer:S.K.|S.K.]] ([[Benutzer Diskussion:S.K.|Diskussion]]) 07:58, 7. Mai 2012 (CEST)}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Softwaredesign&amp;#039;&amp;#039;&amp;#039; (auch &amp;#039;&amp;#039;&amp;#039;Softwarekonstruktion&amp;#039;&amp;#039;&amp;#039;) ist der Konstruktionsprozess zur [[Implementierung]] einer [[Software]]-Lösung. Üblicherweise vollzieht sich die Erarbeitung und Erstellung von Software in einem [[Softwareentwicklungsprozess]], in den ständig immer wieder graduelle Verbesserungen einfließen. Doch gegenüber dem Softwareentwicklungsprozess erfordert die Konstruktion von Software ein [[Abstraktion|abstrakteres]] [[Denken]] auf einer [[Metaebene]] zur [[Programmierung|Programmierarbeit]]. Softwaredesign ist in aller Regel erforderlich, um die [[Komplexität]], welche die meisten [[Computerprogramm]]e aufweisen, für die [[Programmierer]] handhabbarer zu machen und um zielverfehlendes [[Programmieren]] zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
== Softwaredesign ==&lt;br /&gt;
Zur Gestaltung einer Software, die üblicherweise zu Beginn einer Softwareentwicklung an den oder die Entwickler herangetragen wird, können im Softwaredesign, je nach Aufgabenstellung, die folgenden Themenbereiche mehr oder weniger zur Umsetzung der Aufgabe benötigt werden:&lt;br /&gt;
&lt;br /&gt;
* [[Objektorientierte Analyse und Design]]&lt;br /&gt;
* [[Entwurfsmuster]]&lt;br /&gt;
* [[Datenstruktur]], [[Datenmodellierung]], [[Entity-Relationship-Modell]]&lt;br /&gt;
* [[Softwarearchitektur]]&lt;br /&gt;
&lt;br /&gt;
Für den schriftlichen und grafischen Niederschrieb einer geplanten Programmierweise stehen verschiedene [[Konvention]]en und [[Modellierungssprache]]n zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
=== Sprachen, Entwurfshilfsmittel, Entwurf ===&lt;br /&gt;
Hierbei werden unterschiedliche Modellierungssprachen verwendet. Beispiele sind die [[Unified Modeling Language]] (UML) – eine graphische Modellierungssprache zur Spezifikation, Konstruktion und Dokumentation von Software-Teilen und anderen Systemen, die [[Fundamental Modeling Concepts]] (FMC) – eine semi-formale Methodik zur Kommunikation über komplexe Softwaresysteme, sowie die [[IDEF]] – eine Gruppe von Modellierungssprachen aus dem amerikanischen Behördenumfeld.&lt;br /&gt;
&lt;br /&gt;
Der Fokus beim Design ist verschieden. Während UML beispielsweise mit [[Klassendiagramm]]en die Darstellung von objektorientierten Strukturen (siehe auch [[Objektorientierte Analyse und Design]]) ermöglicht, aus denen unter Umständen auch [[Code]] generiert werden kann, konzentriert sich FMC eher auf die Erstellung von Plänen zur Kommunikation über komplexe Softwaresysteme.&lt;br /&gt;
&lt;br /&gt;
=== Entwurfsmuster ===&lt;br /&gt;
{{Hauptartikel|Entwurfsmuster}}&lt;br /&gt;
Während des Entwurfs von Softwarearchitekturen stehen Entwickler häufig vor wiederkehrenden Problemen, zu welchen es bereits bekannte Lösungsansätze gibt. Durch die Wiederverwendung solcher Entwurfsmuster lässt sich der Entwicklungsprozess einer Software oftmals beschleunigen, da die Muster bereits getestet und erprobt sind.&amp;lt;ref&amp;gt;{{cite web&lt;br /&gt;
 | url        = http://msdn.microsoft.com/en-us/vstudio/ff729657&lt;br /&gt;
 | author     = Judith Bishop&lt;br /&gt;
 | title      = C# 3.0 Design Patterns: Use the Power of C# 3.0 to Solve Real-World Problems&lt;br /&gt;
 | publisher  = C# Books from O&amp;#039;Reilly Media&lt;br /&gt;
 | quote      = If you want to speed up the development of your .NET applications, you&amp;#039;re ready for C# design patterns -- elegant, accepted and proven ways to tackle common programming problems.&lt;br /&gt;
 | accessdate = 2012-05-15&lt;br /&gt;
}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Softwareprojektierung ==&lt;br /&gt;
=== Bei größeren Softwareprojekten: Rahmenbereitstellung: Vorbereitung und Management eines Projekts ===&lt;br /&gt;
==== Definition und Anforderungserhebung eines Softwareprojekts, Führen eines Pflichtenhefts ====&lt;br /&gt;
Im Allgemeinen eruieren [[Auftraggeber]] und [[Auftragnehmer]] im Zuge der [[Anforderungserhebung]] vor dem Softwaredesign zunächst die Anforderungen, die sich aus [[Stakeholder]]- bzw. Auftraggeber-Sicht an die zu erstellende Software ergeben. Im Zuge dessen erstellt ein Beteiligter – typischerweise der Auftraggeber – das sogenannte [[Lastenheft]].&lt;br /&gt;
&lt;br /&gt;
Anschließend erarbeitet der Auftragnehmer zusammen mit dem Auftraggeber über verschiedene Vorgehensweisen ein Konzept, mit welchen [[Softwarearchitektur|Programmstrukturen]], [[Programmierung|Programmiertechniken]] und [[Algorithmus|Algorithmen]] diese Anforderungen erfüllt und programmiert werden sollen. Der Auftragnehmer hält die Ergebnisse dieses Konzepts in dem sogenannten [[Pflichtenheft]] fest.&lt;br /&gt;
&lt;br /&gt;
==== Aufgabenzuweisung an die Projektteammitglieder, Rollen im Team ====&lt;br /&gt;
Die im Rahmen des Softwaredesign anfallenden Aufgaben können eine oder mehrere Personen erledigen, die dabei unterschiedliche Rollen einnehmen können. Diese Rollen sind unternehmensabhängig unterschiedlich benannt. Geläufige Bezeichnungen für die Rollen beteiligter Mitarbeiter mit Fachkenntnissen in der Softwaremodellierung sind [[Softwarearchitekt]], [[IT-Consultant]] oder [[Softwareentwickler]] (auch „Programmierer“ oder „Softwareingenieur“ genannt).&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Interaction Design]]&lt;br /&gt;
* [[Software Design Description]] (IEEE 1016)&lt;br /&gt;
* [[Softwaretechnik]]&lt;br /&gt;
* [[Interfacedesign]]&lt;br /&gt;
* [[Datenmodellierung]]&lt;br /&gt;
* [[Softwarearchitektur]]&lt;br /&gt;
&lt;br /&gt;
== Literatur ==&lt;br /&gt;
* Robert C. Martin: &amp;#039;&amp;#039;Clean architecture: das Praxis-Handbuch für professionelles Softwaredesign: Regeln und Paradigmen für effiziente Softwarestrukturen.&amp;#039;&amp;#039; mitp-Verl., Frechen 2018, ISBN 978-3-95845-724-9.&lt;br /&gt;
* John Ousterhout: &amp;#039;&amp;#039;Softwaredesign: Prinzipien, Techniken und Best Practices.&amp;#039;&amp;#039; O’Reilly, Heidelberg 2021, ISBN 978-3-96009-159-2.&lt;br /&gt;
* Rebecca Wirfs-Brock, Brian Wilkerson, Lauren Wiener: &amp;#039;&amp;#039;Objektorientiertes Software-Design.&amp;#039;&amp;#039; Hanser / Prentice Hall, München / London 1993, ISBN 3-446-16319-0, ISBN 0-13-202664-3.&lt;br /&gt;
* Peter Tabeling: &amp;#039;&amp;#039;Softwaresysteme und ihre Modellierung: Grundlagen, Methoden und Techniken.&amp;#039;&amp;#039; (eXamen.press) Springer-Verlag, Berlin, Heidelberg 2006, ISBN 978-3-540-25828-5.&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [http://www.uml.org/ www.uml.org] – Offizielle „Unified Modeling Language“ Website&lt;br /&gt;
* [http://www.fmc-modeling.org/ www.fmc-modeling.org] – Offizielle „Fundamental Modeling Concepts“ Website&lt;br /&gt;
* [http://standards.ieee.org/software/ IEEE Software Engineering Collection]&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Softwarearchitektur]]&lt;br /&gt;
[[Kategorie:Softwaretechnik]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Aka</name></author>
	</entry>
</feed>