Softwaretechnik SS 2006



Ähnliche Dokumente
Softwaretechnik SS Vorlesungseinheit

Softwaretechnik SS 2006

Software-Engineering SS03. Zustandsautomat

SEQUENZDIAGRAMM. Christoph Süsens

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Unified Modeling Language (UML)

Guido de Melo Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis

Software Engineering Interaktionsdiagramme

Software Engineering in der Praxis

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML)

Vorlesung Programmieren

Software Engineering in der Praxis

Inhalt Softwaretechnik (MN) Kapitel 5

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1..

Übung 4. Musterlösungen

Software Engineering I

1 Mathematische Grundlagen

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Version smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel

SWE5 Übungen zu Software-Engineering

RUP Analyse und Design: Überblick

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

Requirements Engineering I

Klassendiagramm. (class diagram)

Grundlagen der Softwaretechnik

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Mediator 9 - Lernprogramm

1 Einleitung. Lernziele. automatische Antworten bei Abwesenheit senden. Einstellungen für automatische Antworten Lerndauer. 4 Minuten.

Applikationen für das Qualitätsmanagement

Erstellen von x-y-diagrammen in OpenOffice.calc

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Use Cases. Use Cases

Die elektronische Rechnung als Fortsetzung der elektronischen Beauftragung so einfach geht es:

Klausur Software Engineering für WI (EuI)

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Bedingungen. Bedingungen. Bedingungen

Objektorientierte Analyse

Produktskizze. 28. November 2005 Projektgruppe Syspect

Klausur Software-Engineering SS 2005 Iwanowski

4. Übung zu Software Engineering

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Grundlagen der Theoretischen Informatik, SoSe 2008

Dokumentation Bonuspunkteverwaltung. Verfasser(in) / Autor: Check it Consulting

AutoTexte und AutoKorrektur unter Outlook verwenden

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

Grundlagen Software Engineering

Professionelle Seminare im Bereich MS-Office

Die Kurzsichtigkeit. Korrekturmöglichkeiten

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH

Umzug der abfallwirtschaftlichen Nummern /Kündigung

Vgl. Oestereich Kap 2.7 Seiten

Benutzerhandbuch - Elterliche Kontrolle

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

Animationen erstellen

Statuten in leichter Sprache

Vorlesung Betriebstechnik/Netzplantechnik Operations Research

Dokumentenverwaltung im Internet

Bedienung des Web-Portales der Sportbergbetriebe

Softwaretechnik (Allgemeine Informatik) Überblick

Print2CAD 2017, 8th Generation. Netzwerkversionen

7. Bewässerung: Mehrmals pro Woche

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Computeria Rorschach Mit Excel Diagramme erstellen

MuP-Arbeitshilfen. Kreativität organisieren Der innovative Prozess. Problem-Phase

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07

PRÜFUNG. Grundlagen der Softwaretechnik

Buchungs- und Umsatzsteuerzeitraum ändern

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Software-Engineering

Einführung in Petri-Netze. Modellierung von Abläufen und Prozessen (1) Abhängigkeitsgraphen: Motivation. Petri-Netze

Leitfaden Internet-Redaktion kursana.de

1. Allgemein Speichern und Zwischenspeichern des Designs Auswahl der zu bearbeitenden Seite Text ergänzen Textgrösse ändern 3

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

WinVetpro im Betriebsmodus Laptop

Bedienungshinweise shop.flaboform.de 1. Zugang

SCHRITT 1: Öffnen des Bildes und Auswahl der Option»Drucken«im Menü»Datei«...2. SCHRITT 2: Angeben des Papierformat im Dialog»Drucklayout«...

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Elexis-BlueEvidence-Connector

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Objektorientierte Konzepte und Notation in UML. Objekt Klasse Attribut Operation

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

Modellbildungssysteme: Pädagogische und didaktische Ziele

Webalizer HOWTO. Stand:

2. Im Admin Bereich drücken Sie bitte auf den roten Button Webseite bearbeiten, sodass Sie in den Bearbeitungsbereich Ihrer Homepage gelangen.

Urlaubsregel in David

SWT MN Vorlesung Übungsblatt Hausaufgaben und Hörsaalübungen zum Themenbereich UML-Modellierung mit Rollen und OOA-Muster

IT-SICHERHEIT IM UNTERNEHMEN Mehr Sicherheit für Ihre Entscheidung

Transkript:

Softwaretechnik SS 2006 7. Vorlesungseinheit Prof. Dr. Urs Andelfinger Darmstadt, 22. Mai 2006 Softwaretechnik (SWT) Vorlesung und Praktikum SS 2006 Inhaltsübersicht SW-Management SW-Entwicklung SW-Qualitätsmgmt. Vorgehensmodelle (insbes. RUP) Best-Practices Projektmanagement (?) OO-Grundbegriffe (UML) (Geschäftsprozeßmodellierung) Analyse / OOA Entwurf / OOD Entwurfsmuster Implementierung ( ) QM-Grundlagen Produktqualität (Testen, Reviews) Prozeßqualität (CMMI, ISO) Exemplarische Umsetzung ausgewählter Aspekte im Praktikum 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 2

Softwaretechnik (SWT) SS 2006 Lernziele der 7. Vorlesungseinheit Wiederholung der Umsetzung von UML-Assoziationen in C++ Wichtige dynamische UML-Diagramme kennen und anwenden können Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm Zustands(übergangs)diagramm Aktivitätsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 3 Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 4

Vom Klassendiagramm zum C++-Code UML-Notation C++-gerechte Notation C++-Code 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 5 Die Umsetzung von Assoziationen in der UML in C++-Code UML-Klassendiagramm Realisierung in C++ 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 6

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 7 Die Diagramme der UML 2.0 im Überblick Quelle: M. Jeckle 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 8

Die UML eignet sich zur durchgängigen (OO)-Modellierung statischer und dynamischer Aspekte bis zur Implementierung Statische Diagramme (Struktur-Diagramme) Klassendiagramm Objektdiagramm Paketdiagramm Dynamische Diagramme (Verhaltens-Diagramme) Use-Case-Diagramm Interaktionsdiagramme Sequenzdiagramm Kommunikationsdiagramm (bis UML 1.4: Kollaborationsdiagramm) Zustands(übergangs)diagramm Aktivitätendiagramm Implementationsdiagramme (behandeln wir nicht im Rahmen dieser Vorlesung) Komponentendiagramm Verteilungsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 9 Szenarios bilden die Grundlage für die Erstellung dynamischer Diagramme Szenario Sequenz von Verarbeitungsschritten, die unter bestimmten Bedingungen auszuführen ist Diese Schritte sollen das Hauptziel des Akteurs realisieren und ein entsprechendes Ergebnis liefern Sie beginnen mit dem auslösenden Ereignis und werden fortgesetzt, bis das Ziel erreicht ist oder aufgegeben wird Ein Anwendungsfall kann durch eine Kollektion von Szenarios dokumentiert werden Jedes Szenario wird durch eine oder mehrere Bedingungen definiert, die zu einem speziellen Ablauf des jeweiligen Anwendungsfalls führen. Akteur: ist außerhalb des Systems liegende Rolle, z.b. Benutzer oder externes System. Der Akteur löst ein Szenario aus. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 10

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Sequenzdiagramme Kollaborationsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 11 Die Darstellung von Szenarien erfolgt in der UML mit Interaktionsdiagrammen auf 2 Arten Szenario als textuelle Beschreibung Eine Touristin A übermittelt erst das Reiseziel und dann den Reisetermin an das Informationssystem Travel. Das System nennt ihr darauf den Preis der Reise. Sie ist einverstanden und gibt den Buchungsauftrag. Nach dessen Eingang erhält sie eine Bestätigung. Die Interaktionen dieses Szenarios können mit Interaktionsdiagrammen graphisch dargestellt werden: Sequenzdiagramm (zeitliche Abfolge ist wichtig) Kommunikationsdiagramm (logische Abfolge ist wichtig) 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 12

UML Darstellung von Szenarien als Interaktionsdiagramme Sequenzdiagramm (Zeitliche Abfolge!) A: Tourist Travel: System Reiseziel Reisetermin Reisepreis Buchungsauftrag Bestätigung Kommunikationsdiagramm (Informationsaustausch) 1. Reiseziel 2. Reisetermin 4. Buchungsauftrag A: Tourist Travel: System 3. Reisepreis 5. Bestätigung 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 13 Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 14

Zustandautomaten (StateCharts) Bei technischen Systemen ist es oft nützlich, wenn man die verschiedenen Zustände und die zulässigen Zustandsübergänge geeignet modellieren könnte. Erweiterung des Konzeptes der endlichen Automaten führt zum Zustandsautomat: Zustände und Zustandsübergänge Schachtelung in Super- und Subzustände Parallele Komposition von Zuständen Variablen, Kommunikation per Broadcast beispielsweise für technische Systeme viel verwendet Beispiele für Tools: StateMate, Rhapsody 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 15 Modellierung von Objektzuständen mithilfe von Zustandsdiagrammen Zustand beschreibt Eigenschaften des Objekts zu einem bestimmten Zeitpunkt Attributwerte Beziehungen zu anderen Objekten Zustandsname soll daher kein Verb sein, sondern Adjektiv / Partizip Ereignis tritt zu einem bestimmten Zeitpunkt auf, keine Dauer neuer Attributwert Signal (z.b. Abschluss einer Operation) Ereignis häufig als Botschaft anzusehen Name kann entfallen, da Aktion (=Operation) gleichnamig 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 16

Zustands-(übergangs)diagramme in der UML Quelle: Rational Corp. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 17 Zustandsautomaten in der OO-Welt: Lebenszyklus eines Buch-Objektes in einem Bibliothekssystem Buch defekt / entfernen() präsent neues Buch liegt vor / erfassen() after (Abholf rist vorbei) Ausleihw unsch / ausleihen() Leser gibt Buch z urück / zurückgeben() Buch erfassen() ausleihen() zurückgeben() vorbestellen() ent fer nen() Buch v erloren / entfernen() Ausleihw unsch / vorbestellen() ausgel iehen Leser holt Buch ab / ausleihen() zur Abholung berei t vorbest ell t Leser gibt Buch zurück / zurückgeben() 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 18

Modellierung von Objektzuständen: Beispiel Objektlebenszyklus Tank Beispiel eines Objekt-Lebenszyklus neues Soll / Soll einstellen leer Tank #maxfuellhoehe -sollfuellhoehe -istfuellhoehe +fuellen() +leeren() #solleinstellen() füllend do: füllen voll leerend do: leeren starte füllen ist voll starte leeren ist leer 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 19 Beispiel: Zustandsautomat einer Digitaluhr in Tabellenform Zustandstabelle Tabelle mit 4 Spalten: Aktueller Zustand Ereignis (Eingabe) Aktion (Ausgabe) Folgezustand Beispiel Digitaluhr als Tabelle Zustand Ereignis Aktion Folgezustand Normalzeit Knopf 1 Stunden blinken Stunden stellen Stunden stellen Knopf 1 Minuten blinken Minuten stellen Stunden stellen Knopf 2 Stunden erhöhen Stunden stellen Minuten stellen Knopf 1 Sekunden blinken Sekunden stellen Minuten stellen Knopf 2 Minuten erhöhen Minuten stellen Sekunden stellen Knopf 1 Normalanzeige Normalzeit Sekunden stellen Knopf 2 Sekunden stellen Sekunden stellen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 20

Beispiel: Zustandsautomat einer Digitaluhr Start Knopf 1 gedrückt / Stunden blinken Normalzeit Knopf 1 gedrückt / Normalanzeige Stunden stellen Sekunden stellen Knopf 2 gedrückt / Stunden erhöhen Knopf 1 gedrückt / Minuten blinken Minuten stellen Knopf 1 gedrückt / Sekunden blinken Knopf 2 gedrückt / Minuten erhöhen Knopf 2 gedrückt / Sekunden stellen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 21 Zustandsautomaten und Zustandsdiagramme: Anwendung Zustandsautomaten......eignen sich gut dazu, das Verhalten von Elementen, z.b. von Objekten oder Interaktionen, zu beschreiben...werden am häufigsten dazu eingesetzt, den Lebenszyklus eines Objektes zu modellieren Alle Objekte einer Klasse besitzen denselben Zustandsautomaten Jedes Objekt kann einen individuellen Zustand einnehmen I. Allg. ist es nicht notwendig, für jede Klasse einen Zustandsautomaten aufzustellen. 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 22

Agenda Umsetzung von UML-Modellen in C++ Dynamische UML-Diagramme Interaktionsdiagramme Zustandsübergangsdiagramme Aktivitätsdiagramme 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 23 Aktivitätsdiagramme sind eine Variante des Zustandsdiagramms und eignen sich gut zur Geschäftsprozessmodellierung Vergleichbar mit den»alten«flussdiagrammen bzw. Programmablaufplänen (PAPs). Eignen sich deshalb gut für Kontrollfluß-Darstellungen Dienen zur Beschreibung von Abläufen: Was tun einzelne Schritte eines Ablaufs In welcher Reihenfolge werden sie ausgeführt Wer ist für einen Schritt verantwortlich (optional) Einsatzfelder: Beschreibung eines Anwendungsfalls Beschreibung des Zusammenspiels von Anwendungsfällen Beschreibung von Geschäftsprozessen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 24

Aktivitätsdiagramme benutzen die folgenden Symbole Aktivität n Die 4 Konnektoren von UML- Aktivitätsdiagrammen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 25 Beispiel für ein einfaches Aktivitätsdiagramm 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 26

Aktivitäten und Übergänge im Aktivitätsdiagramm sind ähnlich, aber doch anders als bei Zustandsdiagrammen Aktivität: ist Zustand mit interner Aktion entspricht Zustand bei Zustandsautomaten Übergänge modellieren Kontroll- und Objektfluss, z.b. bei Anwendungsfällen beim Zusammenspiel verschiedener Methoden zur Beschreibung des Ablaufs in einer Methode Übergänge nicht abhängig von Ereignissen Bedingungen möglich Aufteilung und Synchronisation durch Balken zusätzlich Synchronisationsbedingungen möglich 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 27 Aktivitäten und Übergänge: Beispiel Teepause - mit Guard Conditions zur Steuerung der Verzweigungen Wasser kochen Tee auswählen [Wasser siedet] Tee in Filter tun [Tee grün] 10 Min. warten [Tee schwarz] Tee aufgießen 3 Min. warten Tasse holen Filter entfernen Tasse füllen [nicht leer] Tasse nehmen Tee trinken Tasse abstellen [leer] PIWIN lesen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 28

Swimlanes erlauben die Definition von Rollen und Verantwortlichkeiten in Aktivitätsdiagrammen Verantwortlichkeitsbereiche entsprechen Handelnden Gast Bedienung Theke Platz nehmen Zeitung nehmen Kaffee bestellen Bestellung aufnehmen Kaffee bereiten servieren Zeitung lesen Kaffee trinken Rechnung schreiben bezahlen 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 29 Fragen? 2006 Prof. Dr. Urs Andelfinger. All rights reserved. 30