Wie lautet der Gesamtansatz der Systemgestaltung?
Strategieentwicklung
Ausgangspunkt gestalterischer Überlegungen
Prozessgestaltung
(Re-)Organisation des Geschäftsprozesses eines Geschäftsbereichs (vornehmlich Leistungserstellungsprozesse)
Anwendungssystemgestaltung
Steigerung der Prozessqualität und –effizienz durch umfassenden, innovativen Einsatz von IuK-Systemen
Organisationsgestaltung
Schaffung organisatorischer Strukturen, die der Prozess(re)organisation und dem Einsatz
unterstützender Technologien Rechnung tragen
Ausgangspunkt gestalterischer Überlegungen
Prozessgestaltung
(Re-)Organisation des Geschäftsprozesses eines Geschäftsbereichs (vornehmlich Leistungserstellungsprozesse)
Anwendungssystemgestaltung
Steigerung der Prozessqualität und –effizienz durch umfassenden, innovativen Einsatz von IuK-Systemen
Organisationsgestaltung
Schaffung organisatorischer Strukturen, die der Prozess(re)organisation und dem Einsatz
unterstützender Technologien Rechnung tragen
Wie lauten die Komponenten des Gestaltungsansatzes?
Phasenkonzept
o Untergliederung der Gestaltungsaktivitäten in mehrere Abschnitte
(Gestaltungs-)Methoden
o Methoden zur Erarbeitung der angestrebten Gestaltungsergebnisse in den Phasen
Werkzeuge
o optionale Komponenten zur Unterstützung der Gestaltungstätigkeiten in Phasen
o Untergliederung der Gestaltungsaktivitäten in mehrere Abschnitte
(Gestaltungs-)Methoden
o Methoden zur Erarbeitung der angestrebten Gestaltungsergebnisse in den Phasen
Werkzeuge
o optionale Komponenten zur Unterstützung der Gestaltungstätigkeiten in Phasen
Business-Reengineering - Merkmale?
- Ansatz zur radikalen Unternehmenserneuerung
(1993, Hammer/Champy)
- IuK-Technologien als Innovationspotential und Enabler
Gestaltungsfelder: ganzheitlicher Ansatz
Gestaltungsumfang: alle Geschäftsprozesse; sinnvoll jedoch Beschränkung auf problematische Prozesse
Gestaltungsart: Individualisierung
Ausrichtung :Prozess- und Kundenorientierung
Ausgangspunkt: vom Istzustand losgelöster Idealzustand
Vorgehensweise: Top down (von oben nach unten gerichtete Strategie der schrittweisen Verfeinerung)
(1993, Hammer/Champy)
- IuK-Technologien als Innovationspotential und Enabler
Gestaltungsfelder: ganzheitlicher Ansatz
Gestaltungsumfang: alle Geschäftsprozesse; sinnvoll jedoch Beschränkung auf problematische Prozesse
Gestaltungsart: Individualisierung
Ausrichtung :Prozess- und Kundenorientierung
Ausgangspunkt: vom Istzustand losgelöster Idealzustand
Vorgehensweise: Top down (von oben nach unten gerichtete Strategie der schrittweisen Verfeinerung)
Geschäftsprozess- und Geschäftsprozess-Modellierung Merkmale eines Geschäftsprozesses?
o zielgerichtete, zeitlich-logische Abfolge von Aufgaben, die arbeitsteilig von mehreren Organisationen oder Organisationseinheiten unter Nutzung von IuK- Technologien ausgeführt werden
o dient der Erstellung von Leistungen entsprechend den aus den Unternehmenszielen abgeleiteten Prozesszielen
o maximaler Detaillierungsgrad der Beschreibung ist erreicht,
wenn die ausgewiesenen Aufgaben je in einem Zug, von einem Mitarbeiter ohne Wechsel des Arbeitsplatzes ausgeführt werden können
o dient der Erstellung von Leistungen entsprechend den aus den Unternehmenszielen abgeleiteten Prozesszielen
o maximaler Detaillierungsgrad der Beschreibung ist erreicht,
wenn die ausgewiesenen Aufgaben je in einem Zug, von einem Mitarbeiter ohne Wechsel des Arbeitsplatzes ausgeführt werden können
Geschäftsprozess- und Geschäftsprozess-Modellierung In Arten von Geschäftsprozessen?
Leistungsprozesse
- an Kundenbedürfnisse ausgerichtet
- dienen der Erstellung und Vermarktung von Produkten und Dienstleistungen
Unterstützungsprozesse
- Aufbau und Pflege der benötigten Ressourcen
Führungsprozesse
- Überwachung der Finanzen
- Führung der Mitarbeiter
- Strategieentwicklung und -umsetzung
- an Kundenbedürfnisse ausgerichtet
- dienen der Erstellung und Vermarktung von Produkten und Dienstleistungen
Unterstützungsprozesse
- Aufbau und Pflege der benötigten Ressourcen
Führungsprozesse
- Überwachung der Finanzen
- Führung der Mitarbeiter
- Strategieentwicklung und -umsetzung
Merkmale der Geschäftsprozess- und Geschäftsprozess-Modellierung?
Gestaltungsfelder: Geschäftsprozesse, organisatorische Strukturen, Anwendungssysteme
Gestaltungsumfang: wichtigste Geschäftsprozesse
Gestaltungsart: Neugestaltung, begrenzte Individualisierung
Ausrichtung: Prozessorientierung
Ausgangspunkt: Idealzustand und Istzustand
Vorgehensweise: Top down, Integration von Bottom up
- IuK-Technologien als Innovationspotential und Enabler
- evolutionäre Entwicklung der Prozesse
Gestaltungsumfang: wichtigste Geschäftsprozesse
Gestaltungsart: Neugestaltung, begrenzte Individualisierung
Ausrichtung: Prozessorientierung
Ausgangspunkt: Idealzustand und Istzustand
Vorgehensweise: Top down, Integration von Bottom up
- IuK-Technologien als Innovationspotential und Enabler
- evolutionäre Entwicklung der Prozesse
Workflow und Workflow-Spezifikation - Eigenschaften?
Workflow
o formal beschriebene, ganz oder teilweise automatisierter Geschäftsprozess
o beinhaltet zeitliche, fachliche und ressourcenbezogene Spezifikation zur automatischen Steuerung des Arbeitsablaufes
o anzustoßende Arbeitsschritte zur Ausführung durch Mitarbeiter oder IuK-Systeme vorgesehen
o formal beschriebene, ganz oder teilweise automatisierter Geschäftsprozess
o beinhaltet zeitliche, fachliche und ressourcenbezogene Spezifikation zur automatischen Steuerung des Arbeitsablaufes
o anzustoßende Arbeitsschritte zur Ausführung durch Mitarbeiter oder IuK-Systeme vorgesehen
Workflow und Workflow-Spezifikation
Objekte und Beschreibung?
Objekte und Beschreibung?
Workflow-Schema
- formale Beschreibung des Workflows (Workflow-Spezifikation)
Workflow-Instanz
- konkrete Ausführung eines Workflows
allgemeiner Workflow
- gut strukturierte und repetitiv auszuführende Abläufe
fallbezogener Workflow
- geringer Formalisierungsgrad
Ad-hoc Workflow
- nicht modellierbar, da nicht-repetitive Einzelprozesse
Workflow-Management-Systeme (WFMS)
- automatische Steuerung von Workflows
- formale Beschreibung des Workflows (Workflow-Spezifikation)
Workflow-Instanz
- konkrete Ausführung eines Workflows
allgemeiner Workflow
- gut strukturierte und repetitiv auszuführende Abläufe
fallbezogener Workflow
- geringer Formalisierungsgrad
Ad-hoc Workflow
- nicht modellierbar, da nicht-repetitive Einzelprozesse
Workflow-Management-Systeme (WFMS)
- automatische Steuerung von Workflows
Geschäftsprozess-Management -
Eigenschaften Prozessabgrenzung
Eigenschaften Prozessabgrenzung
- Anfang und Ende von Prozessen, Beziehungen zwischen Prozessen, Bedeutung für dasUnternehmen
- Ausganspunkte: strategische Vorgaben, bestehende Arbeitsabläufe
- Umsetzung in drei Schritten
# Ableitung von Prozesskandidaten
# Beschreibung von Prozesskandidaten
# Auswahl der zu modellierenden Prozesse
- Ausganspunkte: strategische Vorgaben, bestehende Arbeitsabläufe
- Umsetzung in drei Schritten
# Ableitung von Prozesskandidaten
# Beschreibung von Prozesskandidaten
# Auswahl der zu modellierenden Prozesse
Geschäftsprozess-Management: Prozessabgrenzung
Aufgaben - Beschreibung von Prozesskandidaten?
Aufgaben - Beschreibung von Prozesskandidaten?
Beschreibung von Prozesskandidaten
- Verdeutlichung des Prozesszwecks, des Prozessinhalts sowie der
Beziehungen zwischen Prozessen
- Beschreibungskriterien: Aufgaben der Prozesskandidaten, erbrachte Prozessleistungen, korrespondierende Kundenprozesse
- Verdeutlichung des Prozesszwecks, des Prozessinhalts sowie der
Beziehungen zwischen Prozessen
- Beschreibungskriterien: Aufgaben der Prozesskandidaten, erbrachte Prozessleistungen, korrespondierende Kundenprozesse
Geschäftsprozess-Management: Prozessabgrenzung
Aufgaben - Auswahl der zu modellierenden Prozesse?
Aufgaben - Auswahl der zu modellierenden Prozesse?
Auswahl der zu modellierenden Prozesse
- strategisches Potential
- ökonomisches Potential
- technologisches Potential
- Standardisierbarkeit
- anschließend Bewertung der Prozesskandidaten, evtl. auch mit portfolio-orientierter Bewertung (z.B. Diagramm nach Prozessergebnisbeitrag und Reorgansisationsbedarf)
- strategisches Potential
- ökonomisches Potential
- technologisches Potential
- Standardisierbarkeit
- anschließend Bewertung der Prozesskandidaten, evtl. auch mit portfolio-orientierter Bewertung (z.B. Diagramm nach Prozessergebnisbeitrag und Reorgansisationsbedarf)
Geschäftsprozess-Management: Prozessmodellierung
Eigenschaften??
Eigenschaften??
- (semi)formale Beschreibung gegebener oder neu gestalteter Geschäftsprozesse
Phasenmodell
- systematische Gliederung von Entwicklungsvorhaben
Sichtenkonzept
- separate Betrachtung fachbezogener Zusammenhänge
Modellierungsmethode
Phasenmodell
- systematische Gliederung von Entwicklungsvorhaben
Sichtenkonzept
- separate Betrachtung fachbezogener Zusammenhänge
Modellierungsmethode
Geschäftsprozess-Management: Prozessmodellierung
Merkmale Phasenmodell?
Merkmale Phasenmodell?
Prozessentwurf nach Österle (1995)
- Erhebung des Ist-Zustandes
- Analyse der Potentiale (Makro-Ebene)
- Konzipierung des Soll-Zustandes
- Workflow (Mikro-Ebene)
Prozessentwurf nach Rauschecker (1998)
- Soll-Zustand aus Abstimmung von Vision und Strategie einerseits und Beschränkungen des Ist-Zustandes andererseits Systemanalytisches Vorgehen
- Projektdefinition: Abgrenzung des Modellierungsbereichs, Erstellung Termin- und Ressourcenplan
- Ist-Analyse: (semi)formale Beschreibung der durchgeführten Geschäftsprozesse und Analyse der Schwachstellen
- Potential-Analyse: Abgrenzung der visionären, technologischen und strategischen Aspekte
- Soll-Konzept: Entwurf der Soll-Prozesse, Beschreibung der Soll-Prozesse in einer speziellen Datenbank (Prozess-Repository)
- Durchführbarkeitsstudie: praktische Umsetzbarkeit Soll-Konzept klären
- Erhebung des Ist-Zustandes
- Analyse der Potentiale (Makro-Ebene)
- Konzipierung des Soll-Zustandes
- Workflow (Mikro-Ebene)
Prozessentwurf nach Rauschecker (1998)
- Soll-Zustand aus Abstimmung von Vision und Strategie einerseits und Beschränkungen des Ist-Zustandes andererseits Systemanalytisches Vorgehen
- Projektdefinition: Abgrenzung des Modellierungsbereichs, Erstellung Termin- und Ressourcenplan
- Ist-Analyse: (semi)formale Beschreibung der durchgeführten Geschäftsprozesse und Analyse der Schwachstellen
- Potential-Analyse: Abgrenzung der visionären, technologischen und strategischen Aspekte
- Soll-Konzept: Entwurf der Soll-Prozesse, Beschreibung der Soll-Prozesse in einer speziellen Datenbank (Prozess-Repository)
- Durchführbarkeitsstudie: praktische Umsetzbarkeit Soll-Konzept klären
Geschäftsprozess-Management: Prozessmodellierung
Merkmale Sichtenkonzept?
Merkmale Sichtenkonzept?
ARIS (Scheer 1998)
- Organisationssicht, Datensicht, Funktionssicht, Leistungssicht, Steuerungssicht
PROMET (Österle 1995)
- Organisation, Daten, Funktionen (, Personal, ...)
SOM (Ferstl/Sinz 1995)
- Leistungssicht, Lenkungssicht, Ablaufsicht
- Organisationssicht, Datensicht, Funktionssicht, Leistungssicht, Steuerungssicht
PROMET (Österle 1995)
- Organisation, Daten, Funktionen (, Personal, ...)
SOM (Ferstl/Sinz 1995)
- Leistungssicht, Lenkungssicht, Ablaufsicht
Geschäftsprozess-Management: Prozessmodellierung
Notationsformen in der Modellierungsmethode?
Notationsformen in der Modellierungsmethode?
- Typ der Modellierungssprache – von Art der verwendeten Zeichen bzw. Symbolen sowie vom Formalisierungsgrad abhängig
nicht-formale Methoden
- z.B. verbal-sprachliche Beschreibungsform, an natürliche Sprachen angelehnt
- geringe Eignung
semiformale Methoden
- z.B. grafisch-sprachliche Beschreibungsform, neben Symbolen auchalphanumerische Zeichen zur Beschriftung
formale Methoden
- z.B. mathematische Formelsprache
- geringe Eignung
nicht-formale Methoden
- z.B. verbal-sprachliche Beschreibungsform, an natürliche Sprachen angelehnt
- geringe Eignung
semiformale Methoden
- z.B. grafisch-sprachliche Beschreibungsform, neben Symbolen auchalphanumerische Zeichen zur Beschriftung
formale Methoden
- z.B. mathematische Formelsprache
- geringe Eignung
Geschäftsprozess-Management: Prozessmodellierung
Arten der Diagrammsprache?
Arten der Diagrammsprache?
Geschäftsprozesse meist mit gerichteten Graphien modelliert, Knoten Modellierungsobjekte, Kanten Beziehungen
Petri-Netze (Petri 1962)
- gute Darstellung dynamischer Aspekte von
Arbeitsabläufen
Strukturierte Methoden
- basieren auf Ansatz der „Strukturierten Analyse“ aus der Softwareentwicklung
Objektorientierte Methoden
- folgen objektorientierten Paradigma der Softwareentwicklung
Vorgangskettendiagramme
- Beschreibung von Geschäftsprozessen mittels
spaltenorientiertem Beschreibungsschema unter Verwendung der Symbolik des herkömmlichen Datenflussplans
Petri-Netze (Petri 1962)
- gute Darstellung dynamischer Aspekte von
Arbeitsabläufen
Strukturierte Methoden
- basieren auf Ansatz der „Strukturierten Analyse“ aus der Softwareentwicklung
Objektorientierte Methoden
- folgen objektorientierten Paradigma der Softwareentwicklung
Vorgangskettendiagramme
- Beschreibung von Geschäftsprozessen mittels
spaltenorientiertem Beschreibungsschema unter Verwendung der Symbolik des herkömmlichen Datenflussplans
Geschäftsprozess-Management: Prozessmodellierung
Eigenschaften des Begriffssystem?
Eigenschaften des Begriffssystem?
Begriffssystem
- Definition und Darstellung modellierungsrelevanter Sachverhalte
Objekte
- Prozessschritte
- Objekte (werden in Prozessschritten bearbeitet)
- Kontroll- und Steuerflüsse
- Aufgabenträger (führen Prozessschritte aus)
- Definition und Darstellung modellierungsrelevanter Sachverhalte
Objekte
- Prozessschritte
- Objekte (werden in Prozessschritten bearbeitet)
- Kontroll- und Steuerflüsse
- Aufgabenträger (führen Prozessschritte aus)
Geschäftsprozess-Management: Prozessmodellierung
Eigenschaften des Prozess-Repository?
Eigenschaften des Prozess-Repository?
- Datenlexikon zur Beschreibung der Modellbausteine eines Prozessmodells und der zwischen den Bausteinen bestehenden Beziehungen
- Auskunftstool: Bereitstellung geeignet aufbereiteter Informationen über Einzelbausteine, Bausteingruppen, Einzelverbindungen etc. für Gestaltungs- und Analysezwecke
- Beschreibungstool: Definition und detaillierte Beschreibung der Bausteine und zwischen den Bausteinen bestehenden Verbindungen
- Unterstützung der Modellgenerierung: automatische Erstellung undgrafische Ausgabe von Prozessmodellen
- Vollständigkeits- und Konsistenzüberprüfung der Objektbeschreibungen
- Bereitstellung von Informationen für Zwecke des Prozess-Managements
- Auskunftstool: Bereitstellung geeignet aufbereiteter Informationen über Einzelbausteine, Bausteingruppen, Einzelverbindungen etc. für Gestaltungs- und Analysezwecke
- Beschreibungstool: Definition und detaillierte Beschreibung der Bausteine und zwischen den Bausteinen bestehenden Verbindungen
- Unterstützung der Modellgenerierung: automatische Erstellung undgrafische Ausgabe von Prozessmodellen
- Vollständigkeits- und Konsistenzüberprüfung der Objektbeschreibungen
- Bereitstellung von Informationen für Zwecke des Prozess-Managements
Ansatz zur Modellierung von Geschäftsprozessen
Objekte in der Erstellung von Geschäftsprozessmodellen?
Objekte in der Erstellung von Geschäftsprozessmodellen?
Geschäftsprozessschritt
o Teil eines Arbeitsablaufes für dessen Ausführung eine organisatorische Einheit verantwortlich ist
Kontrollfluss
o Darstellung der Ablauffolge von Prozessschritten
Logische Verknüpfungen
o UND, ODER, XOR
Eintrittspunkt
o Anfang eines Prozesses
Austrittspunkt
o Ende eines Prozesses
Konnektoren
o Vorgänger-Konnektor: Anknüpfungspunkt am Anfang eines Teil-Geschäftsprozesses
o Teil eines Arbeitsablaufes für dessen Ausführung eine organisatorische Einheit verantwortlich ist
Kontrollfluss
o Darstellung der Ablauffolge von Prozessschritten
Logische Verknüpfungen
o UND, ODER, XOR
Eintrittspunkt
o Anfang eines Prozesses
Austrittspunkt
o Ende eines Prozesses
Konnektoren
o Vorgänger-Konnektor: Anknüpfungspunkt am Anfang eines Teil-Geschäftsprozesses
Geschäftsprozess-Management Prozessführung
Führungskreislauf - Step 1?
Führungskreislauf - Step 1?
Definition von Prozesszielen
- aus strategischen Zielen des Geschäftsfeldes
- Vorgabe der angestrebten Zielerreichung
- Konzept der kritischen Erfolgsfaktoren
# Erfolg eines Unternehmens maßgeblich von wenigen Faktoren bestimmt
- aus strategischen Zielen des Geschäftsfeldes
- Vorgabe der angestrebten Zielerreichung
- Konzept der kritischen Erfolgsfaktoren
# Erfolg eines Unternehmens maßgeblich von wenigen Faktoren bestimmt
Geschäftsprozess-Management Prozessführung
Ermittlung Fürhungsgrößen inkl. 1. Ableitungsschritt?
Ermittlung Fürhungsgrößen inkl. 1. Ableitungsschritt?
- lassen sich aus beobachtbaren Prozessleistungen bestimmen
- repräsentieren Prozessziel inhaltlich
1. Ableitungsschritt
Ausgansbasis strategische Ziele bzw. kritische Erfolgsfaktoren eines Geschäftsfeldes
allgemein gültige Erfolgsfaktoren
- gelten für jegliche wirtschaftliche Betätigung
- prozessübergreifend
- Interpretation notwendig, um Bezug auf aktuell
betrachteten Prozess herzustellen
prozessspezifische Erfolgsfaktoren
- spezifische Situation eines Prozesses
- unmittelbar für Auswahl von kritischen Erfolgsfaktoren verwendbar
- repräsentieren Prozessziel inhaltlich
1. Ableitungsschritt
Ausgansbasis strategische Ziele bzw. kritische Erfolgsfaktoren eines Geschäftsfeldes
allgemein gültige Erfolgsfaktoren
- gelten für jegliche wirtschaftliche Betätigung
- prozessübergreifend
- Interpretation notwendig, um Bezug auf aktuell
betrachteten Prozess herzustellen
prozessspezifische Erfolgsfaktoren
- spezifische Situation eines Prozesses
- unmittelbar für Auswahl von kritischen Erfolgsfaktoren verwendbar
Geschäftsprozess-Management Prozessführung
Ermittlung Fürhungsgrößen - 2. Ableitungsschritt?
Ermittlung Fürhungsgrößen - 2. Ableitungsschritt?
2. Ableitungsschritt
- mehrere den kritischen Erfolgsfaktor bestimmende Führungsgrößen zu ermitteln
- sollen gestatten, den Faktorbeitrag zum Prozesserfolg zu messen
finanzielle Größen
- aus dem Rechnungswesen, nicht direkt (indirekt)
einem Prozess zu entnehmen
quantitative Größen
- der Messung unmittelbar zugänglich (direkt)
qualitative Größen
- mittels Bewertungsskalen Messung im weiteren Sinne möglich
generell anwendbare Größen
- müssen interpretiert werden, um prozessspezifische
Größen zu erhalten
- mehrere den kritischen Erfolgsfaktor bestimmende Führungsgrößen zu ermitteln
- sollen gestatten, den Faktorbeitrag zum Prozesserfolg zu messen
finanzielle Größen
- aus dem Rechnungswesen, nicht direkt (indirekt)
einem Prozess zu entnehmen
quantitative Größen
- der Messung unmittelbar zugänglich (direkt)
qualitative Größen
- mittels Bewertungsskalen Messung im weiteren Sinne möglich
generell anwendbare Größen
- müssen interpretiert werden, um prozessspezifische
Größen zu erhalten
Geschäftsprozess-Management Prozessführung
Messung der Zielerreichung - Arten?
Messung der Zielerreichung - Arten?
Prozessleistungen
- Ergebnisse von Prozessen bzw. Prozessschritten
- auch Input für weitere Leistungserstellung
- Leistungen erst dann dokumentieren, wenn Zustandsänderung zu
Ergebnis mit Produktcharakter und Produktbezeichnung geführt hat
Prozesskosten
- mit traditionellen Systemen der Kostenrechnung nicht ohne weiteres ermittelbar
- Konzept der Verrechnungssatzkalkulation
- Ergebnisse von Prozessen bzw. Prozessschritten
- auch Input für weitere Leistungserstellung
- Leistungen erst dann dokumentieren, wenn Zustandsänderung zu
Ergebnis mit Produktcharakter und Produktbezeichnung geführt hat
Prozesskosten
- mit traditionellen Systemen der Kostenrechnung nicht ohne weiteres ermittelbar
- Konzept der Verrechnungssatzkalkulation
Ansatz zur Modellierung von Geschäftsprozessen
Charakterisierung Organisationssicht??
Charakterisierung Organisationssicht??
Organisationsobjekt
- repräsentiert interne oder externe ganze Organisation
Organisationszuordnung
- Zuordnung eines Organisationsobjektes zu einem Prozess oder
Prozessschritt
- durch punktierte Linie
Hierarchiebeziehung
- verbindet genau zwei Organisationsobjekte und gestattet Über- bzw. Unterordnung
- repräsentiert interne oder externe ganze Organisation
Organisationszuordnung
- Zuordnung eines Organisationsobjektes zu einem Prozess oder
Prozessschritt
- durch punktierte Linie
Hierarchiebeziehung
- verbindet genau zwei Organisationsobjekte und gestattet Über- bzw. Unterordnung
Ansatz zur Modellierung von Geschäftsprozessen
Charakterisierung Datensicht??
Charakterisierung Datensicht??
Datenobjekt
- Datenspeicher (formatierte Daten)
- Dokument
- werden als Input für Prozess(schritt) benötigt oder als Output erzeugt
Datenfluss
- Verbindung zwischen Prozess(schritt) und Datenobjekt
Assoziation
- zwischen zwei Datenobjekten bestehende Beziehung
- Kardinalitäten präzisieren Beziehungszusammenhang (z.B. 0,*)
- Datenspeicher (formatierte Daten)
- Dokument
- werden als Input für Prozess(schritt) benötigt oder als Output erzeugt
Datenfluss
- Verbindung zwischen Prozess(schritt) und Datenobjekt
Assoziation
- zwischen zwei Datenobjekten bestehende Beziehung
- Kardinalitäten präzisieren Beziehungszusammenhang (z.B. 0,*)
Datenorganisation - Schlüssel
Merkmal oder Merkmalskombination zur Kennzeichnung von Datensätzen
Identifikationsschlüssel
(eindeutige Identifikation eines Datensatzes durch seinen Wert)
Suchschlüssel (grenzt Menge der gesuchten Datensätze ein)
Sortierschlüssel
(bestimmt Reihenfolge der Datensätze in einer Datei)
Primärschlüssel (Hauptschlüssel, über den Zugriffe besonders effizient möglich sind)
Sekundärschlüssel (Nebenschlüssel für häufig benötigte Anfragen, die nicht über Primärschlüssel erfolgen)
Identifikationsschlüssel
(eindeutige Identifikation eines Datensatzes durch seinen Wert)
Suchschlüssel (grenzt Menge der gesuchten Datensätze ein)
Sortierschlüssel
(bestimmt Reihenfolge der Datensätze in einer Datei)
Primärschlüssel (Hauptschlüssel, über den Zugriffe besonders effizient möglich sind)
Sekundärschlüssel (Nebenschlüssel für häufig benötigte Anfragen, die nicht über Primärschlüssel erfolgen)
Datenorganisation - Anforderungen an Datenorganisation?
- Datenpersistenz
o dauerhafte und zuverlässige Speicherung
- Effizienz und Wirtschaftlichkeit
o kurze Zugriffs- und Antwortzeiten
o Kosten in angemessenem Verhältnis zum Nutzen
- Integrität
o inhaltliche Widerspruchsfreiheit der Daten (Datenkonsistenz)
o Schutz vor Verlust, Verfälschung... (Datensicherheit)
o Schutz von Personen vor missbräuchlicher Verwendung personenbezogener Daten (Datenschutz)
- Minimal Redundanz
- Physische Datenunabhängigkeit
- Logische Datenunabhängigkeit
o Erweiterung auf logischer Ebene der Daten möglich ohne bestehende Anwendungsprogramme ändern zu müssen
o dauerhafte und zuverlässige Speicherung
- Effizienz und Wirtschaftlichkeit
o kurze Zugriffs- und Antwortzeiten
o Kosten in angemessenem Verhältnis zum Nutzen
- Integrität
o inhaltliche Widerspruchsfreiheit der Daten (Datenkonsistenz)
o Schutz vor Verlust, Verfälschung... (Datensicherheit)
o Schutz von Personen vor missbräuchlicher Verwendung personenbezogener Daten (Datenschutz)
- Minimal Redundanz
- Physische Datenunabhängigkeit
- Logische Datenunabhängigkeit
o Erweiterung auf logischer Ebene der Daten möglich ohne bestehende Anwendungsprogramme ändern zu müssen
Datenorganisation - Index-sequentielle Speicherung?
Voraussetzung ist Direktzugriffsspeicher
Index enthält Primärschlüsselwert des letzten und physische Adresse des ersten Datensatzes des jeweiligen Dateibereiches
Zugriff
o Suche im Index nach erstem Eintrag dessen Primärschlüssel größer ist als der Suchschlüssel, Adresse verweist auf zutreffenden Dateibereich
o Suche im Dateibereich bis gesuchter Datensatz gefunden
deutliche Effizienzvorteile bei Einfügen und Entfernen
neben fortlaufender auch effiziente wahlfreie Verarbeitung möglich
Index enthält Primärschlüsselwert des letzten und physische Adresse des ersten Datensatzes des jeweiligen Dateibereiches
Zugriff
o Suche im Index nach erstem Eintrag dessen Primärschlüssel größer ist als der Suchschlüssel, Adresse verweist auf zutreffenden Dateibereich
o Suche im Dateibereich bis gesuchter Datensatz gefunden
deutliche Effizienzvorteile bei Einfügen und Entfernen
neben fortlaufender auch effiziente wahlfreie Verarbeitung möglich
Datenorganisation - Verkettete Speicherung??
Datensätze physisch an beliebigen Stellen eines Speichers ablegbar
Voraussetzung Direktzugriffsspeicher
Kettenbildung durch Zeiger, der physische Adresse des folgenden Datensatzes enthält
effizientes Einfügen und Entfernen möglich
lediglich sequentielle Suche möglich
Voraussetzung Direktzugriffsspeicher
Kettenbildung durch Zeiger, der physische Adresse des folgenden Datensatzes enthält
effizientes Einfügen und Entfernen möglich
lediglich sequentielle Suche möglich
Datenorganisation - Index-verkettete Speicherung??
Index enthält größten Primärschlüssel einer Kette und Verweis auf den ersten zugehörigen Datensatz
Suche in der identifizierten Kette lediglich sequentiell möglich
deutliche Effizienzvorteile bei Einfügen und Entfernen
Überlauf kann aufgrund verketteter Speicherung nicht auftreten
mehrstufige Indizes bei großen Dateien sinnvoll
Suche in der identifizierten Kette lediglich sequentiell möglich
deutliche Effizienzvorteile bei Einfügen und Entfernen
Überlauf kann aufgrund verketteter Speicherung nicht auftreten
mehrstufige Indizes bei großen Dateien sinnvoll
Datenorganisation - Gestreute Speicherung??
Direktzugriffsspeicher notwendig
aus Primärschlüsselwert wird relative Speicheradresse berechnet, unter der Datensatz gespeichert wird
direkte Adressierung
o umkehrbar eindeutig
o nur Datenbestände mit numerischen Primärschlüsseln
o keine großen Lücken bei Primärschlüsselwerten, da sonst ineffiziente Speicherausnutzung
indirekte Adressierung
o nicht umkehrbar eindeutig
o kann zur Kollision synonymer Datenobjekte führen
o Kollisionsbehandlung kann Effizienz verringern
aus Primärschlüsselwert wird relative Speicheradresse berechnet, unter der Datensatz gespeichert wird
direkte Adressierung
o umkehrbar eindeutig
o nur Datenbestände mit numerischen Primärschlüsseln
o keine großen Lücken bei Primärschlüsselwerten, da sonst ineffiziente Speicherausnutzung
indirekte Adressierung
o nicht umkehrbar eindeutig
o kann zur Kollision synonymer Datenobjekte führen
o Kollisionsbehandlung kann Effizienz verringern
Datenorganisation - Speicherung mit Bäumen als Hilfsorganisation??
- statt Index-Tabellen baumartig strukturierte Hilfsorganisationen
- Baum
o besteht aus Knoten und Kanten
o oberster Knoten heißt Wurzel
o Knoten ohne Nachfolger heißen Blätter
- Index-Eintrag enthält Primärschlüssel und Speicheradresse des jeweiligen Datensatzes
- Suche
o Zugriff auf aktuellen Knoten (Anfang Wurzel)
o Suchschlüssel mit Primärschlüssel im aktuellen Knoten vergleichen; Erfolg – Suche beendet
o Suchschlüssel kleiner als Primärschlüssel – linker Nachfolger, sonst rechter Nachfolger und mit Schritt 1 neu beginnen
- äußerst effiziente Zugriffe in sehr großen Dateien
- auch Bäume mit einer deutlich höheren Anzahl an Nachfolgern pro Knoten möglich
- Baum
o besteht aus Knoten und Kanten
o oberster Knoten heißt Wurzel
o Knoten ohne Nachfolger heißen Blätter
- Index-Eintrag enthält Primärschlüssel und Speicheradresse des jeweiligen Datensatzes
- Suche
o Zugriff auf aktuellen Knoten (Anfang Wurzel)
o Suchschlüssel mit Primärschlüssel im aktuellen Knoten vergleichen; Erfolg – Suche beendet
o Suchschlüssel kleiner als Primärschlüssel – linker Nachfolger, sonst rechter Nachfolger und mit Schritt 1 neu beginnen
- äußerst effiziente Zugriffe in sehr großen Dateien
- auch Bäume mit einer deutlich höheren Anzahl an Nachfolgern pro Knoten möglich
Datenorganisation - Dateiorganisation mit invertierten Dateien als sekundäre Hilfsorganisation?
- unterstützen Selektion von Datensätzen für Selektionskriterien, welche keine Primärschlüssel sind
- invertierte Datei
o liefert für beliebigen Sekundärschlüsselwert den Primärschlüsselwert
- schnellerer Dateizugriff kostet Speicherplatz und Verwaltungsaufwand
- invertierte Datei
o liefert für beliebigen Sekundärschlüsselwert den Primärschlüsselwert
- schnellerer Dateizugriff kostet Speicherplatz und Verwaltungsaufwand
Datenorganisation - Suchen und Sortieren
Eigenschaften der binäre Suche?
Eigenschaften der binäre Suche?
o Voraussetzung sequentiell gespeicherter und nach Suchkriterium sortierter Datenbestand
o Suchbestand wird in zwei Hälften geteilt und mittleres Element mit Suchschlüssel verglichen, wonach entweder die Suche beendet ist oder im linken bzw. rechten Datenbestand weitergesucht werden muss; usw.
o sehr effizientes Verfahren; jedoch macht Vorsortierung nach Suchschlüssel Grundoperationen Einfügen und Löschen aufwändiger
o Suchbestand wird in zwei Hälften geteilt und mittleres Element mit Suchschlüssel verglichen, wonach entweder die Suche beendet ist oder im linken bzw. rechten Datenbestand weitergesucht werden muss; usw.
o sehr effizientes Verfahren; jedoch macht Vorsortierung nach Suchschlüssel Grundoperationen Einfügen und Löschen aufwändiger
Dateiverwaltung - Merkmale ... Vorteile??
separate Verwaltung durch Anwendungsprogramme unter Nutzung elementarer Dateisysteme
o jedes Anwendungsprogramm verwaltet von ihm benutzte Daten selbst
o Nutzung des vom Betriebssystem bereitgestellte elementare Dateisystem
o Nutzung der Zugriffsdienste über angebotene Programmierschnittstelle
o Nachteile
- Redundanz
- Inkonsistenz
- logische und physische Datenabhängigkeit
- Inflexibilität
- daher nicht für unternehmensweite Datenspeicherung, sondern nur für Speicherung streng lokaler Daten geeignet
o jedes Anwendungsprogramm verwaltet von ihm benutzte Daten selbst
o Nutzung des vom Betriebssystem bereitgestellte elementare Dateisystem
o Nutzung der Zugriffsdienste über angebotene Programmierschnittstelle
o Nachteile
- Redundanz
- Inkonsistenz
- logische und physische Datenabhängigkeit
- Inflexibilität
- daher nicht für unternehmensweite Datenspeicherung, sondern nur für Speicherung streng lokaler Daten geeignet
Merkmale der übergreifenden Datenverwaltung mit Hilfe von Dateiverwaltungssystemen?
o Zentralisierung der Dateiverwaltung
o Programmteile der Dateiverwaltung werden in zentrales Dienstprogramm ausgelagert
o Zugriff aus dieselbe Datei durch verschiedene Anwendungsprogramme möglich
o Vorteile
- Reduktion von Redundanz und Inkonsistenz
o Nachteile
- Redundanzen werden nur gemildert, treten aber noch in erheblichem Umfang auf
- logische Datenabhängigkeit besteht weiterhin
- physische Datenabhängigkeiten betreffen mehr Anwendungsprogramme als bei separater Datenverwaltung
- Inflexibilitäten
o Programmteile der Dateiverwaltung werden in zentrales Dienstprogramm ausgelagert
o Zugriff aus dieselbe Datei durch verschiedene Anwendungsprogramme möglich
o Vorteile
- Reduktion von Redundanz und Inkonsistenz
o Nachteile
- Redundanzen werden nur gemildert, treten aber noch in erheblichem Umfang auf
- logische Datenabhängigkeit besteht weiterhin
- physische Datenabhängigkeiten betreffen mehr Anwendungsprogramme als bei separater Datenverwaltung
- Inflexibilitäten
Datenbankorganisation - Datenbankentwurf - Phasen?
Problemabgrenzung und Anforderungsanalyse
o relevanten Realitätsausschnitt festlegen und beschreiben
o Informationsverarbeitungsprozesse darstellen und auf Schwachstellen untersuchen
Entwurf eines konzeptionellen Schemas
o systemunabhängige Beschreibung der Datenwelt in Form eines semantischen Datenmodells (z.B. ERM)
Entwurf des logischen Schemas und der externen Schemata o Transformation des konzeptionellen in das logische Schema unter Berücksichtigung der Ziel-DVBS in der vom Ziel-DVBS unterstützten logischen Datenbeschreibungssprache
o Anforderungen der verschiedenen Benutzergruppen in externen Schemata modellieren
Entwurf des internen Schemas
o Festlegung der Speicherstrukturen und Zugriffsmechanismen auf physischer Ebene
o bei großen Datenbeständen evtl. manuelle Optimierung des Schemas notwendig
o relevanten Realitätsausschnitt festlegen und beschreiben
o Informationsverarbeitungsprozesse darstellen und auf Schwachstellen untersuchen
Entwurf eines konzeptionellen Schemas
o systemunabhängige Beschreibung der Datenwelt in Form eines semantischen Datenmodells (z.B. ERM)
Entwurf des logischen Schemas und der externen Schemata o Transformation des konzeptionellen in das logische Schema unter Berücksichtigung der Ziel-DVBS in der vom Ziel-DVBS unterstützten logischen Datenbeschreibungssprache
o Anforderungen der verschiedenen Benutzergruppen in externen Schemata modellieren
Entwurf des internen Schemas
o Festlegung der Speicherstrukturen und Zugriffsmechanismen auf physischer Ebene
o bei großen Datenbeständen evtl. manuelle Optimierung des Schemas notwendig
Datenbankorganisation - Merkmale Entity-Relationship-Modell (ERM)?
o umfassendes Beschreibungsmittel zur expliziten Darstellung der Gesamtstruktur einer Datenwelt bzw. eines Datenbestandes einschließlich entitätsübergreifender Verknüpfungen
o Entitätstypen als Rechtecke dargestellt
o Beziehungstypen zwischen Entitätstypen als Rauten modelliert
o an jeder Kante wird Assoziationstyp für jeweiligen Entitätstyp notiert
o Schlüsselattribute sind unterstrichen
o rekursiver Beziehungstyp
Beziehungen zwischen Entitäten desselben Entitätstyps
o Entitätstypen als Rechtecke dargestellt
o Beziehungstypen zwischen Entitätstypen als Rauten modelliert
o an jeder Kante wird Assoziationstyp für jeweiligen Entitätstyp notiert
o Schlüsselattribute sind unterstrichen
o rekursiver Beziehungstyp
Beziehungen zwischen Entitäten desselben Entitätstyps
Datenbankorganisation - Entity-Relationship-Modell (ERM) - Erweiterungen?
Erweiterung der Beziehungstypen
- 1-1, 1-c, 1-m, 1-mc
- c-c, c-m, c-mc
- m-m, m-mc, mc-mc
Generalisierung
- Zusammenfassung von Entitätstypen zu einem Super-Entitätstyp
- durch Dreieckssymbol gekennzeichnet
Spezialisierung
- Aufspaltung eines Entitätstyps in Sub-Entitätstypen
- durch Dreieckssymbol gekennzeichnet
- 1-1, 1-c, 1-m, 1-mc
- c-c, c-m, c-mc
- m-m, m-mc, mc-mc
Generalisierung
- Zusammenfassung von Entitätstypen zu einem Super-Entitätstyp
- durch Dreieckssymbol gekennzeichnet
Spezialisierung
- Aufspaltung eines Entitätstyps in Sub-Entitätstypen
- durch Dreieckssymbol gekennzeichnet
Datenbankorganisation - Merkmale des relationalen Datenbankmodells?
o geht von gegebenen Datenbestand auf Attributebene aus und zielt auf Strukturierung des Datenbestandes
o Schaffung redundanzfreier Strukturen durch Normalisierung
o Vermeidung der Vermischung unabhängiger Sachverhalte in einer Relation
o Schaffung redundanzfreier Strukturen durch Normalisierung
o Vermeidung der Vermischung unabhängiger Sachverhalte in einer Relation
Datenbankorganisation - relationale Datenbankmodell
Normalisierung - 2. Normalform?
Normalisierung - 2. Normalform?
in Relation jedes Nichtschlüsselattribut vom Identifikationsschlüssel vollfunktional abhängig
Normalisierung ggf. durch Aufspaltung von Relation in mehrere Relationen, Verbindung zwischen Relationen über globale Attribute (gemeinsame Attribute) durch Aufnahme des Identifikationsschlüssels einer Relation als Attribut einer anderen Relation (Fremdschlüssel in der Relation, in der er nicht Identifikationsschlüssel ist)
funktionale Abhängigkeit
o für Wert von Attribut bzw. Attributkombination A existiert in
selber Relation höchstens ein Wert in Attribut bzw.
Attributkombination B
vollfunktionale Abhängigkeit
o Attribut bzw. Attributkombination A und B: B von A funktional abhängig und B nicht schon allein von Teil von A funktional abhängig
Normalisierung ggf. durch Aufspaltung von Relation in mehrere Relationen, Verbindung zwischen Relationen über globale Attribute (gemeinsame Attribute) durch Aufnahme des Identifikationsschlüssels einer Relation als Attribut einer anderen Relation (Fremdschlüssel in der Relation, in der er nicht Identifikationsschlüssel ist)
funktionale Abhängigkeit
o für Wert von Attribut bzw. Attributkombination A existiert in
selber Relation höchstens ein Wert in Attribut bzw.
Attributkombination B
vollfunktionale Abhängigkeit
o Attribut bzw. Attributkombination A und B: B von A funktional abhängig und B nicht schon allein von Teil von A funktional abhängig
Datenbankorganisation - relationale Datenbankmodell
Normalisierung - 3. Normalform?
Normalisierung - 3. Normalform?
kein Nichtschlüsselattribut hängt transitiv vom
Identifikationsschlüssel ab
Normalisierung ggf. durch weitere Aufspaltung in Relationen
transitive Abhängigkeit
o Attribut bzw. Attributkombinationen A, B, C
o wenn B funktional abhängig von A und C funktional abhängig
von B, dann ist C transitiv abhängig von A
Identifikationsschlüssel ab
Normalisierung ggf. durch weitere Aufspaltung in Relationen
transitive Abhängigkeit
o Attribut bzw. Attributkombinationen A, B, C
o wenn B funktional abhängig von A und C funktional abhängig
von B, dann ist C transitiv abhängig von A
Datenbankorganisation - relationale Datenbankmodell
Erweiterungen?
Erweiterungen?
Relationenübergreifende Normalisierung zur Vermeidung
relationenübergreifender Redundanzen
- Relationen in 3. Normalform
- gemeinsame Attribute müssen in mindestens einer beteiligten
Relation als Identifikationsschlüssel auftreten
Referenzielle Integrität zur Sicherstellung der Widerspruchsfreiheit der Daten
relationenübergreifender Redundanzen
- Relationen in 3. Normalform
- gemeinsame Attribute müssen in mindestens einer beteiligten
Relation als Identifikationsschlüssel auftreten
Referenzielle Integrität zur Sicherstellung der Widerspruchsfreiheit der Daten
Datenbankorganisation - Überführung von ERM in relationales Datenbankmodell?
o Erstellung konzeptioneller Modelle per ERM
o Erstellung logischer Modelle bzw. Schemata mit Relationenmodell
o dazu Interpretation von Entitätstypen als Relationen
o Raute als Symbol kann weggelassen werden, wenn Beziehungstyp keine informationstragende Verbindung darstellt (kein Informationsverlust bei Weglassen)
o Erstellung logischer Modelle bzw. Schemata mit Relationenmodell
o dazu Interpretation von Entitätstypen als Relationen
o Raute als Symbol kann weggelassen werden, wenn Beziehungstyp keine informationstragende Verbindung darstellt (kein Informationsverlust bei Weglassen)
Datenbankverwaltungssysteme - Aufgaben?
o Verwaltung der Datenbeschreibungen
o Speicherung der Daten und Anlegen von effizienten
Zugriffspfaden
o Ausführen von Datenbankoperationen (Lesen, Ändern, ...)
o Prüfen der Zugangsberechtigungen der Benutzer
o Protokollierung und Führung von Fehlerstatistiken
o Sicherstellung der Datenkonsistenz
o Bereitstellung von Sprachen und Schnittstellen
o Bereitstellung von Kommunikationsschnittstellen für
Netzwerkbetrieb
o Speicherung der Daten und Anlegen von effizienten
Zugriffspfaden
o Ausführen von Datenbankoperationen (Lesen, Ändern, ...)
o Prüfen der Zugangsberechtigungen der Benutzer
o Protokollierung und Führung von Fehlerstatistiken
o Sicherstellung der Datenkonsistenz
o Bereitstellung von Sprachen und Schnittstellen
o Bereitstellung von Kommunikationsschnittstellen für
Netzwerkbetrieb
Datenbankverwaltungssysteme - Aufbau?
Komponente zur Schemaverwaltung
- Definition und Wartung der Datenbeschreibungen mittels Datenbeschreibungssprache (DDL) und Speicherbeschreibungssprache (SDL)
Komponente zur Abfrage- und Mutationsbearbeitung
- Speichern, Löschen, Ändern und Selektieren von Daten mittels
Datenmanipulationssprache (DML)
Komponente zur Speicherverwaltung
- physische Datenorganisation
Administrationskomponente
- Module und Werkzeuge zur Einrichtung und Verwaltung eines Berechtigungskonzepts, Datensicherung, Überwachung Leistungsverhalten
- Definition und Wartung der Datenbeschreibungen mittels Datenbeschreibungssprache (DDL) und Speicherbeschreibungssprache (SDL)
Komponente zur Abfrage- und Mutationsbearbeitung
- Speichern, Löschen, Ändern und Selektieren von Daten mittels
Datenmanipulationssprache (DML)
Komponente zur Speicherverwaltung
- physische Datenorganisation
Administrationskomponente
- Module und Werkzeuge zur Einrichtung und Verwaltung eines Berechtigungskonzepts, Datensicherung, Überwachung Leistungsverhalten
Systementwicklung - Merkmale?
- systematische Vorgehensweise zur Entwicklung, Anpassung und Einführung betrieblicher Anwendungssysteme inkl. zugehöriger Dokumente und sonstiger Systembestandteile
- beruht auf ingenieurmäßigen Entwicklungsprinzipien und –methoden
- trägt Anforderungen an Funktionalität, Qualität, Entwicklungszeit und Kosten Rechnung
- beruht auf ingenieurmäßigen Entwicklungsprinzipien und –methoden
- trägt Anforderungen an Funktionalität, Qualität, Entwicklungszeit und Kosten Rechnung
Systementwicklung - Aufschlüsselung der Teilgebiete?
Vorgehensweise
- Phasenmodelle
- Prinzipien, Methoden, Werkzeuge
- Strukturierter Entwicklungsansatz
- Objektorientierter Entwicklungsansatz
- Einführung von Standard-Anwendungssystemen
Software-Qualitätssicherung
- Software-Qualitätsfaktoren
- Maßnahmen der Qualitätssicherung
- Zertifizierung von Software
Software-Projektmanagement
- Projektplanung, -steuerung und –kontrolle
- Terminplanung von Entwicklungsprojekten
- Aufwandsschätzung von Entwicklungsprojekten
- Phasenmodelle
- Prinzipien, Methoden, Werkzeuge
- Strukturierter Entwicklungsansatz
- Objektorientierter Entwicklungsansatz
- Einführung von Standard-Anwendungssystemen
Software-Qualitätssicherung
- Software-Qualitätsfaktoren
- Maßnahmen der Qualitätssicherung
- Zertifizierung von Software
Software-Projektmanagement
- Projektplanung, -steuerung und –kontrolle
- Terminplanung von Entwicklungsprojekten
- Aufwandsschätzung von Entwicklungsprojekten
Systementwicklung - Anwendungssystem
Eigenschaften?
Eigenschaften?
...auch bezeichnet als Anwendungssoftware, Informationssystem oder Informations- und Kommunikationssystem (IKS)
...Unterstützung oder Automatisierung von Informationsverarbeitungsaufgaben in den verschiedenen Anwendungsbereichen (z.B. Leistungserstellung oder Management)
...Zusammensetzung aus Modulen zur fachlichen Differenzierung
...umfasst auch System-Bestandteile wie Entwicklungsdokumente, Handbücher, Referenzprozesse (weitgehend standardisierte mit dem System unterstützte Arbeits- bzw. Geschäftsprozesse), Daten, etc.
...Unterstützung oder Automatisierung von Informationsverarbeitungsaufgaben in den verschiedenen Anwendungsbereichen (z.B. Leistungserstellung oder Management)
...Zusammensetzung aus Modulen zur fachlichen Differenzierung
...umfasst auch System-Bestandteile wie Entwicklungsdokumente, Handbücher, Referenzprozesse (weitgehend standardisierte mit dem System unterstützte Arbeits- bzw. Geschäftsprozesse), Daten, etc.
Systementwicklung - historische Entwicklungsstufen?
.. Individualprogrammierung bis in die 1960er Jahre
.. Software Engineering ab den 1970er Jahren
- systematisches Vorgehen unter Anwendung von ingenieurmäßigen Entwicklungsprinzipien und –methoden
.. Einsatz von CASE Tools ab den 1980er Jahren
.. Erstellung integrierter Lösungen ab den 1990er Jahren
- breitflächiger Einsatz von Standard-Anwendungssystemen in Unternehmen
Software-Migration
- Umstellung von Anwendungssystemen
- Migration eines eigenentwickelten Anwendungssystems
- Migration auf ein Standard-Anwendungsystem
- Neuentwicklung eines Anwendungssystems
- Neueinführung eines Standard-Anwendungssystems
.. Software Engineering ab den 1970er Jahren
- systematisches Vorgehen unter Anwendung von ingenieurmäßigen Entwicklungsprinzipien und –methoden
.. Einsatz von CASE Tools ab den 1980er Jahren
.. Erstellung integrierter Lösungen ab den 1990er Jahren
- breitflächiger Einsatz von Standard-Anwendungssystemen in Unternehmen
Software-Migration
- Umstellung von Anwendungssystemen
- Migration eines eigenentwickelten Anwendungssystems
- Migration auf ein Standard-Anwendungsystem
- Neuentwicklung eines Anwendungssystems
- Neueinführung eines Standard-Anwendungssystems
Systementwicklung - Phasenmodell
Wasserfallmodell mit Rückkopplung und Prototyping?
Wasserfallmodell mit Rückkopplung und Prototyping?
...Arbeiten mit vorab erstellten und (noch) unvollständigen Versionen zur frühzeitigen Gewinnung von Erkenntnissen
Prototyping vor allem bei Analyse und Entwurf
o Demonstrationsprototyp
(Erfolgsaussichten eines Projekts beurteilen, Wegwerfprodukt)
o Prototyp im engeren Sinne
(Abklärung der Systemanforderungen)
o Labormuster
(Untersuchung von Entwurfsproblemen, nicht zur Demonstration)
o Pilotsystem (anwendungsreifer Prototyp)
Prototyping vor allem bei Analyse und Entwurf
o Demonstrationsprototyp
(Erfolgsaussichten eines Projekts beurteilen, Wegwerfprodukt)
o Prototyp im engeren Sinne
(Abklärung der Systemanforderungen)
o Labormuster
(Untersuchung von Entwurfsproblemen, nicht zur Demonstration)
o Pilotsystem (anwendungsreifer Prototyp)
Systementwicklung - Phasenmodell
Evolutionäre Modelle Merkmale??
Evolutionäre Modelle Merkmale??
o Entwicklung in mehreren Stufen, bei Stufenübergang vorangehende Systemversion verbessert und erweitert
o Systemfunktionalität in jeder Stufe bis zum vollständigen Gesamtsystem erweitert
o Schwachsteller der Vorgängerversionen in jeder Stufe beseitigt
o pro Stufe ein Entwicklungszyklus in den Phasen durchlaufen, in dem Erweiterungen vorgenommen und Fehler beseitigt werden
o frühzeitig Produktversionen lauffähig und Fehler aufdeckbar, jedoch höherer Aufwand für Projekt-Management
o Systemfunktionalität in jeder Stufe bis zum vollständigen Gesamtsystem erweitert
o Schwachsteller der Vorgängerversionen in jeder Stufe beseitigt
o pro Stufe ein Entwicklungszyklus in den Phasen durchlaufen, in dem Erweiterungen vorgenommen und Fehler beseitigt werden
o frühzeitig Produktversionen lauffähig und Fehler aufdeckbar, jedoch höherer Aufwand für Projekt-Management
Systementwicklung - Phasenmodell
Evolutionäre Modelle Varianten??
Evolutionäre Modelle Varianten??
... mit partieller Analyse
Analyse der fachlichen Anforderungen der jeweiligen Stufen in
Verbindung mit Anforderungen Vorgängerstufen mit
...vollständiger Analyse
Analyse zu Entwicklungsbeginn über gesamte fachliche Anforderungen
Analyse der fachlichen Anforderungen der jeweiligen Stufen in
Verbindung mit Anforderungen Vorgängerstufen mit
...vollständiger Analyse
Analyse zu Entwicklungsbeginn über gesamte fachliche Anforderungen
Systementwicklung - Allgemeine Prinzipien??
Grundsätze für das Vorgehen bei der Systementwicklung
Strukturierung
o Herausarbeitung und Darstellung der wesentlichen Merkmale
Abstraktion
o Hervorhebung allgemeiner und wesentlicher Zusammenhänge
Hierarchisierung
o Zerlegung des Systems in seine Teile und Festlegung einer Rangordnung zwischen den Elementen
Modularisierung
o Zerlegung des Systems in Module (Module möglichst homogen und gegenüber anderen Modulen möglichst heterogen)
Strukturierung
o Herausarbeitung und Darstellung der wesentlichen Merkmale
Abstraktion
o Hervorhebung allgemeiner und wesentlicher Zusammenhänge
Hierarchisierung
o Zerlegung des Systems in seine Teile und Festlegung einer Rangordnung zwischen den Elementen
Modularisierung
o Zerlegung des Systems in Module (Module möglichst homogen und gegenüber anderen Modulen möglichst heterogen)
Systementwicklung - Allgemeine Methoden??
Top-down-Strategie
o von abstrakter Benutzermaschine über Anwendungssystem zu konkreter Basisaschine
o Systemteile werden von abstrakter Ebene ausgehend immer detaillierter beschrieben, bis detaillierte Systemspezifikation vorliegt
o begünstigt Anwenderinteressen
Bottom-up-Strategie
o von konkreter Basismaschine über Anwendungssystem zu abstrakter Benutzermaschine
o detaillierte Systemteile werden abgegrenzt und beschrieben und zu Systemteilen höherer Ebenen zusammengefasst, bis Gesamtdarstellung des Systems vorliegt
o begünstigt Wiederverwendung von Softwarekomponenten
o von abstrakter Benutzermaschine über Anwendungssystem zu konkreter Basisaschine
o Systemteile werden von abstrakter Ebene ausgehend immer detaillierter beschrieben, bis detaillierte Systemspezifikation vorliegt
o begünstigt Anwenderinteressen
Bottom-up-Strategie
o von konkreter Basismaschine über Anwendungssystem zu abstrakter Benutzermaschine
o detaillierte Systemteile werden abgegrenzt und beschrieben und zu Systemteilen höherer Ebenen zusammengefasst, bis Gesamtdarstellung des Systems vorliegt
o begünstigt Wiederverwendung von Softwarekomponenten
Systementwicklung - Werkzeuge
Upper CASE Tools - Analysephase?
Upper CASE Tools - Analysephase?
grafisch-sprachliche Modellierung von Systemanforderungen
Beschreibung der Elemente der Systemmodelle
Prüfung Konsistenz der Beschreibungen und automatische Generierung von Modelldiagrammen verschiedener Detailstufen
Generierung separater Funktionsdiagramme, Entity Relationship-
Diagramme auf Basis des Repository
Verwaltung der Entwicklungsdokumente
Beschreibung der Elemente der Systemmodelle
Prüfung Konsistenz der Beschreibungen und automatische Generierung von Modelldiagrammen verschiedener Detailstufen
Generierung separater Funktionsdiagramme, Entity Relationship-
Diagramme auf Basis des Repository
Verwaltung der Entwicklungsdokumente
Systementwicklung - Werkzeuge
Upper CASE Tools - Entwurfsphase?
Upper CASE Tools - Entwurfsphase?
grafisch-sprachliche Modellierung der Struktur in Moduldiagrammen
Beschreibung der Modulfunktionen und Modulschnittstellen mittels einer Sprache zur Spezifikation
Prüfung der Konsistenz der Modulspezifikationen und automatische Generierung von Moduldiagrammen
Verwaltung der Entwicklungsdokumente
Beschreibung der Modulfunktionen und Modulschnittstellen mittels einer Sprache zur Spezifikation
Prüfung der Konsistenz der Modulspezifikationen und automatische Generierung von Moduldiagrammen
Verwaltung der Entwicklungsdokumente
Systementwicklung - Werkzeuge
Lower CASE Tools - Implementierungsphase?
Lower CASE Tools - Implementierungsphase?
automatische Generierung von Programmen, Programmteilen oder – gerüsten aus den Modelspezifikationen
automatische Generierung von Datenstrukturen aus Datenspezifikationen
Binden von Programmteilen zu vollständigen Programmen und Erzeugung von ausführbarem Programmcode
automatische Generierung von Datenstrukturen aus Datenspezifikationen
Binden von Programmteilen zu vollständigen Programmen und Erzeugung von ausführbarem Programmcode
Systementwicklung - Paradigma der strukturierten Systementwicklung - Merkmale?
Analyse
Methoden der strukturierten Analyse
Entwurf
Methoden des Grobentwurf
Methoden des Feinentwurf
Implementierung
Methoden der strukturierten Programmierung
Methoden der Programmiersprachen
Test
Methoden des computergestützten Testens
Problem: Strukturbruch bei Übergang von Analyse zum Entwurf
Methoden der strukturierten Analyse
Entwurf
Methoden des Grobentwurf
Methoden des Feinentwurf
Implementierung
Methoden der strukturierten Programmierung
Methoden der Programmiersprachen
Test
Methoden des computergestützten Testens
Problem: Strukturbruch bei Übergang von Analyse zum Entwurf
Systementwicklung - Paradigma der Objektorientierung - Merkmale?
o Analyse und Entwurf basieren auf einheitlichen Konzepten
o Objekte und Klassen werden aus realen Objekten des Anwendungsbereiches durch Abstraktion gewonnen
o Beziehungen ermöglichen Vererbung von Daten und Funktionen einer Klasse auf eine andere
o UML (Unified Modeling Language)
- Sprachstandard für objektorientierte Systementwicklung
- ermöglicht objektorientierte Modelle mit Diagrammen aus statischer und dynamischer Sicht zu beschreiben
o Phasen
- Analyse und Entwurf
- Implementierung
- Test
o Objekte und Klassen werden aus realen Objekten des Anwendungsbereiches durch Abstraktion gewonnen
o Beziehungen ermöglichen Vererbung von Daten und Funktionen einer Klasse auf eine andere
o UML (Unified Modeling Language)
- Sprachstandard für objektorientierte Systementwicklung
- ermöglicht objektorientierte Modelle mit Diagrammen aus statischer und dynamischer Sicht zu beschreiben
o Phasen
- Analyse und Entwurf
- Implementierung
- Test
Systementwicklung - Algorithmus?
... Vorschrift zur Bearbeitung von Datenobjekten
... müssen eindeutig beschrieben sein, unterschiedliche Probleme einer Problemklasse lösen und korrekte Ergebnisse ermitteln sowie terminieren
... unterschiedliche Notationsmöglichkeiten
o Flussdiagramm
o Struktogramm
o Pseudocode
... müssen eindeutig beschrieben sein, unterschiedliche Probleme einer Problemklasse lösen und korrekte Ergebnisse ermitteln sowie terminieren
... unterschiedliche Notationsmöglichkeiten
o Flussdiagramm
o Struktogramm
o Pseudocode
Systementwicklung - Algorithmieren?
schrittweise Verfeinerung
Beschreibung auf grober Ebene und anschließende Verfeinerung
strukturierte Programmierung
Formulierung von Algorithmen, so dass Kontrollfluss erkennbar wird
o Kontrollstrukturen
- Grundbausteine strukturierter Programmierung
- Beispiele
# Sequenz
# Einseitige Auswahl
# Zweiseitige Auswahl
# Wiederholung mit Anfangs- oder Endabfrage
Beschreibung auf grober Ebene und anschließende Verfeinerung
strukturierte Programmierung
Formulierung von Algorithmen, so dass Kontrollfluss erkennbar wird
o Kontrollstrukturen
- Grundbausteine strukturierter Programmierung
- Beispiele
# Sequenz
# Einseitige Auswahl
# Zweiseitige Auswahl
# Wiederholung mit Anfangs- oder Endabfrage
Systementwicklung - Programmiersprache
Einteilung??
Einteilung??
prozedurale Programmiersprachen
- Maschinensprache (1. Generation)
- Maschinenorientierte Sprachen, Assemblersprache (2. Generat.)
- Höhere prozedurale Programmiersprachen (3. Generation) / Bsp. FORTRAN, COBOL, BASIC, PASCAL, C
objektorientierte PRogrammiersprachen
- rein objektorientiert - Bsp.: Java
- hybrid objektorientiert - Bsp. C++, Visual Basic
weitere höhere Programmiersprachen
- Endbenutzersprachen (4. Generation) - SQL
- Wissensorientierte Sprachen - Bsp. PROLOG, LISP
- Scriptsprachen - Bsp. Perl, JavaScript
- Maschinensprache (1. Generation)
- Maschinenorientierte Sprachen, Assemblersprache (2. Generat.)
- Höhere prozedurale Programmiersprachen (3. Generation) / Bsp. FORTRAN, COBOL, BASIC, PASCAL, C
objektorientierte PRogrammiersprachen
- rein objektorientiert - Bsp.: Java
- hybrid objektorientiert - Bsp. C++, Visual Basic
weitere höhere Programmiersprachen
- Endbenutzersprachen (4. Generation) - SQL
- Wissensorientierte Sprachen - Bsp. PROLOG, LISP
- Scriptsprachen - Bsp. Perl, JavaScript
Systementwicklung - Objektorientierter Entwicklungsansatz
Objekte?
Objekte?
... in sich abgeschlossene Beschreibungseinheit, welche abgrenzbares Phänomen des entsprechenden Anwendungsbereiches abbildet
... alle Objekte einer Klasse stimmen in ihren Operationen und Attributen überein
... Notation in UML als Rechteck mit ein oder zwei Feldern
o Objektname: Klassenname (1. Feld oben)
o Angaben zu allen oder ausgewählten Attributen
... enthält
o Attribute sowie zugehörige Attributwerte
- wesentliche Merkmale bzw. zugehörige Merkmalsausprägungen
o Operationen
- Operationen die Objekt ausführen kann
... alle Objekte einer Klasse stimmen in ihren Operationen und Attributen überein
... Notation in UML als Rechteck mit ein oder zwei Feldern
o Objektname: Klassenname (1. Feld oben)
o Angaben zu allen oder ausgewählten Attributen
... enthält
o Attribute sowie zugehörige Attributwerte
- wesentliche Merkmale bzw. zugehörige Merkmalsausprägungen
o Operationen
- Operationen die Objekt ausführen kann
Systementwicklung - Objektorientierter Entwicklungsansatz
Klasse?
Klasse?
...Definition eines bestimmten Typs von Objekten
...enthält
Attribut-Definitionen
- Bedeutung und Wertebereich
Operationsdefinitionen
- Algorithmen
... abstrakte Klasse
- nicht dazu bestimmt, Objekte zu erzeugen (instanzieren)
...enthält
Attribut-Definitionen
- Bedeutung und Wertebereich
Operationsdefinitionen
- Algorithmen
... abstrakte Klasse
- nicht dazu bestimmt, Objekte zu erzeugen (instanzieren)
Systementwicklung - Objektorientierter Entwicklungsansatz
Klassenoperationen?
Klassenoperationen?
... Operation der Klasse selbst zugeordnet und von ihr ausgeführt
... zur Manipulation von Klassenattributen oder gleichzeitigen Verarbeitung mehrerer Objekte der Klasse
... durch Unterstreichung gekennzeichnet
... zur Manipulation von Klassenattributen oder gleichzeitigen Verarbeitung mehrerer Objekte der Klasse
... durch Unterstreichung gekennzeichnet
Systementwicklung - Objektorientierter Entwicklungsansatz
Botschaft?
Botschaft?
... Zusammenarbeit zwischen Objekten erfolgt durch Austausch von Botschaften
... Aufforderung eines Sender-Objekts an Empfänger-Objekt mit dem Ziel, den Zustand des Empfänger-Objekts zu verändern und/oder vom Empfänger-Objekt Daten zu erhalten
... Aufforderung eines Sender-Objekts an Empfänger-Objekt mit dem Ziel, den Zustand des Empfänger-Objekts zu verändern und/oder vom Empfänger-Objekt Daten zu erhalten
Systementwicklung - Objektorientierter Entwicklungsansatz
Assoziation?
Assoziation?
... dauerhafte Verbindung zwischen mindestens zwei Objekten, die – einmal eingerichtet – jederzeit für Botschaftsversand genutzt werden kann
... binäre Assoziation (zwei Objekte beteiligt)
... unidirektionale Assoziation (nur in eine Richtung, Kennzeichnung mit Pfeilspitze)
... bidirektionale Assoziation (in beide Richtungen, Kennzeichnung mit Pfeilspitzen)
... Richtung unbestimmt wenn Pfeilspitzen fehlen
... reflexive Assoziation (binäre Assoziation von Objekten derselben Klasse)
... binäre Assoziation (zwei Objekte beteiligt)
... unidirektionale Assoziation (nur in eine Richtung, Kennzeichnung mit Pfeilspitze)
... bidirektionale Assoziation (in beide Richtungen, Kennzeichnung mit Pfeilspitzen)
... Richtung unbestimmt wenn Pfeilspitzen fehlen
... reflexive Assoziation (binäre Assoziation von Objekten derselben Klasse)
Systementwicklung - Objektorientierter Entwicklungsansatz
Aggregation?
Aggregation?
... zwischen den an Assoziation beteiligten Klassen besteht eine Enthaltseins-Beziehung
Aggregatklasse
o Klasse, deren Objekte das übergeordnete Ganze repräsentieren
Aggregatobjekte
o Objekte der Aggregatklasse
Teilklasse
o Klasse, deren Objekte Teil eines Aggregatobjektes bilden
Teilobjekte
o Objekte der Teilklasse
Aggregatklasse
o Klasse, deren Objekte das übergeordnete Ganze repräsentieren
Aggregatobjekte
o Objekte der Aggregatklasse
Teilklasse
o Klasse, deren Objekte Teil eines Aggregatobjektes bilden
Teilobjekte
o Objekte der Teilklasse
Systementwicklung - Objektorientierter Entwicklungsansatz
Vererbung?
Vererbung?
... übergeordnete Klassen (Oberklassen) können ihre Eigenschaften an untergeordnete Klassen (Unterklassen) übertragen
... ererbte Eigenschaften müssen nicht noch einmal explizit ausgewiesen werden
... betrifft Attribute, Operationen und Assoziationen
... ererbte Eigenschaften müssen nicht noch einmal explizit ausgewiesen werden
... betrifft Attribute, Operationen und Assoziationen
Systementwicklung - Objektorientierte Analyse (OOA)
Anwendungsfälle??
Anwendungsfälle??
... beschreibt funktionale Anforderungen, welche sich aus einer bestimmten Variante der Systembenutzung ergeben
Eigenschaften
o Bezug auf Arbeitsablauf
o Beschreibung aus Anwendersicht
o führt zu einem in sich abgeschlossenem Ergebnis mit messbarem Wert für Anwender
o Beschreibung auf hohem Abstraktionsniveau
... Nutzung einer Anwendungsschablone für semiformale Beschreibung sinnvoll
o enthält Vorgaben für strukturiert-verbale Beschreibung eines Anwendungsfalls
Eigenschaften
o Bezug auf Arbeitsablauf
o Beschreibung aus Anwendersicht
o führt zu einem in sich abgeschlossenem Ergebnis mit messbarem Wert für Anwender
o Beschreibung auf hohem Abstraktionsniveau
... Nutzung einer Anwendungsschablone für semiformale Beschreibung sinnvoll
o enthält Vorgaben für strukturiert-verbale Beschreibung eines Anwendungsfalls
Systementwicklung - Objektorientierte Analyse (OOA)
Fachliches Modell (OOA-Modell) - statisches Modell??
Fachliches Modell (OOA-Modell) - statisches Modell??
o ausschließliche Betrachtung der zeitunabhängigen und strukturellen Aspekte eines Systems
o wesentlicher Bestandteil ist Klassendiagramm (wegen Kapselung Funktions- und Datenperspektive integriert)
o Basisannahmen bei Erstellung Klassendiagramm
- implizite Objektidentität
- implizite Objektverwaltung
- implizite Basisoperationen
o Bildung von Paketen
o Notiz
o Klassenlexikon
o wesentlicher Bestandteil ist Klassendiagramm (wegen Kapselung Funktions- und Datenperspektive integriert)
o Basisannahmen bei Erstellung Klassendiagramm
- implizite Objektidentität
- implizite Objektverwaltung
- implizite Basisoperationen
o Bildung von Paketen
o Notiz
o Klassenlexikon
Systementwicklung - Objektorientierte Analyse (OOA)
Prototyp der Benutzeroberfläche??
Prototyp der Benutzeroberfläche??
... vorläufige Fassung der Benutzeroberfläche als ablauffähige Programmversion ohne Funktionalität
- Dialog
- Fenster
- Dialogelemente
- Menü
... Ableitung einer objektorientierten Dialogstruktur für die Oberflächengestaltung aus dem OOA-Klassendiagramm
- Dialog
- Fenster
- Dialogelemente
- Menü
... Ableitung einer objektorientierten Dialogstruktur für die Oberflächengestaltung aus dem OOA-Klassendiagramm
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur??
Drei-Schichten-Architektur??
hierarchischer Aufbau
unidirektionale Abhängigkeit
o höhere Schichten nehmen Leistungen der unmittelbar darunter liegenden Schicht in Anwendung, nicht umgekehrt
1. GUI-Schicht (Bereitstellung grafischer Benutzeroberfläche)
2. Fachkonzept- oder problemorientierte Schicht (Bereitstellung fachlicher Funktionen)
3. Datenhaltungsschicht (Dienste für Speicherung und Zugriff auf Anwendungsdaten)
unidirektionale Abhängigkeit
o höhere Schichten nehmen Leistungen der unmittelbar darunter liegenden Schicht in Anwendung, nicht umgekehrt
1. GUI-Schicht (Bereitstellung grafischer Benutzeroberfläche)
2. Fachkonzept- oder problemorientierte Schicht (Bereitstellung fachlicher Funktionen)
3. Datenhaltungsschicht (Dienste für Speicherung und Zugriff auf Anwendungsdaten)
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur - Merkmale GUI-Schicht??
Drei-Schichten-Architektur - Merkmale GUI-Schicht??
... ermöglicht Erzeugung und Bearbeitung von Objekten der Fachkonzept- Schicht durch Eingaben des Benutzers
... Klassen der GUI-Schicht unter Verwendung von GUI-Klassenbibliothek erstellt
# enthält standardisierte, weitgehend vorgefertigte Elemente
# Programmierschnittstelle zum plattformspezifischen GUI-System (als Bestandteil der verwendeten Systemsoftware)
... Weiterverwendung eines Prototyps der GUI aus dem OOA-Modell möglich
Aufgaben
- Menü- und Dialogstruktur vervollständigen
- Klassendiagramm der GUI-Schicht anfertigen
- Spezifikation der GUI-Klassen vervollständigen und Dokumentation im Klassenlexikon
... Klassen der GUI-Schicht unter Verwendung von GUI-Klassenbibliothek erstellt
# enthält standardisierte, weitgehend vorgefertigte Elemente
# Programmierschnittstelle zum plattformspezifischen GUI-System (als Bestandteil der verwendeten Systemsoftware)
... Weiterverwendung eines Prototyps der GUI aus dem OOA-Modell möglich
Aufgaben
- Menü- und Dialogstruktur vervollständigen
- Klassendiagramm der GUI-Schicht anfertigen
- Spezifikation der GUI-Klassen vervollständigen und Dokumentation im Klassenlexikon
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur - Merkmale Fachkonzept- oder problemorientierte Schicht??
Drei-Schichten-Architektur - Merkmale Fachkonzept- oder problemorientierte Schicht??
... Grundlage ist OOA-Modell
... Einführung von Container-Klassen
# bewahren aktuell existierende Objekte einer Klasse in geeigneten Datenstrukturen auf
# stellen Zugriffsoperationen zur Verwaltung der Objekte zur Verfügung, die im OOA-Modell nur implizit unterstellt wurden
... Attribute und Operationen müssen im Klassenlexikon spezifiziert werden
... Algorithmen komplexer Operationen sind ausführlich zu dokumentieren
... Assoziationen und Kardinalitäten sind vollständig zu modellieren
... Einführung von Container-Klassen
# bewahren aktuell existierende Objekte einer Klasse in geeigneten Datenstrukturen auf
# stellen Zugriffsoperationen zur Verwaltung der Objekte zur Verfügung, die im OOA-Modell nur implizit unterstellt wurden
... Attribute und Operationen müssen im Klassenlexikon spezifiziert werden
... Algorithmen komplexer Operationen sind ausführlich zu dokumentieren
... Assoziationen und Kardinalitäten sind vollständig zu modellieren
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur -
Fachkonzept- oder problemorientierte Schicht
- Sichtbarkeit??
Drei-Schichten-Architektur -
Fachkonzept- oder problemorientierte Schicht
- Sichtbarkeit??
... muss deklariert werden
...von welchen anderen Klassen aus darf auf ein Attribut zugegriffen bzw. eine Operation aufgerufen werden
... Objekte der eigenen Klasse können direkt auf Attribut und
Operationen der eigenen Klasse zugreifen
uneingeschränkt (public)
o direkter Zugriff für beliebige Klassen
o UML-Notation: vorangestelltes +
vollständig eingeschränkt (private)
o sperrt Attribut bzw. Operation für jeglichen Zugriff von außen
o UML-Notation: vorangestelltes -
...von welchen anderen Klassen aus darf auf ein Attribut zugegriffen bzw. eine Operation aufgerufen werden
... Objekte der eigenen Klasse können direkt auf Attribut und
Operationen der eigenen Klasse zugreifen
uneingeschränkt (public)
o direkter Zugriff für beliebige Klassen
o UML-Notation: vorangestelltes +
vollständig eingeschränkt (private)
o sperrt Attribut bzw. Operation für jeglichen Zugriff von außen
o UML-Notation: vorangestelltes -
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels Dateien (Serialisierung)??
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels Dateien (Serialisierung)??
o Objekte als Ganzes (Attribute, Klassenzugehörigkeit,
Objektverbindungen) in Datei gespeichert
o Objekte für die Persistenz erforderlich ist, müssen zusammen
geladen und gespeichert werden – Auswahl benötigter Objekte kann nicht gezielt geladen/gespeichert werden
o daher nur für kleine Anwendungen geeignet
o Fachklassen durch Serialisierungsoperation erweitern, die alle Daten in Archiv-Objekt schreibt und dieses auslesen kann
o keine Ad-hoc-Abfragen möglich
Objektverbindungen) in Datei gespeichert
o Objekte für die Persistenz erforderlich ist, müssen zusammen
geladen und gespeichert werden – Auswahl benötigter Objekte kann nicht gezielt geladen/gespeichert werden
o daher nur für kleine Anwendungen geeignet
o Fachklassen durch Serialisierungsoperation erweitern, die alle Daten in Archiv-Objekt schreibt und dieses auslesen kann
o keine Ad-hoc-Abfragen möglich
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels objektorientiertem Datenbanksystem??
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels objektorientiertem Datenbanksystem??
o Fachklassen, für die Persistenz erforderlich ist, werden als
Unterklassen einer Basisklasse angelegt, die von Programmierschnittstelle des objektorientierten Datenbanksystems bereitgestellt wird
o Basisklasse vererbt ihnen Fähigkeit zur Selbstverwaltung in Datenbank
o Mehrbenutzerfähigkeit, Transaktionsabwicklung und Ad-hoc- Abfragen möglich
Unterklassen einer Basisklasse angelegt, die von Programmierschnittstelle des objektorientierten Datenbanksystems bereitgestellt wird
o Basisklasse vererbt ihnen Fähigkeit zur Selbstverwaltung in Datenbank
o Mehrbenutzerfähigkeit, Transaktionsabwicklung und Ad-hoc- Abfragen möglich
Systementwicklung - Objektorientierter Entwurf (OOD)
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels relationalem Datenbanksystem??
Drei-Schichten-Architektur - Datenhaltungsschicht
- Variante mittels relationalem Datenbanksystem??
1. Abbildung der persistent zu speichernden Fachklassen einschließlich ihrer Beziehungen auf logische Tabellen
2. Einführung zusätzlicher Klassen, deren Objekte diese Tabelle
repräsentieren und den Austausch zwischen Objekten der Fachklassen mit den entsprechenden Felder in der Datenbank übernehmen
3. ggf. Erweiterung der Fachklassen um Operationen zur Steuerung der Datenbankzugriffe
o vorgefertigte Klassenbibliotheken verwendbar (z.B. ODBC, JDBC)
2. Einführung zusätzlicher Klassen, deren Objekte diese Tabelle
repräsentieren und den Austausch zwischen Objekten der Fachklassen mit den entsprechenden Felder in der Datenbank übernehmen
3. ggf. Erweiterung der Fachklassen um Operationen zur Steuerung der Datenbankzugriffe
o vorgefertigte Klassenbibliotheken verwendbar (z.B. ODBC, JDBC)
DBVS - Sicherung der Datenkonsistenz
ACID-Eigenschaften einer Transaktion?
ACID-Eigenschaften einer Transaktion?
Atomizität
- zusammengefasste Einzelanweisungen werden vollständig ausgeführt oder gar nicht
Konsistenz
- Ergebnis Transaktion ist immer konsistenter Datenbestand, dies gilt auch für Fall der Rückabwicklung bei Fehlern
Isolation
- von Transaktion bearbeitete Datenelemente dürfen während Transaktionsausführung von keiner anderen Transaktion bearbeitet werden
Dauerhaftigkeit
- Änderungen am Datenbestand sind dauerhaft
- zusammengefasste Einzelanweisungen werden vollständig ausgeführt oder gar nicht
Konsistenz
- Ergebnis Transaktion ist immer konsistenter Datenbestand, dies gilt auch für Fall der Rückabwicklung bei Fehlern
Isolation
- von Transaktion bearbeitete Datenelemente dürfen während Transaktionsausführung von keiner anderen Transaktion bearbeitet werden
Dauerhaftigkeit
- Änderungen am Datenbestand sind dauerhaft
Flashcard set info:
Author: tr10
Main topic: Informatik
Topic: Wirtschaftsinformatik
School / Univ.: Fernuni Hagen
City: Hagen
Published: 23.03.2010
Tags: Winter Semester 2009
Card tags:
All cards (173)
no tags