You are on page 1of 12

Folie a: Name

Kapitel 4: Strukturierter Entwurf

Fundamentals of Software Engineering 1 Grundlagen der Programmentwurfstechnik 1
Sommersemester 2012

Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Dr.-Ing. Axel Hunger

Dr.-Ing. Stefan Werner Universität Duisburg-Essen Fakultät für Ingenieurwissenschaften Fachgebiet Technische Informatik
Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.-Ing. Stefan Werner Folie 1

Inhaltsverzeichnis 1. Einführung 2. Allgemeine Modellbildung 3. Strukturierte Analyse 4. 4 Strukturierter Entwurf (SE) 5. Benutzersschnittstellen 6. Softwaretest

Kapitel 4: Strukturierter Entwurf

Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Dr.-Ing. Axel Hunger

Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.-Ing. Stefan Werner Folie 2

1

6 Modellierung der Implementierung 4.5 Prozesse und Prozessverwaltung 4.4 Zusammenfassung der Aufgaben bei der Erstellung des EM 4. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. Stefan Werner Folie 3 4.1 Aufbau der Modellierungsphasen nach Ward & Mellor 4.9 Das Modul Modell Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Stefan Werner Folie 4 2 . Strukturierter Entwurf (SE) 4. Zu diesem Zweck • erfaßt sie eingehende Ereignisse/Auslöser.3 Modellierung des Systemverhaltens Kapitel 4: Strukturierter Entwurf Steuertransformationen konzentrieren alle Steuerfunktionen der Software in sich.-Ing. Dr.8 Das Task Modell 4. Dr. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.7 Konstruktion des Prozessormodells 4.-Ing.Inhaltsverzeichnis Kapitel 4: Strukturierter Entwurf 4. Strukturierter Entwurf 4.2 Modellierung von Transformationen 4.3 4 3 Modellierung des Systemverhaltens 4.-Ing. Beispiel: Modellierung des Systemverhaltens einer Lampe mit Zugschalter Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. • gibt Ereignisse/Auslöser aus und • beinhaltet den Systemzustand in Form eines Automatenmodells.-Ing.

Fachgebiet Technische Informatik Dozent: Dr.-Ing.4.-Ing. Strukturierter Entwurf 4. Dr. Dr. Strukturierter Entwurf 4. Quadrat) oder „dunkel“ sein • Repräsentiert einen extern zu beobachtenden => zwei Zustände „Z“ Verhaltensmodus des Systems Z1 = Lampe aus • Name: soll das vom System gezeigte Verhalten Z2 = Lampe an Universität Duisburg-Essen Sommer Semester 2012 bezeichnen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik • In derAxel Hunger Regel existiert ein Anfangszustand Prof.3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Eingaben Z1 Z2 Folgezustand/Ausgaben Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Zustandsübergänge (Symbol: Pfeil vom Vorzustand zum Folgezustand) • Zustandsübergänge sind an Bedingungen geknüpft • Repräsentieren den Wechsel von einem Zustand zum Nächsten • Können zwischen beliebigen Zuständen auftreten • Können von einem Zustand in denselben Universität Duisburg-Essen Sommer Semester 2012 Fakultät Ingenieurwissenschaften Vorlesung „Grundlagen der Programmentwurfstechnik“ auftreten. Stefan Werner Folie 5 wähle Z1 4.-Ing.3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Eingaben Z1 Z2 Folgezustand/Ausgaben Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Transformationen können sich zu einem gegebenen Zeitpunkt exakt in einem Zustand befinden Lampe k L kann „hell“ h ll“ Zustand (Symbol: Rechteck.-Ing. Stefan Werner • Anfangszustand hat Pfeil ohne Vorzustand Prof. Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. Axel Hunger Folie 6 3 .

-Ing. . Stefan Werner Folie 7 4. Stefan Werner Zustandsübergang selbst der Zweck war Prof. wenn lediglich der „Grundlagen der Programmentwurfstechnik“ Aktionen können Fakultät Ingenieurwissenschaften Vorlesung Fachgebiet Technische Informatik Dozent: Dr. Axel Hunger Zugschalter betätigt (= Eingabe im Sinne des Automatenmodells) Auf Z1 folgt Z2 und umgekehrt Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. • ist gekennzeichnet durch einen oder mehrere von der Steuertransformation ausgehenden Ereignisflüsse • ist eine einzige. Axel Hunger Folie 8 4 . Dr.-Ing. unteilbare Aktivität • mehrere unabhängige Aktionen können mit einem einzigen Zustandsübergang verbunden sein.-Ing. Strukturierter Entwurf 4.3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Zugschalter betätigt Z1 Z2 Z2/Ausgaben Z1/Ausgaben Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Bedingungen (Symbol: Bedingung ) Aktion • jede Bedingung stellt einen in die Steuertransformation eingehenden Ereignisfluss dar • veranlassen das System zu einem Zustandsübergang Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.4.-Ing. wenn der Zustandsübergang auftritt. Dr. Strukturierter Entwurf 4.3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Zugschalter betätigt Z1 Z2 Z2/schaltet ein Z1/schaltet aus Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Aktion: • wird ausgeführt. Sommer Semester 2012 • Universität Duisburg-Essen leer sein.

3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Zugschalter betätigt Z1 Z2 Z2/schaltet ein Z1/schaltet aus Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Z1= schaltet ein Z2= Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Strukturierter Entwurf 4. Axel Hunger schaltet aus Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.-Ing. Stefan Werner Folie 10 5 . Dr. Stefan Werner Folie 9 4. Axel Hunger schaltet aus Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.4.-Ing.-Ing.3 Modellierung des Systemverhaltens Erstelle das Zustandsübergangsdiagramm zu der Steuertransformation „Lampe überwachen“ Zugschalter g betätigt Zugschalter betätigt Z1 Z2 Z2/schaltet ein Z1/schaltet aus Kapitel 4: Strukturierter Entwurf schaltet ein schaltet aus Lampe überwachen Z1 schaltet ein Z2 Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Dr.-Ing. Strukturierter Entwurf 4.

zählende Automatenmodelle⇒kompaktere Darstellung suchen • Systemzustände unterscheiden sich nur in der Anzahl der Züge ⇒ reine vor.-Ing. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. Dr.-Ing. Stefan Werner Folie 11 4.3 Modellierung des Systemverhaltens .3 Modellierung des Systemverhaltens . ⇒ hierfür ein einziger Signal rot Zustand möglich ⇒ Moore-Automat Kapitel 4: Strukturierter Entwurf Signal rot Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Stefan Werner Folie 12 6 .-Ing. Dr.und rückwärtslaufende Zählfunktion.-Ing.4.zählende AutomatenmodelleGesucht: Modell für einen Tunnel. • Der aufgrund seiner Länge maximal 4 Züge aufnehmen kann. • dessen Einfahrt signalgesteuert erfolgt Kapitel 4: Strukturierter Entwurf Signal rot Das Modell ist Signal rot • unhandlich h dli h es enthält viele im Grunde identische Zustände mit unterschiedlichen Aktionen => Mealy Automat • hoch Redundant => kein allgemein verwendbares Modell ableitbar Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.

-Ing.1 an.-Ing. Standardmäßig sind beide Anlagen auf „Rot“ geschaltet. in beide Richtungen befahrbare Bahnstrecke die einen Tunnel beinhaltet.10.3 Modellierung des Systemverhaltens . Dr. Stefan Werner Prof. Das System überprüft daraufhin ob sich Züge aus der Gegenrichtung im Tunnel befinden. Wenn der letzte Zug den Tunnel verlassen hat wechselt die Signalanlage wieder auf „Rot“. Dr.-Ing.-Ing. 10. Die Tunneldurchfahrt erfolgt eingleisig und wahlweise in nur eine der beiden Richtungen.2 Geben Sie das Zustandsübergangsdiagramm zu der Ereignistransformation Fachgebiet Technische Informatik Dozent: Dr.1 Entwickeln Sie die Ereignistransformation der Signalanlage Sommer Semester 2012 Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Vorlesung „Grundlagen der Programmentwurfstechnik“ 10.zählende Automatenmodelle- Kapitel 4: Strukturierter Entwurf Steuerung der Signalanlage jetzt über Werte von z Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Stefan Werner Folie 13 Beispiel/ Übung 10: . bis der letzte Zug den Tunnel wieder verlassen hat. Im Falle eines freien Tunnels wechselt die der Signalfarbe auf Grün und es können i f i i Si f fG ü ö solange Züge in diese Richtung einfahren.Signalanlage eines eingleisig befahrenen Tunnels - Kapitel 4: Strukturierter Entwurf Gegeben sei eine zweigleisige. berührt er einen seine Ausfahrt meldenden Sensor und .4. Sobald ein Zug den Tunnel erreicht. nach Axel Hunger Folie 14 7 . ·Sobald ein Zug aus dem Tunnel ausfährt. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. berührt er einen seine Ankunft meldenden Sensor.

-Ing.Signalanlage eines eingleisig befahrenen Tunnels • Beschreibung der Steuerung durch zwei Ereignistransformationen (je eine pro Seite) – Transformation „Überwache Verkehr nach Links “: schaltet die Signalanlage auf der rechten Seite. Stefan Werner nach Rechts Folie 16 8 . • Speicherung der Anzahl Züge z im Tunnel erfolgt im Ereignisspeicher Überwache Verkehr nach Links Anzahl z Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Axel Hunger Linke Ampel Grün Überwache Sommer Semester 2012 VerkehrVorlesung „Grundlagen der Programmentwurfstechnik“ Linke Ampel Rot Dozent: Dr. Axel Hunger Überwache Sommer Semester 2012 VerkehrVorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. –T Transformation „Überwache Verkehr nach Rechts“: schaltet die f ti Üb h V k h h R ht “ h lt t di Signalanlage auf der linken Seite.-Ing.Lösung Beispiel/ Übung 10: Kapitel 4: Strukturierter Entwurf . Stefan Werner nach Rechts Folie 15 Lösung Beispiel/ Übung 10: .Signalanlage eines eingleisig befahrenen Tunnels Transformationseingänge (Bedingungen) sind die Sensorsignale • Zug nähert sich von rechts • Zug nähert sich von links • Zug verlässt Tunnel links • Zug verlässt Tunnel rechts Rechte Ampel Grün Rechte Ampel Rot Kapitel 4: Strukturierter Entwurf Transformationsausgänge (Aktionen) sind Signale zur Steuerung der Signalanlage • Rechte Ampel rot • Rechte Ampel grün • Linke Ampel Rot • Linke Ampel Grün Zug nähert sich von rechts Zug verlässt Tunnel links Überwache Verkehr nach Links Anzahl z Zug nähert sich von links Zug verlässt Tunnel Rechts Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Dr.-Ing. Dr.-Ing.

Signalanlage eines eingleisig befahrenen Tunnels - Kapitel 4: Strukturierter Entwurf Wieviele Zustände hat das System? • Ein wartender Zustand => „kein Verkehr nach links“ • Ein „wachender“ Zustand.-Ing. der den Verkehr aus der Gegenrichtung überprüft => „Prüfe ob Tunnel frei“ • Ein zählender Zustand => „Verkehr nach links aktiv“ Kein Verkehr nach links Prüfe ob Tunnel frei üe u e e Verkehr nach links aktiv Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.Signalanlage eines eingleisig befahrenen Tunnels Das zugehörige Zustandsübergangsdiagramm enthält Kapitel 4: Strukturierter Entwurf eingehende Ereignisse als Bedingungen ausgehende Ereignisse als Aktionen Aus G ü de de Übe s c t: Modell nur für e e Transformation us Gründen der Übersicht: ode u ü eine a s o at o „Überwache Verkehr nach Links“ Rechte Ampel Grün Rechte Ampel Rot Zug nähert sich von rechts Zug verlässt Tunnel links Überwache Verkehr nach Links Anzahl z Zug nähert sich von links Zug verlässt Tunnel rechts Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.-Ing.-Ing. Dr. Axel Hunger Linke Ampel Grün Überwache Sommer Semester 2012 VerkehrVorlesung „Grundlagen der Programmentwurfstechnik“ Linke Ampel Rot Dozent: Dr. Dr. Stefan Werner nach Rechts Folie 17 Lösung Beispiel/ Übung 10: . Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr. Stefan Werner Folie 18 9 .-Ing.Lösung Beispiel/ Übung 10: .

Dr.-Ing.-Ing.Lösung Beispiel/ Übung 10: Kapitel 4: Strukturierter Entwurf . Stefan Werner Folie 19 Lösung Beispiel/ Übung 10: Kapitel 4: Strukturierter Entwurf .-Ing. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.-Ing. Axel Hunger Verkehr nach links aktiv Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.Signalanlage eines eingleisig befahrenen Tunnels • Im Zustand „Prüfe ob Tunnel frei“ kann das Ergebnis sein: – Gegenverkehr (von links kommend) oder – der Tunnel ist frei • Für einen freien Tunnel MUß gelten z=0 mit – z:= Zählvariable für die Anzahl der Züge im Tunnel Rechte Ampel Rot Kein Verkehr nach links Zug nähert sich von rechts Prüfe ob Tunnel frei üe u e e Tunnel frei UND z=0 rechte Ampel grün UND z=1 Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.Signalanlage eines eingleisig befahrenen Tunnels – Im „wartenden Zustand“ ist die rechte Ampel „bedingungslos“ auf rot => „rechte Ampel rot“ – Der Erste sich von rechts nähernde Zug führt zu einer „Sicherheitsüberprüfung“ Rechte Ampel Rot Kein Verkehr nach links Zug nähert sich von rechts Prüfe ob Tunnel frei üe u e e Verkehr nach links aktiv Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof. Dr. Stefan Werner Folie 20 10 .

-Ing. Stefan Werner Folie 22 Zug nähert sich von rechts z=z+1 Zug verlässt Tunnel links UND z > 1 z=z-1 11 .Lösung Beispiel/ Übung 10: Kapitel 4: Strukturierter Entwurf . Dr. Axel Hunger Verkehr nach links aktiv Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.Signalanlage eines eingleisig befahrenen Tunnels • Für den letzten Zug „nach links “ gilt – z = 1. Stefan Werner Folie 21 Zug nähert sich von rechts z=z+1 Zug verlässt Tunnel links UND z > 1 z=z-1 Lösung Beispiel/ Übung 10: Kapitel 4: Strukturierter Entwurf .-Ing.-Ing. Dr. Axel Hunger Verkehr nach links aktiv Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.Signalanlage eines eingleisig befahrenen Tunnels • Im Zustand „Verkehr nach links aktiv“ können OHNE Zustandswechsel – weitere Züge nach links in den Tunnel einfahren => z = z+1 – Züge den Tunnel links verlassen => solange z > 1 Rechte Ampel Rot Kein Verkehr nach links Zug nähert sich von rechts Prüfe ob Tunnel frei üe u e e Tunnel frei UND z=0 rechte Ampel grün UND z=1 Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.-Ing. deshalb – bei Verlassen des letzten Zuges :> Zustandswechsel zu „kein Verkehr nach links“ – verlässt der letzte Zug den Tunnel => rechte Ampel rot lä t d l t t Z d T l > ht A l t Rechte Ampel Rot Kein Verkehr nach links Zug nähert sich von rechts Zug verlässt Tunnel links UND z = 1 z=0 UND rechte Ampel rot p Prüfe ob Tunnel frei üe u e e Tunnel frei UND z=0 rechte Ampel grün UND z=1 Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.

nicht Transformationseingänge im Sinne von Datenflüssen. Stefan Werner •Prof.-Ing.4 Zusammenfassung der Aufgaben bei der Erstellung des essential Models Kapitel 4: Strukturierter Entwurf Merke: Bei der Verfeinerung gilt: – Steuertransformationen haben ausschließlich Ereignisflüsse als Ein-/Ausgänge.und PostCondition Universität Duisburg-Essen Sommer Semester 2012 4.4.-Ing. – Nur Steuertransformationen können Auslöser für andere Transformationen generieren. Ereignisse bzw. generieren Universität Duisburg-Essen Fakultät Ingenieurwissenschaften Fachgebiet Technische Informatik Prof.und Ein nd Ausgang. Dr. Axel Hunger Zustandsübergangsdiagramm Folie 23 4. Auflösung der Steuertransformation Fakultät Ingenieurwissenschaften Vorlesung „Grundlagen der Programmentwurfstechnik“ Fachgebiet Technische Informatik Dozent: Dr. Verfeinerung • minimale Schnittstellen • Trennung von Daten. Auslöser nur als Eingang. Auflösung der Datentransformationen • Data Dictionary (-> Datenformat synt.und Steuertransformationen g 3.4 Zusammenfassung der Aufgaben bei der Kapitel 4: Strukturierter Entwurf Erstellung des essential Models 1. Kontext Diagramm • Definition eines Systems • Definition der Schnittstellen zur Umgebung => Definition mehrerer Terminatoren – sinnvoll zusammengefaßt • Li aller Daten-/Ereignisflüsse Liste ll D /E i i flü 2. Axel Hunger Sommer Semester 2012 Vorlesung „Grundlagen der Programmentwurfstechnik“ Dozent: Dr.) • Transformationsvorschrift (-> Prozedur) mit Pre.-Ing. – Für beide gilt: Freigabe und Sperren sind Auslöser (Prompts)./sem. Stefan Werner Folie 24 12 .-Ing. Dr. – Datentransformationen haben Datenflüsse als Ein.