Wirtschaftsinformatik (Bachelor-Studiengang): Modellierung betrieblicher Anwendungssysteme (4. Semester)

Sie sind hier: StartseiteWirtschaftsinformatikModellierung von Anwendungssystemen

MST / CM, Kurs vom 01.10.2003 - 31.03.2004

Modellierung von Anwendungssystemen: Einführung (Prozessmodelle für die Entwicklung objektorientierter Anwendungssysteme, Grundprinzipien der Objektorientierung, Grundlagen des Rational Unified Process, V-Modell 97: ein Vorgehenskonzept für die objektorientierte Software-Entwicklung, Struktur des V-Modells), Objektorientiertes Design (OOD) und Gestaltung der Architektur von Anwendungssystemen (Einführung und Überblick, Aufgaben der Entwurfsphase, Anforderungen an eine Software-Architektur aus Sicht der Objektorientierung, Ergebnisse der Entwicklung einer Software-Architektur, Designmodell für Systemkomponenten entwickeln, Anwendungsarchitektur, Komponentenorientierte Anwendungsentwicklung, Framework, Design Pattern).

  1. Einführung
  2. OOD und Gestaltung der Architektur von Anwendungssystemen

Einführung

Prozessmodelle für die Entwicklung objektorientierter Anwendungssysteme

Themenübersicht:

Ausgangssituation:

Warum braucht man ein Prozessmodell:

Prozessmodelle regeln den gesamten Prozess der Software-Entwicklung:

Ein Prozessmodell ist eine abstrakte Beschreibung des Software-Entwicklungsprozesses.

Wozu dient ein Prozessmodell?

Was beinhaltet ein Prozessmodell:

  1. Geschäftsprozessmodellierung
  2. Anforderungsanalyse
  3. Analysemodelle erstellen
  4. Designmodelle erstellen
  5. Implementierung
  6. Test
  7. Auslieferung

Wie kann man qualitativ hochwertige Software auf wiederverwendbare Art und Weise entwickeln und pflegen:

Hinweis: Software Best Practices

Grundprinzipien der Objektorientierung

Anforderungen zur Auswahl eines Prozessmodells für die Entwicklung komplexer objektorientierter Anwendungssysteme:

Prozessmodelle (Auswahl):

Merkmale des Wasserfallmodells:

Merkmale des iterativen, inkrementellen Vorgehen:

Grundlagen des Rational Unified Process

Phasen des RUP:

Worker - Rollenkonzept im RUP:

  1. Analytiker
    • Use-Case-Spezifizierer
    • Geschäftsprozessanalytiker
    • Geschäftsprozessdesigner
    • Systemanalytiker
    • Geschäftsprozessmodellgutachter
    • Anforderungsgutachter
  2. Manager>
    • Projektmanager (Projektleiter)
    • Projektgutachter
    • Prozessmanager
    • Verteilungsmanager
    • Konfigurationsmanager
    • Verteilungsmanager
  3. Entwickler
    • Datenbank-Designer
    • Designer
    • Systemintegrator
    • Architektur-Gutachter
    • Design-Gutachter
    • Code-Gutachter
    • Implementierer (Software-Entwickler)
  4. Tester
    • Testdesigner
    • Systemtester
    • Integrationstester
    • Performance-Tester

V-Modell 97: ein Vorgehenskonzept für die objektorientierte Software-Entwicklung

V-Modell:

V-Modell 97 regelt die Entwicklung von IT-Systemen über drei Ebenen:

Die Vorgehensebene - über das Vorgehensmodell
Die Methodenebene - über die Methodenzuordnung
Die Werkzeugebene - über die funktionalen Werkzeuganforderungen

Struktur des V-Modells

Ein V-Modell besteht aus folgenden Elementen:

Submodelle des V-Modells:

Prozessmodelle zur Unterstützung der Software-Entwicklung:

Nutzen eines maschinell unterstützten Prozessmodell:

Zum Menü Wirtschaftsinformatik | Zum Seitenanfang

Objektorientiertes Design (OOD) und Gestaltung der Architektur von Anwendungssystemen

Einführung und Überblick

Aufgabe des Entwerfens:

Einführung und Überblick

Bildbeschreibung "Einführung und Überblick": Gestaltungsphasen der Architektur von Anwendungssystemen und die Ergebnisse der einzelnen Phasen. Planungsphase (Lastenheft), Definitionsphase (Produkt-Definition: Pflichtenheft, Produkt-Modell, Konzept Benutzeroberfläche), Entwurfsphase (Produktentwurf: Software-Architektur, Spezifikation der Systemkomponenten), Implementierungsphase (Programme), Annahme und Einführungsphase (Installiertes Produkt).

Ziele der Entwurfsphase:

Für das zu entwerfende Produkt ist eine Software-Architektur zu erstellen, die die funktionalen und nichtfunktionalen Produktanforderungen sowie allgemeine und produktspezifische Qualitätsanforderungen erfüllt und die Schnittstellen zur Umgebung versorgt.

Aufgaben der Entwurfsphase

  1. Ermitteln und Festlegen der Umgebungs- und Randbedingungen
  2. Treffen grundlegender Entwurfsentscheidungen
  3. Entwerfen einer Software-Architektur
    • Zerlegung des definierten Systems in Systemkomponenten
    • Strukturierung des Systems durch geeignete Anordnung der Systemkomponenten
    • Beschreibung der Beziehungen zwischen den Systemkomponenten
  4. Spezifikation des Funktions- und Leistungsumfangs sowie des Verhaltens der Systemkomponenten in informaler, semiformaler oder formaler Weise
  5. Festlegung der Schnittstellen, über die die Systemkomponenten miteinander kommunizieren.

Verteilungsalternativen beim Client/Server-Konzept:

Verteilungsalternativen beim Client/Server-Konzept

Bildbeschreibung "Verteilungsalternativen beim Client/Server-Konzept": Entfernte Datenhaltung = Benutzeroberfläche und eigentliche Anwendung beim Client, Datenhaltung auf Server-Seite. Entfernte Benutzeroberfläche = Benutzeroberfläche beim Client, eigentliche Anwendung und Datenhaltung auf Server-Seite. Kooperative Verwaltung = Benutzeroberfläche und Anwendung Teil 1 beim Client, Anwendung Teil 2 und Datenhaltung auf Server-Seite.

Was ist eine Software-Architektur?

Darstellung der Struktur eines Software-Systems auf der Basis von Komponenten:

Struktur eines Softwaresystems auf der Basis von Komponenten

Bildbeschreibung "Struktur eines Software-Systems auf der Basis von Komponenten": Verschiedene Systemkomponenten sind durch Beziehungen miteinander verknüpft.

Drei-Schichten-Software-Architektur:

Schicht 2: Benutzeroberfläche
Schicht 1: eigentliche Anwendung
Schicht 0: Datenhaltung

Vier-Schichten-Software-Architektur:

Schicht 1: Benutzeroberfläche
Schicht 2: Anwendungskern
Schicht 3: Datenzugriffsschicht
Schicht 4: Datenhaltung

Anforderungen an eine Software-Architektur aus Sicht der Objektorientierung

Entwurf eines komponentenbasierten Anwendungssystems:

Objektorientierter Software-Entwurf (Vorgehensschritte):

Ergebnisse der Entwicklung einer Software-Architektur

Vier-Schichten-Klassenarchitektur:

Vier-Schichten-Klassenarchitektur

Bildbeschreibung "Vier-Schichten-Klassenarchitektur": Interface-Klassen, Anwendungskern, Datenzugriffsklassen, Systemklassen.

Designmodell für Systemkomponenten entwickeln

Bestandteil des Designmodells:

Anwendungsarchitektur

Ein Entwurf der Architektur des künftigen Anwendungssystems ist bereits vor den Designaktivitäten erforderlich.

Die Anwendungsarchitektur

Sie beschreibt die innere Struktur des Anwendungssystems und seiner Komponenten aus fachlicher Sicht.

Bestandteile der Anwendungsarchitektur:

  1. Vorgangssteuerung (fachliche Ablaufsteuerung)
    • initiiert, überwacht und steuert die Abarbeitung des Geschäftsvorfalls aus fachlicher Sicht
    • die technischen und formalen Aspekte (Aufruf des Dialogs) übernimmt die Interaktionssteuerung
  2. Interaktionssteuerung (Controller, technische Ablaufsteuerung)
    • Realisierung der Dialogsteuerung, d.h. sie regelt die Kommunikation zwischen den Dialogen und den Business-Objekten.
    • Sie gewährleistet u.a. das Anzeigen und Aufblenden der Dialoge, Weiterleitung von Fehler- und Statusmeldungen
  3. Dialoge (Präsentation, Viewer)
    • Dialoge bilden die Schnittstelle zum Anwender
    • sie dienen zur Präsentation der Informationen und nehmen Eingaben entgegen

Komponentenorientierte Anwendungsentwicklung

Konzepte der Wiederverwendung

Was ist eine Komponente?

Anforderungen an Komponenten:

Komponenten müssen:

Kategorien von Komponenten:

UML 2.0 klassifiziert Komponenten in folgende Kategorien:

Framework

Ein Framework ist eine Menge kooperierender Klassen, die für eine spezifische Art von Anwendungen wiederverwendet werden kann.

Die Klassen eines Frameworks sind abstrakte Klassen, die bei der Wiederverwendung des Frameworks spezialisiert werden.

Ein Framework stellt aus der Sicht der Architektur einen universellen, steuernden Rahmen dar, in den Komponenten eingebettet sind.

Das Ziel der Entwicklung von Frameworks ist es, Gemeinsamkeiten verschiedener Anwendungen eines Problembereiches zu erfassen und abzubilden.

Teilarchitekturen der Gesamt-Architektur eines Anwendungssystems:

Model Driven Architecture (MDA):

PIM -> PSM -> EDM

Vorteile von Frameworks:

Design Pattern

Beschreibung der Design Pattern:

Beschreibung des Entwurfsproblems und des Kontextes, in dem die Lösung gültig ist.

Beschreibung der Eigenschaften des Entwurfsmusters mit: