Funktions- und Verhaltensmodelle in Software Engineering
Funktionsmodelle und Verhaltensmodelle sind zwei wichtige Arten von Modellen, die im Software -Engineering verwendet werden, um verschiedene Aspekte eines Softwaresystems darzustellen. Sie werden verwendet, um das * was * und * wie * des Systems zu beschreiben.
Funktionsmodelle:
* Fokus: Definieren Sie die * Funktionalität * des Softwaresystems. Sie beschreiben, was das System tut, ohne anzugeben, wie es es tut.
* Darstellung: Oft ausgedrückt mit:
* Anwendungsfälle: Beschreiben Sie Interaktionen zwischen Benutzern und Systemen.
* Datenflussdiagramme (DFDS): Veranschaulichung der Datenbewegung durch das System.
* Entitätsbeziehungsdiagramme (ERDS): Beziehungen zwischen Datenentitäten darstellen.
* Zustandsübergangsdiagramme: Zeigen Sie verschiedene Zustände des Systems und Übergänge zwischen ihnen.
* Zweck:
* Systemanforderungen kommunizieren: An Stakeholder (Benutzer, Entwickler, Manager) klar und präzise.
* Designsystemarchitektur: Durch Umrissen der hochrangigen Komponenten und deren Wechselwirkungen.
* Systemanforderungen validieren: Durch die Gewährleistung des Systems alle Benutzeranforderungen erfüllt.
Verhaltensmodelle:
* Fokus: Beschreiben Sie das * Verhalten * des Softwaresystems. Sie beschreiben, wie das System auf Eingaben reagiert und wie sich sein interner Zustand im Laufe der Zeit ändert.
* Darstellung: Oft ausgedrückt mit:
* Sequenzdiagramme: Zeigen Sie Interaktionen zwischen Objekten in einem bestimmten Szenario.
* Kollaborationsdiagramme: Markieren Sie die Wechselwirkungen zwischen Objekten in visuellerer Weise.
* Aktivitätsdiagramme: Beschreiben Sie den Aktivitätenfluss innerhalb des Systems.
* Zustandsmaschinendiagramme: Zeigen die Zustände des Systems und seine Übergänge zwischen ihnen.
* Zweck:
* Systemdesign verfeinern: Durch Detail der internen Funktionsweise des Systems.
* potenzielle Fehler und Inkonsistenzen identifizieren: Durch die Simulation verschiedener Szenarien und Beobachtung der Antwort des Systems.
* Testen Sie das System: Durch Vergleich des tatsächlichen Verhaltens mit den Vorhersagen des Modells.
Beziehung zwischen funktionalen und Verhaltensmodellen:
* komplementär: Sie arbeiten zusammen, um ein umfassendes Verständnis des Softwaresystems zu vermitteln.
* hierarchisch: Funktionsmodelle bieten häufig die Sichtweise auf hoher Ebene, während Verhaltensmodelle in die Details eingehen.
* iterativ: Modelle werden während des gesamten Softwareentwicklungsprozesses häufig verfeinert und aktualisiert.
Beispiel:
Betrachten wir ein einfaches Online -Einkaufssystem.
* Funktionsmodell:
* Ein Anwendungsfall für "eine Bestellung geben" die Schritte zur Interaktion zwischen einem Benutzer und dem System beschreiben.
* Ein Datenflussdiagramm würde den Datenfluss zwischen der Benutzeroberfläche, dem Einkaufswagen und dem Auftragsverarbeitungssystem zeigen.
* Verhaltensmodell:
* Ein Sequenzdiagramm könnte die Abfolge von Interaktionen zwischen der Benutzeroberfläche, der Datenbank und dem Auftragsverarbeitungssystem beim Aufgeben einer Bestellung darstellen.
* Ein staatliches Maschinendiagramm könnte die verschiedenen Zustände eines Ordens zeigen, von "platziert" bis "verschickt" bis "geliefert".
Durch die Verwendung sowohl funktionaler als auch Verhaltensmodelle können Software -Ingenieure eine klare und vollständige Darstellung des Softwaresystems erstellen, um sicherzustellen, dass die Anforderungen und Funktionen wie beabsichtigt erfüllt werden.