Heim >Java >javaLernprogramm >Was ist Java-Softwarearchitektur?
Softwarearchitektur ist eine abstrakte Beschreibung der Gesamtstruktur und der Komponenten, die als Leitfaden für das Design aller Aspekte von Großprojekten dient.
Analysediagramm:
1. Das Wichtigste an einer Architektur ist Relevante Parteien, zu denen Kunden, Vorgesetzte, Entwickler, Tester, Betriebs- und Wartungspersonal sowie mit dem Projekt verbundene Personen gehören, können alle als Stakeholder bezeichnet werden.
2 Die Anliegen relevanter Parteien erzeugen Architekturanforderungen und die gesamte Architektur wird analysiert zu den Anliegen;
3. Der gesamte Prozess besteht darin, das System für die relevanten Parteien aufzubauen, und die vom System bereitgestellten Funktionen sollten die relevanten Parteien zufriedenstellen.
4 Alle Systeme werden von der Architektur unterstützt.
5. Architekturdokumente werden hauptsächlich an relevante Parteien ausgegeben.
6 Architekturansicht, einschließlich des 4+1-Ansichtsmodells, das die Architektur in zwei Elemente unterteilt: Zu den Schlüsselelementen gehören Module, Komponenten, Pakete, Klassen usw.; Implementierung, Integration, Aggregation, Assoziation usw.; Elementaufbaubeziehungen werden in statische Beziehungen und dynamische Beziehungen unterteilt ; Architekt ist keine Position, sondern eine Rolle. Jeder kann der Architekt des Unternehmens sein, aber die Position ist nicht unbedingt die verantwortliche Person.
Wie können Sie Ihre Fähigkeiten als Architekt verbessern?
3 Um ein Architekt zu sein, muss man über genügend praktische Erfahrung und reale Szenarien verfügen; Sie müssen die Fähigkeit erlernen, zu zeichnen, zusammenzufassen und zu kommunizieren.
Wenn Sie es tun, besteht die Softwarearchitektur aus Elementen, Formen und Beziehungsbeschränkungen. 4+1 Architekturansicht Merkmale;
Entwicklungsansicht: beschreibt die statische Organisationsstruktur von Software in der Entwicklungsumgebung;
Logische Ansicht
Stakeholder: Kunden, Benutzer, Entwicklungsorganisationsmanager; , Subsystem, Funktionsmodul, Unterfunktionsmodul, Schnittstelle
Zweck: Entwicklungsorganisationsabteilung, Rolle der Kostenplanbewertung
Verbundene Parteien: Entwicklungstester
Zweck: Kennen Sie das Design und die Entwicklungsimplementierung der Entwicklungsorganisation
Physische AnsichtVerbundene Parteien: Systemintegratoren, Personal für Systembetrieb und -wartung ; Elementzusammensetzung: physische Bereitstellung logischer Systemkomponenten auf physischen Knoten und physische Netzwerkkonfiguration zwischen Knoten; ProzessansichtVerbundene Parteien: Leistungsoptimierung, entwicklungsbezogenes Personal;Elementzusammensetzung: Systemprozesse, Threads, Verarbeitungswarteschlangen usw.;Zweck: zur Lösung von Leistungsoptimierung und Systemengpässen beitragen;Szenarioansicht Interessengruppen: Benutzer, Designer und Entwickler. Zweck: Verdeutlichen Sie die Breite der Architektur oder die Funktionsweise vieler Architekturelemente. Wie man ein Modell erstellt basierend auf dem Verständnis und dem Wissen des Modells; Das Modell besteht darin, zunächst das Feldproblem zu bestimmen und ein konzeptionelles Modell zu erstellen, architektonische Anforderungen aus diesem Modell zu extrahieren und schließlich Lösungen bereitzustellen 4 5. Es erleichtert die Zusammenarbeit zwischen Mitarbeitern und die Ansammlung von Dokumentenbeständen zwischen Systemen. 6. Verwenden Sie es für die Kommunikation, wenn es viele Diskussionsszenarien oder Besprechungen gibt Arten von Diagrammen nach verschiedenen Szenarien; UML-ModellierungUML steht für Unifiled Modeling Language, eine einheitliche Modellierungssprache, die zu einer allgemein anerkannten Sprachform für die Architekturkommunikation geworden ist, die spezifische Probleme in einem bestimmten Bereich und der Architektur oder Software beschreiben kann Umsetzung in der Designphase. UML-DiagrammklassifizierungStatische Diagramme: Beschreiben Sie die unveränderliche Logik in Softwareelementen, indem Sie Klassen, Objekte und Datenstrukturen und die Beziehungen zwischen ihnen beschreiben:
;
Anwendungsfalldiagramme, Objektdiagramme, CALSS-Diagramme, Komponentendiagramme, Paketdiagramme, Bereitstellungsdiagramme
Dynamische Diagramme: Durch Darstellung werden der Ausführungsprozess oder Entitätszustandsänderungen verwendet, um den Transformationsprozess von Softwareentitäten während der Ausführung darzustellen : Kollaborationsdiagramme (Kollaborationsdiagramme), Sequenzdiagramme (Aktivitätsdiagramme) und Zustandsdiagramme (Zustandsdiagramme);
Gemeinsame Beziehungen:
Assoziation: Verbinden von Modellelementen und Linkinstanzen;
Abhängigkeit: Zeigt an, dass ein Element in irgendeiner Weise von einem anderen Element abhängt. Verallgemeinerung: drückt die Beziehung zwischen dem Allgemeinen und dem Besonderen aus; Aggregation: drückt die Beziehung zwischen dem Ganzen und Teilen ausDas obige ist der detaillierte Inhalt vonWas ist Java-Softwarearchitektur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!