Mindmap-Galerie Kapitel 5 Gesamtdesign
Strukturiertes Software-Engineering-Design - Gesamtdesign, kann eine globale Perspektive einnehmen, weniger Geld ausgeben, mehrere mögliche Systemimplementierungspläne und Softwarestrukturen auf einer relativ abstrakten Ebene analysieren und vergleichen und daraus den besten Plan und die beste Softwarestruktur auswählen die Entwicklung hochwertigerer Softwaresysteme zu geringeren Kosten.
Bearbeitet um 2023-10-31 18:37:17Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Kapitel 5 Gesamtdesign
Aufgabe:
Der Hauptzweck besteht darin, die Frage „Wie implementiert man zusammenfassend ein Softwaresystem?“ zu beantworten.
Eine weitere wichtige Aufgabe besteht darin, die Struktur der Software zu entwerfen, d. h. zu bestimmen, aus welchen Modulen jedes Programm im System besteht und welche Beziehung zwischen diesen Modulen besteht.
Notwendigkeit:
Sie können eine globale Perspektive einnehmen und weniger Geld ausgeben, um mehrere mögliche Systemimplementierungslösungen und Softwarestrukturen auf einer abstrakteren Ebene zu analysieren und zu vergleichen und die beste Lösung und Softwarestruktur auszuwählen, um kostengünstigere Softwaresysteme zu entwickeln.
5.1 Designprozess
Systementwurfsphase
1. Erwägen Sie alternative Optionen. 2. Wählen Sie eine sinnvolle Option. 3. Empfehlen Sie die beste Option
Strukturentwurfsphase
1. Funktionale Zerlegung 2. Softwarestruktur entwerfen 3. Datenbank entwerfen 4. Testdokumente entwickeln 5. Dokumente schreiben 6. Überprüfen und überprüfen
5.2 Gestaltungsprinzipien
5.2.1 Modularität
Modul: Das Modul ist der Grundbaustein des Programms
Modularisierung: Dabei wird das Programm in Module unterteilt, die unabhängig benannt sind und unabhängig voneinander aufgerufen werden können. Wenn die Module zu einem Ganzen kombiniert werden, können die angegebenen Funktionen ausgeführt werden, um die Anforderungen des Benutzers zu erfüllen .
Funktion (Vorteile):
1. Durch Modularisierung kann die Softwarestruktur klarer gemacht werden, was nicht nur einfach zu entwerfen, sondern auch leicht zu lesen und zu verstehen ist.
2. Durch Modularisierung kann Software einfacher getestet und gesteuert werden
3. Durch Modularisierung kann Software einfacher geändert werden
4. Tragen Sie zur Organisation und Verwaltung von Softwareentwicklungsprojekten bei
5.2.2 Abstraktion
abstrakt:
Abstraktion bedeutet, die wesentlichen Eigenschaften von Dingen abzustrahieren, ohne vorübergehend deren Details zu berücksichtigen. Jeder Schritt im Softwareentwicklungsprozess ist eine weitere Verfeinerung der Abstraktionsebene der Softwarelösung.
Abstrakte Anwendungen:
In der Phase der Machbarkeitsstudie wird die Software als vollständige Komponente des Systems verwendet; in der Phase der Anforderungsanalyse wird die Softwarelösung mit einer vertrauten Methode innerhalb der Problemumgebung im Übergang vom Gesamtdesign zur detaillierten Designphase beschrieben Die Abstraktionsebene wird schrittweise reduziert. Wenn das Quellprogramm schließlich geschrieben wird, erreicht es die niedrigste Abstraktionsebene.
Vorteile der Abstraktion:
Die Top-Down-Zuweisung der Kontrolle von abstrakt zu konkret vereinfacht den Entwurf und die Implementierung von Software, verbessert die Verständlichkeit und Testbarkeit der Software und erleichtert die Wartung der Software.
5.2.3 Streben Sie nach und nach nach einer Verfeinerung
Definition
Versuchen Sie, die Betrachtung der Details eines Problems aufzuschieben, damit Sie sich auf die Lösung des Hauptproblems konzentrieren können
Der Unterschied zwischen Abstraktion und schrittweiser Verfeinerung:
Unterthema
[Der Unterschied zwischen Abstraktion und schrittweiser Verfeinerung:
abstrakt:
Definition: Der Prozess der Reduzierung komplexer Probleme auf grundlegende Fragen oder Konzepte
Zweck: Die Komplexität des Problems reduzieren und das Verständnis und die Bearbeitung erleichtern
Methoden: Klassifikation, Induktion, Generalisierung usw.
Nach und nach verfeinern:
Definition: Der Prozess der schrittweisen Verfeinerung eines Problems von einer hohen auf eine niedrige Ebene
Zweck: Komplexe Probleme in überschaubare kleine Probleme zerlegen, um Entwurf und Implementierung zu erleichtern
Methoden: Zerlegung, Verfeinerung, Optimierung usw.
der Unterschied:
Die Abstraktion ist ein Top-Down-Prozess, während die schrittweise Verfeinerung ein Bottom-Up-Prozess ist.
Konzentrieren Sie sich abstrakt auf die Gesamtstruktur des Problems und verfeinern Sie diese schrittweise und konzentrieren Sie sich auf die spezifischen Details des Problems.
Bei der Abstraktion liegt der Schwerpunkt auf Klassifizierung und Induktion, während bei der schrittweisen Verfeinerung die Zerlegung und Verfeinerung im Vordergrund steht.
Abstraktion und schrittweise Verfeinerung ergänzen sich und werden gemeinsam zur Lösung komplexer Probleme eingesetzt]
5.2.4 Ausblenden und Lokalisieren von Informationen
[Ausblenden und Lokalisieren von Informationen
Informationen verbergen
Definition
Systeminterne Details ausblenden
Geben Sie nur notwendige Informationen preis
Vorteil
Komplexität reduzieren
Verbessern Sie die Sicherheit
Verbessern Sie die Wartbarkeit
Lokalisierung
Definition
Platzieren Sie zusammengehörige Features oder Daten
Reduzieren Sie Abhängigkeiten
Vorteil
Effizienz steigern
Kopplung reduzieren
Wartbarkeit verbessern ;]
5.2.5 Modulunabhängigkeit
Modulunabhängig
Modulunabhängigkeit
Unter Modulunabhängigkeit versteht man den geringen Grad an gegenseitiger Abhängigkeit zwischen Teilen innerhalb des Moduls und den geringen Grad an Kopplung zwischen Modulen
Die Modulunabhängigkeit trägt zur Verbesserung der Wartbarkeit und Skalierbarkeit des Systems bei
Ein Maß für die Modulunabhängigkeit
Die Modulunabhängigkeit kann durch Kohäsion und Kopplung gemessen werden
Unter Zusammenhalt versteht man die Nähe zwischen den verschiedenen Teilen innerhalb des Moduls. Je höher der Zusammenhalt, desto besser ist die Unabhängigkeit des Moduls.
Der Kopplungsgrad bezieht sich auf den Grad der gegenseitigen Abhängigkeit zwischen Modulen. Je niedriger der Kopplungsgrad, desto besser ist die Modulunabhängigkeit.
Methoden zur Verbesserung der Modulunabhängigkeit
Verwenden Sie die Technologie zum Ausblenden von Informationen, um die Implementierungsdetails innerhalb des Moduls zu verbergen und nur die erforderlichen Schnittstellen verfügbar zu machen
Übernehmen Sie eine modulare Designmethode, um das System in mehrere Module zu unterteilen. Jedes Modul ist für bestimmte Funktionen verantwortlich
Verwenden Sie Schnittstellendesignmethoden, um die interaktiven Schnittstellen zwischen Modulen prägnant und klar zu gestalten und so die Kopplung zwischen Modulen zu reduzieren
Verwenden Sie eine mehrschichtige Entwurfsmethode, um das System in mehrere Ebenen zu unterteilen. Jede Ebene ist für bestimmte Funktionen verantwortlich und verringert die Kopplung zwischen Modulen
Die Bedeutung der Modulunabhängigkeit
Die Modulunabhängigkeit ist einer der wichtigen Indikatoren zur Messung der Qualität des Softwaredesigns
Die Modulunabhängigkeit trägt dazu bei, die Wartbarkeit und Skalierbarkeit des Systems zu verbessern und die Kosten für Systemwartung und -erweiterung zu senken.
Die Modulunabhängigkeit trägt dazu bei, die Zuverlässigkeit und Stabilität des Systems zu verbessern und die Wahrscheinlichkeit von Systemfehlern zu verringern.
Verwenden Sie die Datenkopplung so weit wie möglich, verwenden Sie weniger Steuerungskopplung und Funktionskopplung, begrenzen Sie den Umfang der Kopplung in der öffentlichen Umgebung und verwenden Sie überhaupt keine Inhaltskopplung.
5.3 Heuristische Regeln
1. Verbessern Sie die Softwarestruktur und verbessern Sie die Modulunabhängigkeit
2. Die Modulgröße sollte moderat sein
3. Tiefe, Breite, Fan-Out und Fan-In sollten angemessen sein
4. Der Umfang des Moduls sollte innerhalb der Kontrolldomäne liegen
5. Bemühen Sie sich, die Komplexität der Modulschnittstellen zu reduzieren
6. Entwerfen Sie ein Modul mit einem einzigen Eingang und einem einzigen Ausgang.
7. Modulfunktionen sollten vorhersehbar sein
5.4 Grafische Werkzeuge zur Beschreibung der Softwarestruktur
5.4.1 Hierarchisches Diagramm und HIPO-Diagramm
5.4.2 Strukturdiagramm
5.5 Datenflussorientierte Entwurfsmethode
Strukturierter Designansatz
5.5.1 Konzept
Konzept
Zwei Arten des Informationsflusses
1. Austauschfluss
2. Logistik
5.5.2 Transformationsanalyse
5.5.3 Dinge-Analyse