Was ist der Unterschied zwischen einem Systemdesign auf hoher Ebene und einem logischen Design auf hoher Ebene?


Antwort 1:

Die Frage berührt verschiedene Begriffe und Konzepte. Die Begriffe "High-Level-Design" (im Gegensatz zu "Low-Level-Design"), "Systemdesign" und "logisches Design" (im Gegensatz zu "physischem Design") werden verwendet. Lassen Sie mich zuerst auf die einzelnen Begriffe und dann auf die Beziehung zwischen diesen Begriffen eingehen, die durch die Frage impliziert werden.

Eine sehr empfohlene Quelle für Definitionen von Begriffen in der System- und Softwareentwicklung ist der Standard ISO / IEC / IEEE 24765: 2017, der hier kostenlos heruntergeladen werden kann: Öffentlich verfügbare Standards.

ISO 24765 enthält die folgenden Definitionen (kursiv gedruckt):

High-Level-Design 1. Prozess der Definition der High-Level-Konzepte, die das Low-Level-Design und die Implementierung leiten, vgl. die Architektur. Anmerkung 1 zum Eintrag: Beim Entwurf auf hoher Ebene wird normalerweise ein System in Unterprogrammen organisiert und die Schnittstellen zwischen diesen angegeben.

Systemdesign 1. Prozess zum Definieren der Hardware- und Softwarearchitektur, Komponenten, Module, Schnittstellen und Daten für ein System, um bestimmte Anforderungen zu erfüllen […]

Konzeptionelles Systemdesign 1. Systemdesign-Aktivität zur Spezifizierung der logischen Aspekte der Systemorganisation, ihrer Prozesse und des Informationsflusses durch das System […]

In Anhang F der Norm ISO / IEC / IEEE 15288: 2015 System- und Softwareentwicklung - Systemlebenszyklusprozesse finden Sie die folgende Beschreibung, die die Begriffe in einen Kontext setzt (kursiv zitiert):

Anhang F Architekturmodellierung

F.1 Einleitung

[…] Die Architektur eines Systems kann als eine Reihe strukturierter Architekturentitäten und ihrer Beziehungen verstanden werden, z. B. Funktionen, Funktionsflüsse, Schnittstellen, Ressourcenflusselemente, Informations- / Datenelemente, physische Komponenten, Container, Knoten, Links, Kommunikationsressourcen usw. Diese architektonischen Einheiten können Merkmale wie Dimensionen, Umweltverträglichkeit, Verfügbarkeit, Robustheit, Ausführungseffizienz, Missionseffektivität usw. besitzen. […]

F.2 In der Architektur verwendete Gesichtspunkte, Ansichten und Modellarten

Der Architekturdefinitionsprozess verwendet eine Vielzahl von Modellen, einschließlich der im folgenden Abschnitt aufgeführten Beispielmodelle. (In der traditionellen Systemtechnik werden einige dieser Modelle als „logische Modelle“ oder „physikalische Modelle“ klassifiziert. Bei der Anwendung dieser internationalen Norm ist jedoch keine taxonomische Unterscheidung erforderlich.) In verschiedenen Ansichten wird dargestellt, wie die Systemarchitektur die Stakeholder anspricht Bedenken. Ansichten bestehen aus Modellen. In ISO / IEC / IEEE 42010 finden Sie Definitionen von Architekturbegriffen und zusätzliche Details zu Architekturkonzepten und -modellen.

F.3 Logische und physikalische Modelle

F.3.1 Funktionsmodell

Ein Funktionsmodell des Systems ist eine Darstellung einer Reihe von Funktionen, die die Umwandlung von Eingaben in Ausgaben definieren, die vom System ausgeführt werden, um seine Mission oder seinen Zweck zu erreichen. Diese Funktionen werden dadurch bestimmt, wie sich das System bei bestimmungsgemäßer Verwendung verhalten soll. Folglich ist jede Systemfunktion mit einer Interaktion zwischen dem System und seiner Umgebung verbunden. Funktions-, Leistungs-, Nichtfunktions- und Einschränkungsanforderungen werden normalerweise analysiert, um Funktionen und Eingabe-Ausgabe-Flüsse zu bestimmen. Wenn Funktionen mit Systemelementen verknüpft sind, muss der Entwurfsdefinitionsprozess bestimmen, ob jedes Systemelement ausreichend spezifiziert wurde, um es zu erstellen oder zu kaufen. Wenn das Systemelement weiter aufgelöst werden muss, um diese Ausreichend- keit zu erreichen, müssen auch die dem Systemelement zugeordneten Funktionen weiter aufgelöst und den Unterelementen ordnungsgemäß zugeordnet werden. In der Regel gibt es mehrere Möglichkeiten, die Funktionen zu zerlegen, die zur Definition mehrerer Kandidatenarchitekturen beitragen.

[…]

Zusammenfassend lässt sich sagen, dass logisches (konzeptionelles) Design eine Teilmenge des Systemdesigns ist, die sowohl logisches als auch physisches Design sowohl auf hoher als auch auf niedrigerer Ebene umfasst. Es gibt verschiedene Standardkörper und Standards, die ihre bevorzugten Begriffe für dieselben Dinge verwenden.

Hier sind zwei Diagramme aus dem freien Lehrbuch System Engineering Fundamentals, die die Beziehung zwischen logischem Design (dargestellt durch Funktionsanalyse / Zuordnung in den Figuren) und physikalischem Design (dargestellt durch Synthese in der Figur) sowie auf hoher und niedriger Ebene gut veranschaulichen Level-Designs (dargestellt durch die Entwicklungsstufe des Systems und des Elements in der Abbildung).

In der zweiten Abbildung (8–2) sehen Sie, dass der Systems Engineering-Prozess (Abbildung 3–1) rekursiv auf System- und Artikelebene angewendet wird.

Siehe auch die folgenden Antworten, wenn Sie weitere Informationen benötigen:

Rochus Kellers Antwort auf Was sind die Vorteile des Top-Down-Ansatzes bei Systemanalyse und -design?

Antwort von Rochus Keller auf Gibt es einen Unterschied zwischen Systemarchitektur und Systemdesign?

Rochus Kellers Antwort auf Was sind die Unterschiede zwischen funktionalen und nicht funktionalen Anforderungen?

Rochus Kellers Antwort auf Was bedeutet das System von Interesse in der Systemtechnik?


Antwort 2:

Die Entwicklung von mehr als trivialen Systemen erfordert eine Reihe verschiedener Komponenten. Um herauszufinden, was benötigt wird, müssen Sie sich einige Fragen stellen.

Was soll das System tun? Was ist der Umweltkontext und die Einschränkungen für das System? Gibt es zeitliche Überlegungen zur Funktionsweise des Systems?

An diesem Punkt gibt es architektonische oder übergreifende Überlegungen, die berücksichtigt werden müssen. Architektur ist ein gutes Wort, weil es eine Analogie ergibt. Stellen wir uns vor, Sie planen eine Stadt. Noch war keiner gebaut worden. Zu den Fragen, die Sie stellen würden, könnten gehören:

  • Was ist der Zweck der Stadt? Was ist die Hauptindustrie der Stadt? Wo sollte sich die Stadt befinden? Wie viele Menschen müssen dort leben? Welche Art von Geschäften und Annehmlichkeiten sind erforderlich, um sie zu unterstützen? Welche Art von Dienstleistungen sind erforderlich? Wie Reisen die Menschen durch die Stadt und wie kommen die Menschen in die Stadt hinein und aus ihr heraus? Wie werden Abfälle behandelt?

Auf Systemebene würden Sie basierend auf den Antworten auf diese Frage eine bestimmte architektonische Anordnung auswählen. Sie würden Wasserversorgung, Strom und Kraftstoff, Kanalisation, Straßen, Geschäfte, Schulen, medizinische Versorgung und Wohnen planen. Sie würden den Standort der bestimmten Arten von Dienstleistungen an bestimmten Standorten segmentieren, um die Bevölkerung und die Branche, in der sie hauptsächlich beschäftigt sind, bestmöglich zu bedienen. Dies ist Ihre Systemarchitektur oder Ihr übergeordnetes Systemdesign.

Auf einer detaillierteren Ebene würden Sie sich ansehen, wie spezifisch die Infrastruktur ist, um die erforderlichen Funktionen bereitzustellen. Wie funktioniert die Industrieproduktion? Stellen Sie sich zum Beispiel eine Fabrik (oder ein Büro) vor, die / das speziell für die Hauptindustrie der Stadt gebaut wurde. Welche Prozesse sind erforderlich, um sich in dieser Branche zu engagieren? Was sind die Schritte und Abhängigkeiten für diesen Prozess? Was sind ihre Eingaben? Was sind ihre Ausgaben? Welche Abfolge von Dingen muss passieren, ihre Abhängigkeiten und die Bedingungen, die erforderlich sind, um diese Eingaben in Ausgaben umzuwandeln? Das ist dein logisches Design.

Komplexe softwarebasierte Systeme sind Systeme von Systemen. Die Herausforderung ähnelt der Planung einer Stadt. Systementscheidungen auf hoher Ebene werden getroffen, wie die Dinge angeordnet sind und wie sie im Allgemeinen behandelt werden. Die Karte der Komponenten und Teile, um das Ziel zu erreichen, ist das übergeordnete Systemdesign. Die Karte der Abfolge, der Schritte und des Aktivitätsflusses sowie der Informationen innerhalb und zwischen den Komponenten ist das logische Design auf hoher Ebene. Die beiden arbeiten zusammen, wenn das Ziel eines Systems erreicht ist.