Software Engineering Strukturierter Entwurf

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

Designing Software for Ease of Extension and Contraction
Einführung in die Programmierung Zusammenfassung
IT-Projektmanagement
5. Sortier-Algorithmen Vorbemerkungen:
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Objektorientierter Entwurf
Seminar Software-Engineering für softwareintensive Systeme
Java: Objektorientierte Programmierung
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Modularisierungstechniken
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerische Methoden, SS 01Teil II: Kp. 22/1 Grundmodelle.
Fehlerabdeckung/ Regressionstest1 Testen und Analysieren von Software Fehlerbehebung und Re-Engineering Fehlerabdeckung/ Regressionstest Vortragende:
1 Analyse von Software-statisch- Darmstadt,den Presentation: Sebastian Schikowski Steve Kenfack.
Ergänzung zur Bedeutung von SW-Engineering
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Datenmodellierung - Aufbau einer Datenbank -
Entwurfsmuster EDV Entwurfsmuster.
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Einführung in die Programmierung Datensammlung
Einführung in die Programmierung Anweisungen und Datentypen
Bestimmung des ggT zweier Zahlen
Verzweigung.
Übung zum Thema Architektur
Einstiegsunterricht - Informatik -. Möglichkeiten des Einstiegsunterricht Benutzung und Analyse eines dokumentierten Systems Einführung in die Programmierung.
Wizards & Builders GmbH Modularisierung von SW Modularisierung von Anwendungen mit Microsoft Visual FoxPro.
Softwareprojekt Shopverwaltung
Objektorientierte Modellierung
Vorgehensmodelle: Schwergewichtige Modelle
Spezifikation von Anforderungen
grundlagen der Wirtschafts- informatik
Proseminar Programmiersprachen Python
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Projektpräsentation der Bücherei
Seminar Softwareentwicklung Programmierstil Helmut Schmidauer
Strukturierter Entwurf (und Realisierung)
Software-Technik „Zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige.
Wasserfallmodell und Einzelbegriffe
Vom Geschäftsprozess zum Quellcode
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Fachkonzepte in der UML
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Thomas Hilpold: Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger.
Algorithmen und Datenstrukturen Übungsmodul 1
Objekte Objekte sind Elemente, die man mit dem Programm bearbeiten kann. Datei, aufgebaut als Tabelle (Relation) Datensatz, entspricht einer Zeile der.
Algorithmen und Datenstrukturen Übungsmodul 3
MODULA-2.
PHP: Operatoren und Kontrollstrukturen
1 Tagesüberblick 2 Lösung Hausaufgabe/Fragen Datei- ein- und ausgabe Schleifen Vergleiche Wahrheit.
Objektorientierung.
Klassen und Klassenstruktur
Software Engineering Grundlagen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Software Engineering Strukturierte Analyse
Technische Universität München Zentralübung Automotive Software Engineering – Übungsblatt 6.
Eine Unterrichtseinheit für die Sekundarstufe I Legoroboter im Schulzimmer.
Software Engineering Struktogramme
2 Grundlagen In diesem Abschnitt werden die Grundbegriffe und Methoden der Theorie der formalen Sprachen und der Automaten wiederholt, soweit diese ben.
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
IEC Ablaufsprache / Sequential Function Chart
Objektorientierte (OO) Programmierung
Objektorientierte Programmierung Was ist das eigentlich ?
1. Betreuer: Prof. Dr. Jörg Striegnitz 2. Betreuer: Dr. Martin Schindler Kontextsensitive Autocompletion für Klassendiagramme in der UML/P Florian Leppers.
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

Software Engineering Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Gliederung Einführung Grundelemente Modulhierarchie Unterprogramme Entwurf und SA Entwurf und Programmierung Vorgehensweise Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Einführung Zielsetzung beim Softwareentwurf ist die Sicherstellung der Korrektheit, Zweckmäßigkeit, Effizienz, Testbarkeit, Änderbarkeit, Erweiterbarkeit, etc. der zu erstellenden Software. Modularisierung hat das Ziel ein System in in sich abgeschlossene Einheiten zu zerlegen. Diese Einheiten sollen einzeln entwickelt, ausgetauscht, verändert, hinzugefügt, ... werden können, ohne dass andere Teile des Gesamtsystems dadurch beeinflusst werden! Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modul Ein Modul ist eine Sammlung von Algorithmen und Daten bzw. Datenstrukturen zur Bearbeitung einer in sich abgeschlossenen Aufgabe. Die Verwendung des Moduls (d.h. seine Integration in ein Programm-System) erfordert keine Kenntnis seines inneren Aufbaus und der konkreten Realisierung. Seine Korrektheit ist ohne Kenntnis seiner Einbettung in ein bestimmtes Programmsystem nachprüfbar. Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modul Ein Modul wird anhand folgender Kriterien gebildet: - Abgeschlossenheit (Aufgabe), - Geheimnisprinzip, - Datenabstraktion, Kapselung, - Schnittstellenspezifikation, - Schnittstellenminimalität, - Überschaubarkeit, Testbarkeit, etc. Programmiersprachen bieten zur Implementierung von Modulen unterschiedliche Konzepte: Paket, Unterprogramm, Funktion, Tasks, Unit usw. . Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Strukturierter Entwurf Methoden für die implementationsnahe Beschreibung von Softwaresystemen. Zielstellung ist die Definition der Programmstruktur und das Abgrenzen von Modulen. Eine weit verbreitete Technik ist das structured chart. Es ist zweckmäßig, die Funktionen der letzten Ebenen der SA als Module strukturiert zu modellieren. Modul Folge AB A B C D E Wiederholung von C Auswahl DE Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Grundelemente A A A B A C A B C A B B Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Sequenz A B C D function A() { print (“B“); print (“C“); print (“D“); } Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Alternative E F B if ( bedingung = wahr ) print (“E“); else print (“F“); Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Wiederholung D G while ( anzahl < 2 ) { print (“G“); anzahl=anzahl+1; } Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modulhierarchie A B C D E F B G D Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modulhierarchie A B C D E F G Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modulhierarchie C F E G A B C D E F G anzahl < 2 bedingung Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modulhierarchie A B C D E F G function A() { if ( bedingung = wahr ) print (“E“); else print (“F“); print (“C“); while ( anzahl < 2 ) { print (“G“); anzahl=anzahl+1; } } C F E G anzahl < 2 bedingung Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Modulhierarchie die 2. Unterprogramme A B C D E F B G D Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Unterprogramme A B C D E F B G D Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Unterprogramme G D E F B A B C D function D() { while ( anzahl < 2 ) { print (“G“); anzahl=anzahl+1; } } function B() { if ( bedingung = wahr ) print (“E“); else print (“F“); } function A() { B(); print (“G“); D(); } G D E F B A B C D Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

SA und Entwurf Funktion: ermittle Kundenumsatz Kundennummer Umsatz Rechnung Blatt- funktion 3.2 Funktion: ermittle Kundenumsatz IN: Kundennummer (Datenfluss) OUT: Umsatz (Datenfluss) Minispezifikation: suche Rechnungen für Kundennummer wiederhole für jede Rechnung lese Rechnungssumme aus Rechnung wenn Rechnung bezahlt Umsatz=Umsatz+Rechnungssumme gebe Umsatz auf Bildschirm aus Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

SA und Entwurf Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt ermittle Kunden- umsatz Kundennummer Umsatz Rechnung Blatt- funktion 3.2 Funktion: ermittle Kundenumsatz IN: Kundennummer (Datenfluss) OUT: Umsatz (Datenfluss) Minispezifikation: suche Rechnungen für Kundennummer wiederhole für jede Rechnung lese Rechnungssumme aus Rechnung wenn Rechnung bezahlt Umsatz=Umsatz+Rechnungssumme gebe Umsatz auf Bildschirm aus deinit Tabelle Rechnungen gebe Umsatz auf BS aus ermittle Kundenumsatz init Tabelle für jeden Datensatz Umsatz=0 open Rechnungen Satzzeiger auf 1 lese Datensatz wenn Kundennummer gleich und bezahlt Umsatz=Umsatz+1 Satzzeiger +1 Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Der Weg zum Quellcode Drag & Drop generiert Strukturierter Entwurf main init BS Aufbau Eingabeaufforderung Menüauswahl Ausleihe Rückgabe Statistik Stammdaten ende deinit 1 2 3 4 5 generiert Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Die Strukturierte Programmierung main init BS Aufbau Eingabeaufforderung Menüauswahl Ausleihe Rückgabe Statistik Stammdaten ende deinit 1 2 3 4 5 Mit F8 generiert Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt

Vorgehensweise Strukturierte Analyse Blattfunktionen mit Minispezifikationen Entwurf der Blattfunktionen als getrennte Module Entwurf der Anwendungsarchitektur / Hauptmodul Integration der einzelnen Module als Unterprogramme in das Hauptmodul Strukturierter Entwurf Dipl. Ing. Päd. Huwaldt