Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Blue J.
Eine Frage der Sichtweise
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Objektorientierte Programmierung
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
Wissensanalyse von Aufgaben mit TKS Eine Methode zur Problemlösung
Informatik 12 | DAES Compilerbau Wintersemester 2010 / 2011 Dr. Heiko Falk Technische Universität Dortmund Lehrstuhl Informatik 12 Entwurfsautomatisierung.
Modellbasierte Software-Entwicklung eingebetteter Systeme
OO Analyse Analyseprozess Erstellen eines Modells
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Java: Objektorientierte Programmierung
Abhängigkeitsbeziehung
DOM (Document Object Model)
Markplätze für Agenten Seminar Softwareagenten Timo Hoelzel.
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 16 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
1 Analyse von Software-statisch- Darmstadt,den Presentation: Sebastian Schikowski Steve Kenfack.
Access 2000 Datenbanken.
DVG Klassen und Objekte
Dieter Bergmann, Lichtenfels
Datenbankentwurfsprozess
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Tino Reindanz - FSU Jena Seminar Aktive Datenbanken – SS 2007 Folie 1 Seminar Aktive Datenbanken Rule Development Rule Development for Active Database.
... und alles was dazugehört
Vorgehensmodelle: Schwergewichtige Modelle
Software Engineering WS 2009
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Spezifikation von Anforderungen
Software Engineering SS 2009
Software-Projektführung
Das Wasserfallmodell - Überblick
Software Engineering SS 2009
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Weitere Vorgehensmodelle Der Rational Unified Process RUP –bei IBM.
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Software Engineering SS 2009
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
12. Vorlesung: Aktivitätsdiagramme
Eine Implementierung einer effiziente externe geordnete (!) lineare Liste Operationen: Search(x) Insert(x) Delete(x)
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Effiziente Algorithmen
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
UML-Kurzüberblick Peter Brusten.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 5 Dr. W. Narzt u. Dr. A. Stritzinger.
Wasserfallmodell und Einzelbegriffe
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Systemsoftware und Betriebssysteme
SOFTWARE TECHNOLOGY 2009/2010 Faculty of Electrical Engineering and Technical Informatics Budapest University of Technology and Economics OO problems 1.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Software Engineering Strukturierte Analyse
Einführung Dateisystem <-> Datenbanksystem
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Java-Kurs Übung Besprechung der Hausaufgabe
Folie 1 Jan-Peter Schmidt Matthias Teske -Fernstudium Informatik- -Matrikel LABORPRAKTIKUM- SOMMERSEMESTER 2005 „Umsetzung von Pattern“ Muster:
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte Programmierung Was ist das eigentlich ?
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
© 2008 TravelTainment The Amadeus Leisure Group Thread-Programmierung im Qt-Framework Von: Simon Lubberich Erstbetreuer:
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
Objektorientierte Programmierung
 Präsentation transkript:

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Systementwurf Überblick: Entwicklung der globalen Problemlösungsstrategie für die Implementierung Organisation in Teilsysteme Entscheidungen zur Konzeption und Vorgehensweise Rahmen für Detailentwurf

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 2 Systementwurf Architekturkonzept Funktionales Modell –Batchverarbeitung: einmalige Datentransformation auf vollständige Eingabe Compiler –kontinuierliche Verarbeitung: fortlaufende Datentransformation auf sich ändernde Eingaben Signalverarbeitung Prozessüberwachung Fenstersysteme

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 3 Systementwurf Dynamisches Modell –interaktive Schnittstelle: formularbasierte Schnittstelle Kommando-Shell –Dynamische Simulation: diskrete Simulation stetige Simulation –Echtzeitsystem Prozesssteuerung Datenerfassung Objektmodell –Transaktionsmanager: DB für parallelen Zugriff, Transaktionen sind unteilbar Flugbuchung

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 4 Systementwurf Aufbrechen eines Systems in Teilsysteme Formen von Teilsystemen: –Schichten –Partitionen –Mischformen Ziel: Beherrschung der Komplexität Teilsystem: Paket miteinander verbundener –Klassen –Operationen –Ereignissen mit einer Schnittstelle zu anderen Teilsystemen Wichtig: Darstellung der Datenflüsse zwischen den Teilsystemen

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 5 Systementwurf Identifizieren von Parallelität –inhärent parallel: zwei Objekte können gleichzeitig Botschaften empfangen, ohne miteinander zu interagieren. Objekte müssen (quasi)parallel ablaufen –abhängige Objekte: können zu einem Kontrollstrang zusammengefasst werden Kontrollstränge werden als Tasks (Prozesse) implementiert

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 6 Systementwurf Teilsysteme auf Prozesse verteilen –Performanceanforderungen abschätzen –Für jedes Teilsystem entscheiden, ob HW oder Softwareimplementierung –ggf. Aufteilung auf mehrere Prozesse / Rechner und Kommunikationsaufwand minimieren –Logische und physikalische Verbindungen der Teilsysteme festlegen Datenspeicherverwaltung –Möglichkeiten, je nach Leistungsanforderung: Datenstrukturen im Hauptspeicher Dateien: sequentiell oder indexsequentiell DB

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 7 Systementwurf Globale Betriebsmittel –Arten: physikalische Geräte logische Einheiten –Zugriffe müssen synchronisiert werden –Sperrmechanismen müssen vorgesehen werden

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 8 Systementwurf Auswahl der Implementierung für die Steuerungssoftware externe Steuerung: Fluss der nach außen sichtbaren Ereignisse zwischen Objekten –prozedurgesteuerte Systeme (Steuerung ist im Programmcode enthalten) –ereignisgesteuerte Systeme (Sprache, Teilsystem oder BS stellt Eventhandler zur Verfügung) –parallele Systeme (z. B. Tasks eines Betriebssystems) interne Steuerung: analog externe Steuerung; einfacher, da interne Operationen von Algorithmen erzeugt werden und nicht asynchron von außen kommen.

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 9 Systementwurf Behandlung von Grenzbedingungen Initialisierung Terminierung Absturz –Behandlung von Dingen, die eigentlich nicht auftreten dürften –genaue Informationen über Fehlersituationen erforderlich

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 10 Objektentwurf Überblick: Ausarbeitung von Details: Festlegung der –vollständigen Definition der Klassen und Assoziationen, die bei der Implementierung verwendet werden –Algorithmen der Methoden –Schnittstellen der Methoden Hinzufügen interner Objekte für die Implementierung und Optimierung

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 11 Kombination statisches / dynamisches Modell Kombination des statischen mit dem dynamischen Modell Das Objektmodell der Analyse –ist wichtigste Grundlage für den Entwurf –enthält möglicherweise nicht alle Operationen

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 12 Kombination statisches / dynamisches Modell Entwurf von Algorithmen –Operationen des funktionalen Modells müssen als Algorithmus definiert werden –Unterscheidung zwischen triviale Algorithmen, die Daten entlang den Pfaden schreiben / lesen (werden nicht angegeben) nicht-triviale Algorithmen –für Funktionen, zu denen keine prozedurale Spezifikation gegeben ist –zur Optimierung von Funktionen, die durch einen einfachen, aber ineffizienten Algorithmus definiert sind –Aspekte zur Beurteilung Verarbeitungskomplexität einfache Implementierung Verständlichkeit Flexibilität / Erweiterbarkeit: evtl. 2 Algorithmen realisieren zwecks Evaluation Feinabstimmung des Objektmodells im Hinblick auf Wechselwirkung zwischen Struktur und Komplexität von Algorithmen

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 13 Kombination statisches / dynamisches Modell Datenstrukturen –vordefinierte Datenstrukturen (Auswahl) Felder Listen Mengen... –interne Klassen (Definition) sind für Implementierung sinnvoll bleiben nach außen unsichtbar sind in Problembeschreibung des Anwenders nicht erwähnt Verantwortung für Operationen Objekten zuordnen –Hinweise hierzu aus der realen Welt

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 14 Kombination statisches / dynamisches Modell Entwurfsoptimierung –Redundante Assoziationen für effizienten Zugriff hinzufügen –Ausführungsreihenfolge aus Effizienzgründen ändern –abgeleitete Attribute speichern, um Neuberechnungen zu vermeiden Problem: werden bei Aktualisierung der Basisdaten ungültig Lösung: –explizite Aktualisierung bei Änderung –periodische Neuberechnung (wenn mehrere Basisdaten nacheinander geändert werden) –aktive Werte (jeder Wert registriert sich beim aktiven Wert, eine Änderung löst eine Aktualisierung aus)

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 15 Kombination statisches / dynamisches Modell Steuerungsimplementierung: Implementierung des dynamischen Modells –Zustand als Stelle in einem Programm Zustandsdiagramm in eine sequentielle Anordnung der Zustände überführen Diagramm als Programmablaufplan interpretieren Übertragen in Pseudocode –Zustandsmaschinen – Mechanismus Implementierung einer Klasse, die die Ausführung einer Zustandsmaschine ermöglicht –Steuerung als parallele Tasks Objekte als Tasks implementieren Ereignisse werden als Kommunikation zwischen den Prozessen realisiert