Kapitel 4. Die Unified Modeling Language (UML)

Größe: px
Ab Seite anzeigen:

Download "Kapitel 4. Die Unified Modeling Language (UML)"

Transkript

1 Vorlesung Softwaretechnologie Wintersemester 2012 R O O T S Kapitel 4 Die Unified Modeling Language (UML) - Stand: Modellierung und UML Übersicht 4.2 Kurzüberblick wichtiger Notationen im Zusammenhang 4.3 Strukturdiagramme im Kleinen: Klassen, Objekte, Pakete 4.4 Verhaltensmodellierung: Zustands- und Aktivitätsdiagramme 4.5 Verhaltensmodellierung: Sequenz-, Kommunikations- und Interaktionsübersichtsdiagramme

2 Kapitel 4: UML 4.1 Modellierung und Unified Modelling Language Übersicht Ausgangspunkt Warum Modellierung? Warum objektorientierte Modellierung? Warum mit der UML? UML-Überblick R O O T S

3 Problemstellung Ausgangssituation: Sie kennen 2-3 Programmiersprachen haben bisher allein oder in sehr kleinen Gruppen (<5) gearbeitet Neue Herausforderungen: Sie sollen mit Kollegen zusammenarbeiten, die andere Programmiersprachen nutzen mit Kunden kommunizieren, die nichts von Informatik verstehen komplexe, evt. verteilte Systeme realisieren, mit einer Vielzahl von Klassen, Subsystemen, verschiedensten Technologien, Entwürfe auf einer höheren Abstraktionsebene als Quellcode kommunizieren und dokumentieren auch die Software-Verteilung, -Einführung und den Betrieb planen Lösungsweg: Abstraktion des zu realisierenden Systems Erst modellieren, dann programmieren! Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-3 R O O T S

4 Warum Software modellieren? Software ist schon eine Abstraktion, also warum noch modellieren? Software wird umfangreicher, nicht kleiner Windows NT 5.0 ~ 40 Millionen Zeilen Code Kein Programmierer kann diese Menge Code alleine bewältigen. Code ist oft von Entwicklern, die an der Entwicklung nicht mitgewirkt haben, nicht direkt zu verstehen Wir brauchen einfachere Repräsentationen für komplexe Systeme Modellierung ist ein Mittel um mit Komplexität umzugehen Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-4 R O O T S

5 Systeme, Modelle, und Sichten Ein Modell ist eine Abstraktion, welche ein System oder einen Teil davon beschreibt Eine Sicht stellt ausgewählte Aspekte eines Modells dar. Modelle eines Systems können sich überschneiden. Sichten auch. Flugzeug - System Skelettmodell Flugsimulator-Modell Elektr. Verkabelung Sicht Navigationssystem Sicht Tanksystem Sicht Eine Notation ist ein Satz von Regeln (grafisch oder textuell) zur Darstellung von Sichten Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-5 R O O T S

6 Systeme, Modelle, und Sichten (UML) Dies ist eine statische Sicht eines Modells von Systemen, Modellen und Sichten Sie ist in der UML -Notation beschrieben System beschrieben durch * Modell * dargestellt durch Sicht... und dies ist ihre Instanz für das vorige Beispiel. Sie ist ebenfalls in der UML - Notation beschrieben Flugzeug:System Skelettmodell:Modell Flugsimulator:Modell Blaupausen:Sicht Tanksystem:Sicht Elektr Verkabelung:Sicht Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-6 R O O T S

7 Anwendungsdomäne Lösungsdomäne Anwendungsdomäne (Anforderungsanalyse): Die Arbeitsumgebung des Systems Lösungsdomäne (Design): Die zum Bau verfügbaren Technologien Modell der Anwendungsdomäne (Ausschnitt) Verkehrskontrolle UML: Paket Flugplan Kontrolleur Systemmodell (Ausschnitt) Übersichtsdisplay Kartendisplay Flugzeug Flughafen Flugplandatenbank Verkehrskontrolle Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-8 R O O T S

8 Probleme im traditionellen SW-Prozess Workflow Dokumente. Analyse Pflichtenheft (Text) Übersicht? Abbildbarkeit? Nachvollziehbarkeit? Entwurf Flussdiagramme,... Implementierung Programmcode Test Programmcode Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-9 R O O T S

9 Unified Modeling Language (UML) Standardisierte graphische Notation für alle Aktivitäten der Softwareentwicklung Nutzen für Anforderungserhebung, Entwurf, Implementierung, Einsatz ( deployment ), Besondere Unterstützung für objektorientierte Modellierung Standardisiert durch die OMG (Object Management Group) Bietet zahlreiche Diagrammtypen für verschiedene Sichten von Software statische Sichten auf die Struktur dynamische Sichten auf das Verhalten Mittlerweile breite Werkzeugunterstützung für die Erstellung von UML Diagrammen Code-Generierung aus Diagrammen (Forward Engineering) Diagramm-Generierung aus Code (Reverse Engeneering) nahtlose Synchronisation von Diagrammen und Code (Round-Trip Engineering) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-10 R O O T S

10 Nutzen der UML Kommunikation mit Anwendern Wenig formal Einfache graphische Notation Konzentration auf das Wesentliche Kommunikation mit Kollegen Austausch von Designs,... Abstraktion von Sprachdetails Schutz vor übereilter Implementationssicht Bandbreite unterstützt alltägliche und exotische Konzepte manuell, rechner-unterstützt und kombiniert einsetzbar Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-11 R O O T S

11 Bezug von UML zu gängigen OO Sprachen UML C++ Konzepte ohne direkter Entsprechung in gängigen Sprachen direkt ineinander abbildbarer gemeinsamer Kern sprachspezifische Details Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-12 R O O T S

12 UML: Geschichte und Literatur Entstanden aus der Zusammenführung dreier führender objektorientierten Methodologien OMT (James Rumbaugh) Klassendiagramme, Sequenzdiagramme, OOSE (Ivar Jacobson) Anwendungsfalldiagramme, Booch (Grady Booch) Software-Prozess Unified Process Literatur: Standardwerke The Unified Modeling Language User Guide (Booch & al 1999) The Unified Modeling Language Reference Manual (Rumbaugh & al 1999) alle im Addison Wesley / Pearsons Verlag) Empfehlung UML Distilled (Fowler & al. 2000, Addison Wesley) kurz und gut! UML@Work (Hitz & Kappel 2005, dpunkt) UML 2.0, deutsch, ausführlich! Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-13 R O O T S

13 UML Versionen UML 1 (1997) / UML 1.1 (1998) OMG-Spezifikation eines Modellierungsstandards OMG (Object Management Group): Verband führender Softwareunternehmen und Standardisierungsgremium für objektorientierte Systementwicklung UML 2 (2005) Neue Diagrammtypen Sollen den Anforderungen heutiger Softwarearchitekturen gerecht werden Komponenten- und Serviceorientierte (SOA) Architekturen, Geschäftsprozessmanagement, Echtzeitsysteme, Modifikationen bestehender Diagrammtypen Konvergenz der Diagrammtypen, vor allem der dynamischen Diagramme Grundidee: Modell-Driven Software Engineering (MDSE) Quellcode als Hauptartefakt ablösen und durch Modelle ersetzen, aus denen die Programme generiert werden Modelltransformationen, Generative Programmierung Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-14 R O O T S

14 UML Diagrammtypen Dies ist ein Klassendiagramm! Strukturdiagramm Klassendiagramm Objektdiagramm Paketdiagramm Komponentendiagramm UML-Diagramm Verhaltensdiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm UseCase-Diagramm Aktivitätsdiagramm Zustandsdiagramm konkrete Klasse abstrakte Klasse (kursiv) Vererbungsbeziehung Interaktionsdiagramm Sequenzdiagramm Kommunikationsdiagramm Interaktionsübersichtsdiagramm Zeitverlaufsdiagramm

15 UML Diagrammtypen: Was wird wo erläutert? Strukturdiagramm Klassendiagramm Objektdiagramm Paketdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Klassendiagramm++ UML-Diagramm Verteilungsdiagramm Verhaltensdiagramm UseCase-Diagramm Aktivitätsdiagramm Zustandsdiagramm Interaktionsdiagramm In diesem Kapitel Im Kapitel Anforderungserhebung und Anforderungsanalyse Im Kapitel Systementwurf Im Kapitel Objektentwurf Sequenzdiagramm Kommunikationsdiagramm Interaktionsübersichtsdiagramm Zeitverlaufsdiagramm

16 Kapitel 4: UML 4.2 Beispiel: Modellierung einer Uhr Kurzüberblick elementarer UML-Notationen Use-Case Diagramme Klassendiagramme Sequenzdiagramme Zustandsdiagramme R O O T S

17 Beispiel: Eine einfache LCD-Uhr Struktur 1 Display 2 Knöpfe 1 Batterie Verhalten Knopf 1 drücken startet Stunden-Einstellung Jeder weitere Druck schaltet weiter zu Minuten, Sekunden, Stunden,. Knopf 2 drücken erhöht den Wert des aktuell einzustellenden Elementes. Beide Knöpfe drücken beendet die Einstellung

18 UML-Kurzübersicht: Klassen-Diagramme Klasse Multiplizität 2 Knopf status drücke() lasselos() 1 1 LCDDisplay tick blinkesekunden() blinkeminuten() blinkestunden() stoppeblinken() refresh() EinfacheUhr Zeit Stunde Minuten Sekunden erhöhestunden() erhöheminuten() erhöhesekunden() start() jetzt() Assoziation lade() 2 Batterie Attribute Operationen Klassendiagramme repräsentieren die Struktur eines Systems

19 UML-Kurzübersicht: Use-Case Diagramme System Anwendungsfall ( Use Case ) LeseZeit Akteur Uhrenträger SetzeZeit Uhrmacher TauscheBatterie Use-Case Diagramme stellen die Funktionalität eines Systems aus Sicht der Benutzer dar.

20 UML-Kurzübersicht: Sequenz-Diagramme sd Watch Objekt :Uhrenträger :EinfacheUhr :LCDDisplay :Zeit drückeknopf1() drückeknopf1() blinkestunden() blinkeminuten() drückeknopf2() erhöheminuten() drückebeidek() stoppeblinken() refresh() starteabneuerzeit() Nachricht Aktivierung Sequenzdiagramme stellen die Interaktion von Objekten dar. Hier: Einstellen der Zeit an einer LCD-Uhr Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-22 R O O T S

21 UML-Kurzübersicht: Zustands-Diagramme Anfangszustand Zustand Event knopf1&2gedrückt Blinke Stunden knopf2gedrückt Erhöhe Stunden knopf1gedrückt Transition knopf1&2gedrückt Blinke Minuten knopf2gedrückt Erhöhe Minuten Endzustand Stoppe Blinken Blinke Sekunden knopf1&2gedrückt knopf1gedrückt knopf2gedrückt Erhöhe Sekunden Zustandsdiagramme stellen die interne Sicht von Objekten dar: Zustände und Zustandsübergänge endlicher Automat Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-23 R O O T S

22 UML Notationskonventionen Diagramme sind Graphen Knoten sind Konzepte Kanten sind Beziehungen zwischen Konzepten Rechtecke sind Typen oder Instanzen Instanzen werden durch Rolle : Typ und Unterstreichung gekennzeichnet meineuhr:einfacheuhr Joe:Feuerwehrmann Bei Typen werden die Namen nicht unterstrichen EinfacheUhr Feuerwehrmann

23 Kapitel 4: UML 4.3 Strukturdiagramme im Kleinen Klassendiagramme Seite Objektdiagramme Seite Paketdiagramme Seite jeweils Ausschnitte R O O T S

24 Strukturdiagramme im Kleinen Beschreiben die kleinsten in der objektorientierten Modellierung erfassten Teile eines Entwurfes Klassen die am häufigsten verwendete Struktur-Abstraktion Einzelne Objekte zur Verdeutlichung von Objektbeziehungen, die sich auf Klassenebene nicht ausreichend beschreiben lassen Pakete Gruppen von Klassen, die thematisch zusammengehören allerdings nicht unbedingt zur Laufzeit gemeinsam auftreten Diagrammtypen, die die Struktur im Großen beschreiben, werden im Kapitel Systementwurf behandelt Sie beschreiben Einheiten, die für die modulare Komposition, die Verteilung und die Laufzeit von Software Bedeutung haben Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-26 R O O T S

25 Klassendiagramm: Elemente Name Zone2Price : Table Tarif getzones() : Enumeration getprice(zone) : Price Attribute Signatur Operationen Eine Klasse repräsentiert ein Konzept. Eine Klasse kapselt Zustand (Attribute) und Verhalten (Operationen). Jedes Attribut hat einen Typ. Jede Operation hat eine Signatur. Der Klassenname ist die einzige unverzichtbare Information Hinzufügen weiterer Information beim Fortschreiten des Modellierungsprozesses Es ist möglich, unwichtige Details in einer teilweisen Sicht des Modells zu verstecken Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-28 R O O T S

26 Klassendiagramm: Verschiedene Sichten Detaillierungsgrad Implementierung Analyse / Design eingeklappt Window Fließender Übergang Window size: Area visibility: Boolean display() hide() Window { status=tested } + default-size: Rectangle + size: Area = (100,100) # visibility: Boolean - xwin: XWindow + display() + hide() + create() Sichtbarkeit (Implementierungs-Ansicht) public: + protected: # private: Weitere Notationen Klassenvariable / -methode: unterstrichen abstrakte Klasse / Methode: kursiv Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-29 R O O T S

27 Klassendiagramm: Abstrakte Klassen und Interfaces Abstrakte Klassen Definiton Implementierung unvollständig Enthalten abstrakte Methoden Notation Kursivschrift für Namen abstrakter Typen und Methoden Alternativ: Constraint {abstract} in geschweiften Klammern Äquivalente Beispiele Flugzeug tank starten() beladen() tanken() Flugzeug { abstract } tank starten() beladen() tanken() Interfaces Definition Ganz abstrakter Typ Keine Attribute und keine Methodenimplementierungen Notation wie Abstrakte Klasse evtl. zusätzlich Angabe des Stereotyps <<interface>> Beispiel Flugobjekt <<interface>> starten() fliegen(ziel) landen() Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-30 R O O T S

28 Stereotypen: Definition spezieller semantischer Kategorien Bisher nur Notationen für eine feste Menge von Konzepten Die Welt ist aber unendlich Stereotyp Hinweis auf semantische Kategorie für die es keine spezifische Notation gibt Ansatzpunkt für anwendungsspezifische Erweiterungen Anwendbarkeit Allgemein (Klassen, Variablen, Operationen, Beziehungen,...) Notation <<stereotyp>> oder graphisches Symbol, z.b. <<entity>> <<controller>> <<boundary>> <<interface>> <<selbst definierte Kategorie>> Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-31 R O O T S

29 Stereotypen: Beispiele Klasse mit Stereotypen <<entity>> Rechteck p1 : Punkt p2 : Punkt <<query>> fläche():real <<update>> bewege(delta:punkt) Rechteck p1 : Punkt p2 : Punkt <<query>> fläche():real <<update>> bewege(delta:punkt) Drei Äquivalente Darstellungen der Klasse PenTracker <<controller>> PenTracker PenTracker PenTracker Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-32 R O O T S

30 Objektdiagramme Objkte werden auch durch Rechtecke dargestellt, aber: Das Namensfeld einer Instanz ist unterstrichen und besteht aus: Einem Namen für die Rolle dieser Instanz Einem Doppelpunkt als Trenner Dem Typ der Instanz Man muss entweder die Rolle oder den Doppelpunkt und den Typ angeben Die Attribute werden zusammen mit ihren jeweiligen Werten angegeben. Eine anonyme Instanz von Tarif Eine benannte Instanz von Tarif :Tarif Sommertarif : Tarif zone2price = { { 1, 1.80}, { 2, 2.40}, { 3, 3.60} } Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-33 R O O T S

31 Klassendiagramm: Assoziationen Assoziationen definieren Beziehungen zwischen Instanzen von Klassen. Relationsname und Richtung in die er zu lesen ist. Hier: Person arbeitet-für Firma Rolle von Firma in Beziehung zu Person. Rolle von Person in Beziehung zu Firma. Firma Arbeitgeber * arbeitet-für Kardinalität / Multiplizität beliebig: * festes Intervall: 0..1 offenes Intervall: 5..* Arbeitnehmer * Person Die Multiplizität am jeweiligen Ende einer Assoziation gibt an, mit wie vielen Zielobjekten ein Quellobjekt in Beziehung stehen kann Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-34 R O O T S

32 Klassendiagramm: N zu M Assoziationen Assoziationen definieren Beziehungen zwischen Instanzen von Klassen. Die Multiplizität am jeweiligen Ende einer Assoziation gibt an, mit wie vielen Zielobjekten ein Quellobjekt in Beziehung stehen kann. Firma Arbeitgeber arbeitet-für Arbeitnehmer * * Person Dazu passendes Objektdiagramm hat mehrere Arbeitnehmer zeitarbeit: Firma eva : Person hat einen Job hat einen Arbeitnehmer ichag: Firma johan : Person hat mehrere Jobs hat keinen Arbeitnehmer briefkasten: Firma opa: Person hat keinen Job Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-36 R O O T S

33 Klassendiagramm: 1 zu 1 Assoziationen Assoziationen definieren Beziehungen zwischen Instanzen von Klassen. Die Multiplizität am jeweiligen Ende einer Assoziation gibt an, mit wie vielen Zielobjekten ein Quellobjekt in Beziehung stehen kann. Land 0..1 hat-hauptstadt 1 Stadt Dazu passendes Objektdiagramm nrw: Land Illegales Objektdiagramm bonn : Stadt dd : Stadt ist keine Hauptstadt ist Hauptstadt illegal: mehrere Hauptstädte nrw: Land dd : Stadt bayern : Land m: Stadt illegal: ist mehrfache Hauptstadt illegal: hat keine Hauptstadt takatuka: Land Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-37 R O O T S

34 Klassendiagramm: 1 zu N Assoziationen Assoziationen definieren Beziehungen zwischen Instanzen von Klassen. Die Multiplizität am jeweiligen Ende einer Assoziation gibt an, mit wie vielen Zielobjekten ein Quellobjekt in Beziehung stehen kann. Polygon 0..1 hat-eckpunkt 3..* Punkt Dazu passendes Objektdiagramm : Polygon Illegales Objektdiagramm : Punkt : Punkt : Punkt : Punkt : Punkt illegal: zu wenig Eckpunkte : Polygon : Punkt illegal: zu wenig Eckpunkte : Polygon : Punkt illegal: mehrfacher Eckpunkt illegal: zu wenig Eckpunkte : Polygon Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-38 R O O T S

35 Klassendiagramm: Aggregation Aggregation = ist Teil von -Beziehung Keine Aussage über Abhängigkeit des Teils vom Ganzen Teile dürfen in mehreren Ganzen enthalten sein Ihre Lebensdauer ist nicht von der des Ganzen abhängig Pfad * * {ordered} Segment Dazu passende Veranschaulichung der realen Welt B A C Rote Segmente sind Teil der Pfade BA und CA Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-39 R O O T S

36 Klassendiagramm: Aggregation Aggregation = ist Teil von -Beziehung Keine Aussage über Abhängigkeit des Teils vom Ganzen Teile dürfen in mehreren Ganzen enthalten sein Ihre Lebensdauer ist nicht von der des Ganzen abhängig Pfad * * {ordered} Segment Dazu passendes Objektdiagramm BA : Pfad CA : Pfad s7 : Segment s1 : Segment s6 : Segment s2 : Segment s3 : Segment s4 : Segment s5 : Segment Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-40 R O O T S

37 Klassendiagramm: Komposition Komposition = ist ausschließliches Teil von -Beziehung Lebensdauer des Teils endet mit Lebensdauer des Ganzen Beispiel: Abteilungen können ohne Firma nicht existieren Unterabteilung * Firma 1 1..* Abteilung 1 Hauptabteilung Dazu passende Veranschaulichung der realen Welt ABC GmbH Forschung Entwicklung Vertrieb F1 F2 F3 E1 E2 E3 V1 V2 V Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-41 R O O T S

38 Klassendiagramm: Komposition Komposition = ist ausschließliches Teil von -Beziehung Lebensdauer des Teils endet mit Lebensdauer des Ganzen Beispiel: Abteilungen können ohne Firma nicht existieren Unterabteilung * Firma * Abteilung 0,1 Hauptabteilung Dazu passendes Objektdiagramm Keine Aggregations- oder Kompositionsbeziehungen zu anderen Objekten: ABC: Firma Forschung: Abteilung Entwicklung: Abteilung Vertrieb: Abteilung F1: Abteilung F2: Abteilung F3: Abteilung E1: Abteilung E2: Abteilung E3: Abteilung V1: Abteilung V2: Abteilung V3: Abteilung Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-42 R O O T S

39 Assoziation, Aggregation, Komposition Spezialisierungen Aggregation ist spezielle Assoziation Komposition ist spezielle Aggregation Modellierung Alles was für Assoziationen gilt, gilt für die beiden anderen auch Im Zweifelsfall die allgemeinere Notation wählen und Intention durch zusätzliche Bedingungen explizit machen (Kardinalitäten, Constraints,...) Aggregation versus Assoziation Assoziation mit Kardinalitätsangaben und Constraints Komposition versus Aggregation Aggregation mit Kardinalitätsangaben und Constraints Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-43 R O O T S

40 Aggregation= Ist Teil von -Beziehung Modelliert Einheit eines "Ganzen" mit seinen "Teilen" Impliziert oft kaskadierende Operationen Operation auf Ganzem wird auch auf allen Teilen durchgeführt Beispiel 1: Verschiebung eines Rechtecks verschiebt alle seine Kanten Beispiel 2: Laden des Ganzen von Platte lädt alle seine Teile Impliziert oft Existenz-Abhängigkeit Teil existiert nicht ohne Ganzem Entspricht dem Kaskadierungsverhalten beim Löschen: Teile werden mit gelöscht oder an anderes Ganzes weitergegeben Impliziert oft Exklusivität Teil ist in genau einem Ganzen enthalten Mögliche semantische Kategorien (existenz-)abhängig, exklusiv (existenz-)abhängig, nicht exklusiv (existenz-)unabhängig, exklusiv (existenz-)unabhängig, nicht exklusiv

41 Assoziation: Die vier Kategorien exklusiv (nur in einem Ganzen) nicht exklusiv (in mehreren Ganzen) existenzabhängig (Propagierung der Löschoperation) 1 Spalte 1..* + explizite Angabe der Propagierungs-Semantik als Constraints (Seite 47) 1 Firma 1 * Abteilung Zeile 1 { } Zelle existenzunabhängig (keine Propagierung der Löschoperation)* * Sonderfall siehe Seite 48 Auto Reifen Proj. * * * Mitarb Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-45 R O O T S

42 Assoziation: Weitere Kategorien Aggregation und Komposition mit Kardinalität 0..1 Kardinalität 0 bedeutet hier: Teile können unabhängig von Ganzem erzeugt werden Sehr praxisrelevanter Fall: Vieles wir bottom-up produziert Kardinalität 1 bedeutet hier: Sobald die Teile einem Ganzen zugeordnet werden, sind sie exklusiv darin enthalten gerichtete Assoziation: nur eine Seite weiß von der anderen Seite und der Relation Entry element * x List Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-46 R O O T S

43 Bedingungen ( Constraints ) Bisher wurden nur besonders häufige Bedingungen modelliert, über Spezialnotationen (z.b. Komposition ) oder Kardinalitäten (z.b. 1..4) Das reicht oft nicht aus! Es gibt daher auch eine Notation für beliebige Bedingungen Angabe von Bedingung in geschweiften Klammern: { Bedingung } Bedingungssprache vordefinierte Eigenschaften: abstract, readonly, query, leaf, ordered, unique, set, bag, beliebige umgangssprachliche Formulierung Zeile 0,1 1..* Object Constraint Language Spalte 0,1 Kapitel Objektmodellierung { existenzabhängig } { existenzabhängig } Zelle 1..* Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-47 R O O T S

44 Bedingungen ( Constraints ): Angabe als Abhängigkeiten Manche Constraints geben nur eine Abhängigkeit an Beipiel: {existenzabhängig} -- Nomen est omen! Man kann sie daher auch als Abhängigkeitspfeile mit passendem Stereotyp modellieren Beispiel 1: Zellen sind existenzabhängig von Zeilen und Spalten Zeile Spalte 0,1 0,1 <<Existenzabhängigkeit>> <<Existenzabhängigkeit>> 1..* Zelle 1..* Achtung Der Pfeil gibt immer die Richtung der Abhängigkeit an, nicht die Richtung der Löschpropagierung! Beispiel 2 : Zutaten sind löschpropagierungsabhängig von Pizzen Pizza 0,1 <<Löschpropagierung>> 1..* Zutaten Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-48 R O O T S

45 Bedingungen ( Constraints ): Existenz- und Löschabhängigkeit Existenzabhängigkeit impliziert Löschpropagierung Zellen können nicht außerhalb von Zeilen und Spalten existieren Wenn eine Zeile gelöscht wird, werden alle Zellen dieser Zeile gelöscht! Zeile Spalte 1 1 <<Existenzabhängigkeit>> <<Existenzabhängigkeit>> Zelle Löschpropagierung impliziert aber keine Existenzabhängigkeit! Wenn die Pizza gegessen (also gelöscht ) wird, werden auch die Zutaten gegessen ( gelöscht )! Jedoch können die die Zutaten auch ohne der Pizza existieren! Pizza 1 <<Löschpropagierung>> Zutaten Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-49 R O O T S

46 Statisches Modell: Aggregation und Komposition Gemeinsames Beispiel Komposition Für Beziehung Polygon Punkt und Kreis Punkt weil man nicht möchte, dass der Mittelpunkt des Kreises auch Eckpunkt eines Polygons sein kann. Dann würde nämlich ein Verschieben des Kreises das Polygon verformen! Aggregation Für Beziehung Polygon Stil und Kreis Stil weil man gern möchte, dass anpassen eines gemeinsamen Stils alle Formen ändert die ihn benutzen {ordered} 3..* Punkt 1 Polygon * 1 farbe Stil 1 * Kreis radius istgefüllt Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-51 R O O T S

47 Denksportaufgabe Wie würden Sie die Beziehung einer Datei zu einem Ordner modellieren? Assoziation, Aggregation oder Komposition? Bedenken Sie: Die Datei ist zu jedem Zeitpunkt exklusiver Teil eines Ordners, kann aber in einen anderen Ordner verschoben werden Wenn der Ordner gelöscht wird, wird die Datei mit gelöscht.??? Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-52 R O O T S

48 Klassendiagramm: Vererbung "direkte" Darstellung Figur Linie Kurve Polygon "zusammengefasste" Darstellung Figur Linie Kurve Polygon Multiple Vererbung Eine Klasse mit mehreren Oberklassen Bsp: C++ Student studentische Hilfskraft Angestellter Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-53 R O O T S

49 Klassendiagramm: Vererbung Vererbung geerbte Methoden / Attribute im Diagramm der Unterklasse nicht wiederholen Overriding überschriebene Methoden im Diagramm der Unterklasse wiederholen field:t Super m(s:string) m(s:string, i:int ) Overloading alle verschiedenen Signaturen angeben auch überladene Methoden können in Untertypen überschreiben werden Sub1 otherfield:a m(s:string, i:int ) g() Sub2 m(s:string) f() Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-54 R O O T S

50 UML, statisches Modell: Generische Klassen Klassen mit Typ-Parameter C++: "Templates" Java: ab JDK 1.5 insert(t) remove(t) Set... T formaler Typ-Parameter Generische Klasse Gebundenes Element «bind» <Employee> EmployeeSet Wert für Typ-Parameter Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-55 R O O T S

51 UML, statisches Modell: Generische Klassen Klassen mit Typ-Parameter C++: "Templates" Java: ab JDK 1.5 insert(t) remove(t) Set... T formaler Typ-Parameter Generische Klasse Gebundenes Element kompaktere alternative Notation EmployeeSet = Set <Employee> Wert für Typ-Parameter Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-56 R O O T S

52 Statisches Modell: Interfaces Semantik Interfaces enthalten nur Methodensignaturen Notation Klassensymbol mit stereotyp <<interface>> im Namensfeld leeres Attributfeld kann weggelassen werden <<interface>> Hashable hash():integer <<interface>> Comparable isequal(string):boolean Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-57 R O O T S

53 Statisches Modell: Implementierungs- Beziehung Semantik Komponente / Klasse implementiert Interface Notation gestrichelter Vererbungs-Pfeil oder Lollipop String... isequal(string):boolean hash():integer <<bietet>> Hashable Comparable String... isequal(string):boolean hash():integer <<bietet>> <<interface>> Hashable <<interface>> Comparable Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-58 R O O T S

54 Statisches Modell: Braucht -Beziehung Semantik Klasse benötigt Interface Notation gestrichelter spitzer Pfeil ( Abhängigkeitspfeil ) + Stereotyp String... isequal(string):boolean hash():integer <<bietet>> Hashable Comparable <<braucht>> Hashtable String... isequal(string):boolean hash():integer <<bietet>> <<interface>> Hashable <<interface>> Comparable <<braucht>> Hashtable Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-59 R O O T S

55 Aktive Klassen / Objekte Aktive Klasse: Jede ihrer Instanzen ist ein eigener Thread. Notation UML 2.0: Klasse/Objekt mit doppeltem vertikalem Rand oder {active} Beispiel Bestellbestättigung Bestelungserfassung Rechnung * Zahlungsaufforderungs -UI Zahlungsanfragebearbeitung * * Rechnungsbearbeitung {active} 1 Zahlungsanweisungserstellung Zahlungsanfrage Zahlungsanfragebearbeitung, Rechnungsbearbeitung und Zahlungsanweisungserstellung sind aktive Klassen Hingegen sind z.b. Bestellerfassungen nur auf Anfrage aktiv Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-60 R O O T S

56 Paketdiagramme Bedeutung Gruppierung thematisch zusammengehöriger Klassen Darstellung Karteikarten, auf denen die dazugehörigen Klassen aufgemalt sind Referenz auf eine Klasse in einem anderen Package package::class Import aus anderem Package Gestrichelter Abhängigkeits-Pfeil mit stereotyp <<imports>> Kunden Bank Kunde Bank::Konto <<imports>> Konto Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-61 R O O T S

57 Kapitel 4: UML Kapitel Systementwurf Strukturdiagramme im Großen Komponentendiagramme Kompositionsübersichtsdiagramme Verteilungsdiagramme R O O T S

58 Kapitel 4: UML 4.4 Verhaltensmodellierung (Teil 1) Sequenzdiagramme Kommunikationsdiagramme Interaktionsübersichtsdiagramme R O O T S

59 Kapitel 4: UML Sequenzdiagramme Seite R O O T S

60 Sequenzdiagramm ( sequence diagram ) Visualisiert Nachrichten entlang einer vertikalen Zeitachse Modelliert Interaktion zwischen Akteuren und Objekten verschiedenen Objekten einem Objekt mit sich selbst sd Ticket Passenger selectzone() insertcoins() :TicketMachine Bietet Darstellung von Datenfluss Zeitpunkte und dauer Nebenläufigkeit Verzweigungen / Schleifen Filterungen / Zusicherungen pickupchange() pickupticket() Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-67 R O O T S

61 Sequenzdiagramm ( sequence diagram ) Akteure Wie im Use-Case-Diagramm Objekte Objektdiagramm-Notation für passive oder aktive Objekte Lebenslinie Zeitraum in dem das Objekt existiert Später: Explizite Notation für Objekt- Geburt und - Tod Aktivität / Aktivierung Zeitraum in dem das Objekt etwas tut Ausgelöst durch Nachricht bei passiven Objekten Thread bei aktiven Objekten sd Ticket Akteur Objekt Passenger :TicketMachine selectzone() Nachricht insertcoins() pickupchange() pickupticket() Lebenslinie Aktivität Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-68 R O O T S

62 Sequenzdiagramme: Kontroll- und Datenfluss Jeder Pfeil beginnt an der Aktivierung, welche die Nachricht gesendet hat Die Aktivierung an der der Pfeil endet beginnt direkt am Pfeilkopf Eine Aktivierung dauert (mindestens) so lange wie alle geschachtelten Aktivierungen Für synchrone Nachrichten erfolgen Rückgaben implizit am Ende einer Aktivierung Pfeile für Rückgaben werden nur benutzt, um den Datenfluss explizit zu machen sd Ticket :Passagier drücke() :ZonenKnopf : Tarif :Display preis(auswahl) Datenfluss Preis zeigepreis(preis) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-69 R O O T S

63 Sequenzdiagramme (wichtige Elemente) UML 2.0 Interaktionspartner passives Objekt (aktiv nur als Reaktion auf Nachrichten) aktives Objekt (Prozess/Thread) rolle:typ rolle:typ Nachricht synchron (Aufrufender wartet auf Ende der Aktivierung) asynchron (Aufrufender sendet Nachricht und macht sofort weiter) m1 m2 Antwortnachricht ohne Ergebnis (bei synchronen Nachrichten meist weggelassen) mit Rückgabewert wert Zeiteinschränkung Absoluter Zeitpunkt Relativer Zeitpunkt Intervall at(12.00) after(12.00) { } Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-70 R O O T S

64 Sequenzdiagramme (wichtige Elemente) Objekt wird durch Nachricht erzeugt new UML 2.0 obj : Type Nachricht an sich selbst obj : Type Rekursiver Aufruf obj : Type Nachrichten ohne explizit modellierte Interaktionspartner lost found Zustandsinvariante Bedingung, die zu einem gewissen Zeitpunkt erfüllt sein muss obj : Type {p= 15} Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-71 R O O T S

65 Sequenzdiagramme: Kontrollstrukturen in UML 2 Kombinierte Fragmente sd MovieRental invoice() cus:customer :Rental :Movie Szenario: Ausdrucken einer Rechnung für Kunden eines Videoverleihs Alternative: Falls a Gesamtkosten drucken, falls b Bonuspunkte drucken Schleife: Gesamtkosten sind kosten aller Ausleihvorgänge (:Rental) Optionale Aktionen: Bonuspunkte für Altkunden anders berechnen Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-74 R O O T S

66 Sequenzdiagramme: Kontrollstrukturen in UML 2 Kombinierte Fragmente sd MovieRental invoice() Bedingung cus:customer trifft [a] zu, wird dies :Rental :Movie Interaktionsfragment ausgeführt alt [a] Schleife loop(1,*) totalcharge(cus) Alternative if-then-else price() getpricecode() [b] bonuspoints(cus) Optionale Interaktion if-then opt [old(cus)] getpricecode() Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-75 R O O T S

67 Sequenzdiagramme: Interaktionsfragmente Komplexere Kontrollstrukturen werden durch Operatoren auf Interaktionsfragmenten (Ausschnitte des Sequenzdiagramms) realisiert Verzweigungen und Schleifen Nebenläufigkeit und Ordnung Filterung und Zusicherung Operator Zweck alt Alternative Interaktionen if-then-else opt Optionale Interaktionen if-then break Ausnahme-Interaktion umgebendes Interaktionsfragment verlassen loop Iterative Interaktionen seq Sequentielle Interaktionen mit schwacher Ordnung (Default) strict Sequentielle Interaktionen mit strenger Ordnung par Nebenläufige Interaktionen critical Atomare Interaktionen ignore Irrelevante Interaktionen consider Relevante Interaktionen assert Zugesicherte Interaktionen neg Ungültige Interaktionen Anwendung siehe Beispiel auf der nächsten Folie Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-76 R O O T S

68 Sequenzdiagramm: Kalender-Beispiel Gemeinsamer Kalender sd Termin löschen À la Google-Kalender Man muss sich anmelden :Termin -Maske te[i] :Termin :Kalender Hier: Löschen eines Termins Erst anmelden b1: Benutzer ref sd Anmelden dann Terminanzeige dann Selektion des Termins und Löschen break melde Abbruch Abbrechen [ falsches Passwort ] Quelle UML@Work, Abbildung 4-46 zeige Kalender zeigekalender lösche(te[i]) lösche(te[i]) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-77 R O O T S

69 Sequenzdiagramm: Kalender-Beispiel Was versteckt sich hinter der Referenz? Ein beliebiges dynamisches Diagramm Hier: Der Anmeldevorgang sd Anmelden b1: Benutzer :Termin -Maske te[i] :Termin :Kalender ref loop(1,3) [cond] Kombination von for- und do-until-schleife Wiederhole Fragment maximal 3 mal aber hör auf sobald cond erfüllt ist, sd Anmelden d.h. for (i=1..3) {...; if cond break;} loop (1,3) prüfe Passwort(pwd) anzeige (ergebnis) prüfe Passwort(pwd) ergebnis= prüfepaswort(pwd) [ richtiges Passwort ] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-78 R O O T S

70 Sequenzdiagramme: Fazit Sequenzdiagramme repräsentieren Verhalten bezüglich Interaktionen. ergänzen die Klassendiagramme, welche die Struktur repräsentieren. sind nützlich, um das Verhalten eines Anwendungsfalls auf die beteiligten Objekte abzubilden beteiligte Objekte zu finden Verhalten präzise zu beschreiben Der Zusatzaufwand lohnt sich auf jeden Fall bei komplexen und unklaren Abläufen Aber: keine Zeit vergeuden, um Trivialitäten und Offensichtliches mit Sequenzdiagrammen zu modellieren Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-79 R O O T S

71 Kommunikationsdiagramm ( Communication diagram ) In UML1: Kollaborationsdiagramm Beschreibt Interaktion zwischen Objekten einschließlich struktureller Informationen (Beziehungen der Objekte) Comm Prüfen Sequenznummer nebenläufig Objekt mit Rolle : Typ te[t]:termin Selektor Sequenznummer sequentiell a: beginn b: dauer [te[t] kandidat]: kollidiertmit(kandidat) kandidat:termin 1.1: hatkollision(kandidat) tn[b]:teilnehmer 1.1.1* [für alle Termine te[t]]: prüfe(te(t)) 1* [für alle Teilnehmer tn[b]]:prüfe(tn[b]) Nachricht * Iteration * Nebenläufige Iteration [ ] Bedingung Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-81 R O O T S

72 Kommunikationsdiagramm ( Communication diagram ) Beziehungen im Kommunikationsdiagramm permanente Verbindungen: Assoziationen oder globale Variablen temporäre Verbindungen: Parameter oder lokale Variablen Comm Prüfen te[t]:termin a: beginn b: dauer [te[t] kandidat]: kollidiertmit(kandidat) kandidat:termin 1.1: hatkollision(kandidat) tn[b]:teilnehmer 1.1.1* [für alle Termine te[t]]: prüfe(te(t)) 1* [für alle Teilnehmer tn[b]]:prüfe(tn[b]) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-82 R O O T S

73 Kommunikationsdiagramm Beschreibt Interaktion zwischen Objekten Zeigt auch strukturelle Informationen (Beziehungen der Objekte) Zeitlicher Verlauf wird durch Nummern angegeben Syntax: Nummer : Nachricht Beispiel: 1 : foo, 2 : bar zuerst wird foo gesendet, dann bar Nummer zeigt sequenzielle oder parallele Verarbeitung Sequentielle Bearbeitung Zahlen 1.1, 1.2 sind sequentielle Teilabläufe von 1 Nebenläufige Bearbeitung Namen 1.a, 1.b sind nebenläufigeteilabläufe von 1 Iteration wird nach der Sequenznummer angegeben: Sequentiell: 2.3 * [i=1..n]: nachricht(i) Nebenläufig: 2.3 * [i=1..n]: nachricht(i) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-83 R O O T S

74 Vergleich zu Sequenzdiagramm Kommunikationsdiagramme sind schwieriger Zeitliche Abfolge muss aus Nummerierung rekonstruiert werden Bei Änderungen muss viel neu Nummeriert werden Gute Werkzeugunterstützung ist daher essentiell Kommunikationsdiagramme sind einfacher Strukturelle Informationen zusätzlich darstellbar Objekte können überall platziert werden Weniger Überkreuzungen übersichtlicher Leichter kollaborativ am Whiteboard zu erstellen

75 Kapitel 4: UML 4.5 Verhaltensmodellierung (Teil 2) Aktivitätsdiagramme Interaktionsübersichtsdiagramme Zustandsdiagramme R O O T S

76 Kapitel 4: UML Aktivitätsdiagramme Seite R O O T S

77 Aktivitätsdiagramme Eine Aktion ist ein elementarer Arbeitsschritt atomar (d.h. Effekte werden bei Unterbrechung rückgängig gemacht) Eine Aktivität spezifiziert den Kontroll- und Datenfluss zwischen Aktionen Parallelisierung Aktivität (Beliebige Abarbeitungs- Termin vereinbaren reihenfolge) Kontaktperson auswählen Aktion Person ausgewählt Synchronisierung Teilnehmer informieren Ende Start Vereinigung Terminvorschlag finden [Anzahl Teilnehmer ohne Kollision <90%] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-87 R O O T S [else] Bedingung Entscheidung

78 Aktivitätsdiagramme: Tokenbasierte Semantik Operationales Modell: Token, die Abläufen entsprechen, fließen durch das Diagramm ab dem Startknoten. Parallelisierung: Auf jeder Ausgangskante fließt je ein Token weiter. Synchronisation: Auf jeder Eingangskante muss ein Token ankommen. Vereinigung: Jedes ankommende Token wird weitergeleitet. Entscheidung: Token fließt nur auf der Ausgangskante weiter, deren Bedingung wahr ist. Termin vereinbaren Kontaktperson auswählen Person ausgewählt [else] Teilnehmer informieren Terminvorschlag finden [Anzahl Teilnehmer ohne Kollision <90%] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-88 R O O T S

79 Aktivitätsdiagramme: Tokenbasierte Semantik Mehrfache gleichzeitige Aufrufe Ein Aktivitätsdiagramm kann gleichzeitig mehrfach aufgerufen werden Jeder Aufruf bringt Tokens mit neuer Farbe hervor Semantik mehrfache Prozesse (unabhängig, mit eigenem Adressraum) default mehrfache Threads (im gleichen Adressraum) falls <<singleexecution>> Beispiel: Der rote Ablauf ist schon weiter fortgeschritten als der Blaue Termin vereinbaren Kontaktperson auswählen Person ausgewählt [else] Teilnehmer informieren Terminvorschlag finden [Anzahl Teilnehmer ohne Kollision <90%] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-89 R O O T S

80 Ablaufende versus Endzustand Ablaufende Ende eines Ablaufs (andere können weiterlaufen) Endzustand Bildlich: Nur der Ablauf eines einzigen Tokens wird beendet Ende aller Abläufe, die gerade das Diagramm durchlaufen Bildlich: Wenn ein Token den Endzustand erreicht, werden die Abläufe aller anderen Token im selben Prozess mit beendet (egal welche Farbe sie haben) Termin vereinbaren betrifft nur Abläufe im selben Prozess / Adressraum Kontaktperson auswählen Person ausgewählt Teilnehmer informieren [else] Terminvorschlag finden [Anzahl Teilnehmer ohne Kollision <90%] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-90 R O O T S

81 Endzustand versus Ablaufende: Beispiel Drucken, Adressieren und Versenden von Einladungen Wenn eine Einladung gedruckt ist, fließen 2 Token weiter, eines auf jeder Ausgangskante (implizite Parallelisierung) Die Einladung wird daher als Nächstes adressiert und es werden gleichzeitig weitere Einladungen gedruckt Wenn die letzte Einladung gedruckt ist, verschwindet das nach unten geflossene Token im entsprechenden Ablaufende Einladung versenden Einladung drucken Einladung adressieren [alle Einladungen adressiert] Einladungen abschicken [else] [else] [alle Einladungen gedruckt] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-91 R O O T S

82 Endzustand versus Ablaufende: Beispiel Drucken, Adressieren und Versenden von Einladungen Wenn eine Einladung adressiert ist und es nicht die letzte war, verschwindet das nach rechts gewanderte Token in dem entsprechenden Ablaufende. Einladung versenden Einladung drucken Einladung adressieren [alle Einladungen adressiert] Einladungen abschicken [else] [else] [alle Einladungen gedruckt] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-92 R O O T S

83 Endzustand versus Ablaufende: Beispiel Drucken, Adressieren und Versenden von Einladungen Sonst werden alle (gedruckten und adressierten) Einladungen gemeinsam verschickt und die gesamte Aktivität ist damit beendet. Das allerletzte Token verschwindet anschließend im Endzustand. Hier die Momentaufnahme während des Verschickens von 5 gedruckten und adressierten Einladungen Einladung versenden Einladung drucken Einladung adressieren [alle Einladungen adressiert] Einladungen abschicken [else] [else] [alle Einladungen gedruckt] Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-93 R O O T S

84 Aktivitätsdiagramme Ablauforientierte Notation basierend auf BPEL (Business Process Engineering Language) und Petri- Netzen Auch für nicht objekt-orientierte Systeme Aktivitäten sind unabhängig von Objekten Anwendbar auch auf Geschäftsprozesse, Funktionsbibliotheken, Elementare Konzepte Aktivität = benanntes Verhalten Aktion = atomare Aktivität (einzelner Arbeitsschritt) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-94 R O O T S

85 Aktivitätsdiagramme Aktivitätsdiagramm Graph bestehend aus Aktivitätsknoten und Aktivitätskanten Aktivitätsknoten Kontrollknoten: Start, Alternative, Parallelisierung, Synchronisation, Ende Objektknoten: Parameter, Puffer, Datenbanken Aktionsknoten: Atomare, vordefinierte Aktionen Aktivitätskanten Kontrollfluss: Objektfluss: Verbindungen von Aktions- und Kontrollknoten Verbindungen von Objektknoten untereinander (direkt oder via Kontrollknoten aber nie nur Kontrollknoten untereinander) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-95 R O O T S

86 Aktivitätsdiagramme Aktivitätsknoten Aktivität Name der Aktivität Kontrollknoten Start- und Endknoten Start Aktivitätsende (Ende aller Abläufe) Ablaufende (Ende eines bestimmten Ablaufs) Alternative Abläufe Entscheidungsknoten Vereinigungsknoten Nebenläufige Abläufe Parallelisierungsknoten Synchonisierungsknoten Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-96 R O O T S

87 analog für Aktivitäten Aktivitätsdiagramme Aktivitätsknoten Objektknoten Temporäre Puffer Persistente Puffer Parameter von Aktivitäten Parameter von Aktionen (Pins) Eingabeparameter Explizit: Pfeil im Objektknoten hin zur Aktivität / Aktion Implizit: Parameter links oder oben Ausgabeparameter Explizit: weg von der Implizit: rechts oder unten <<centralbuffer>> To-dos <<datastore>> Kontakte Aktivität Aktion Aktion Aktion Aktivitätsparameter überlappen den Rand! Pins liegen außen! Explizit Implizit Art (= Stereotyp) Name Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-97 R O O T S

88 Aktivitätsdiagramme Kanten Kontrollfluss Durchgezogene spitze Pfeile zwischen Aktivitäten oder Aktionen Direkt via Kontrollknoten nie zu Objektknoten Datenfluss Durchgezogene spitze Pfeile zwischen Objektknoten Direkt via Kontrollknoten nie zu Aktivitäts- / Aktionsknoten A1 A1 A1 A1 A1 A1 A2 A2 A3 A2 A2 A2 A3 A Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-98 R O O T S

89 Aktivitätsdiagramme Kanten An Kanten können immer Bedingungen stehen Auch an Kanten aus einem Startknoten Token fließt erst dann durch die Kante, wenn die Bedingung wahr ist / wird Aus einem Aktivitäts- / Aktionsknoten können mehrere Kanten heraus führen Implizite, potentielle Parallelität sofern nicht durch gegenseitig exklusive Bedingungen ausgeschlossen Dr. G. Kniesel Vorlesung Softwaretechnologie Seite 4-99 R O O T S

90 Aktivitätsdiagramme Aktionen Aktion = atomare Aktivität Atomar = kann unterbrochen werden, macht dann aber jegliche Effekte rückgängig 44 vordefinierte Aktionen in 4 Kategorien Alle sprachunabhängig definiert. Sonderfall: OpaqueAction als Hinweis auf Aktion die in einer bestimmten Implementierungssprache definiert ist Kommunikationsbezogenen Aktionen sendobjectaction, sendsignalaction Objekt oder Signal an Empfänger senden asynchron, Ergebnis wird ignoriert Notation: Blockpfeile Informiere Teilnehmer Für die meisten Aktionen gibt es lediglich textuelle Stereotypen (keine eigene graphische Notation) Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

91 Aktivitätsdiagramme Partitionen Partition Benutzer Kalender Gruppierung von Teilen eines Aktivitätsdiagramms Gruppierungskriterium ist beliebig Notation Im Beispiel: Zugehörigkeit der Aktionen zu gewissen Klassen Schwimmbahnen / Swimlanes BenutzerID prüfen [ok] Termin anlegen [else] Termin [erzeugt] <<datastore>> Benutzer Termin Termin Teilnehmer auswählen Eckdaten des Termins erfassen Kollisionen prüfen Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

92 Interaktionsübersichtsdiagramm ( Interaction overview diagram ) Modelliert Kontrollfluss zwischen verschiedenen Interaktionsabläufen Reihenfolge und Bedingungen intover Termin erfassen sd PrüfePasswort b1: Benutzer loop(1,3) prüfe Passwort(pwd) :Termin- Maske prüfe Passwort(pwd) :CALEN- DARIUM [richtiges Passwort] Siehe sd Anmelden Ist im Prinzip ein Aktivitätsdiagramm das statt Aktionen Interaktionsdiagramme als Knoten enthalten kann Auch nur Referenzen auf Interaktionsdiagramme möglich ( ref ) anzeige (ergebnis) ref Eckdaten des Termins erfassen ergebnis= prüfepaswort(pwd) ref Teilnehmer erfassen ref Notifikationen erzeugen Sichten aktualisieren Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

93 Kapitel 4: UML Zustandsdiagramme Seite R O O T S

94 Zustandsdiagramm Beispiel LCD-Uhr Struktur 1 Display 2 Knöpfe 1 Batterie Verhalten Knopf 1 drücken startet Stunden-Einstellung Jeder weitere Druck schaltet weiter zu Minuten, Sekunden, Stunden,. Knopf 2 drücken erhöht den Wert des aktuell einzustellenden Elementes. Beide Knöpfe drücken beendet die Einstellung Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

95 Zustandsdiagramm Beispiel LCD-Uhr Beschreiben das dynamische Verhalten eines Objektes als endlicher Automat Benanntes Diagramm Startzustand Uhr Ereignis button1&2pressed Blink Hours button2pressed Increment Hours Transition button1&2pressed Blink Minutes button1pressed button2pressed Increment Minutes Zustand button1pressed Stop Blinking button1&2 Pressed Blink Seconds button2pressed Increment Seconds Endzustand Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

96 Zustandsdiagramm Bestellungsbearbeitung Bestellung Ereignis [Bedingung] / Aktion Start-Zustand Zustand [nicht alle Posten geprüft] / hole nächsten Posten Prüfen [alle Posten geprüft && manche nicht verfügbar] Neue Ware erhalten [Posten nicht verfügbar] do / prüfe Verfügbarkeit Warten [alle Posten geprüft && verfügbar] Ausliefern do / ausliefern Ereignis / Aktion Transition Eigentransition ( self-transition ) Geliefert Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

97 Zustandsdiagramm Bestellungsbearbeitung Mit Abbruch Bestellung [nicht alle Posten geprüft] / hole nächsten Posten Prüfen [alle Posten geprüft && manche nicht verfügbar] do / prüfe Verfügbarkeit [alle Posten geprüft && verfügbar] Ausliefern do / ausliefern Neue Ware erhalten [Posten nicht verfügbar] Warten Abbruch Abbruch Abbruch Abgebrochen Geliefert Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

98 Zustandsdiagramm Bestellungsbearbeitung mit Abbruch Geschachtelt Bestellung Oberzustand ( superstate, complex state ) Aktiv [nicht alle Posten geprüft] / hole nächsten Posten Prüfen [alle Posten geprüft && manche nicht verfügbar] do / prüfe Verfügbarkeit [alle Posten geprüft && verfügbar] Ausliefern do / ausliefern Neue Ware erhalten [Posten nicht verfügbar] Warten Gruppentransition Unterbricht alle laufenden Aktionen des Quellzustandes und all seiner Unterzustände Abbruch Abgebrochen Geliefert Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

99 Zustandsdiagramm Nebenläufig, mit impliziten Übergängen auf und von Implizite Parallelisierung Implizite Transition von Außen in jeden der parallelen Startzustände Implizite Synchronisation Implizite Transition von den parallelen Endzuständen zum nächsten äußeren Zustand erst wenn alle parallelen Endzustände erreicht sind. canceled Abgebrochen Aktiv Warten Gruppentransitionen Prüfen Ausliefern Geliefert Autorisierung [ok] Autorisiert Einzeltransition [fehlgeschlagen] Abgelehnt Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

100 Zustandsdiagramm Nebenläufig, mit expliziter Parallelisierung / Synchronisierung Explizite Parallelisierung: Quellzustände außerhalb, Zielzustände in verschiedenen parallelen Unterbereichen Zielzustände beliebig (müssen nicht Startzustände sein) Explizite Synchronisation: Zielzustände außerhalb, Quellzustände in verschiedenen parallelen Unterbereichen Quellzustände beliebig (müssen nicht Endzustände sein) Aktiv Warten canceled Abgebrochen Prüfen Ausliefern Geliefert Autorisierung [ok] Autorisiert [authorization failed] Abgelehnt Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

101 Zustandsdiagramm Unterautomat Auktion Aus dem Aktivitätsdiagramm bekannte Kontrollflussnotation: Parallelisierung, Synchronisation, Entscheidung und Vereinigung Auktionshaus Auktion Bieten Gebot erwarten Gebot abgeben Gebot überprüfen [Gebot gültig] Gebot akzeptieren [Gebot abgelehnt, weitere Gebote] Kreditwürdigkeit prüfen Gekauft Kreditwürdigkeit prüfen [Prüfungen positiv] Identität prüfen [Prüfungen negativ] Dubioser Kunde Dr. G. Kniesel Vorlesung Softwaretechnologie Seite R O O T S

Unified Modeling Language (UML)

Unified Modeling Language (UML) Kirsten Berkenkötter Was ist ein Modell? Warum Modellieren? Warum UML? Viele, viele Diagramme UML am Beispiel Was ist ein Modell? Ein Modell: ist eine abstrakte Repräsentation eines Systems, bzw. ist eine

Mehr

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

09.01.14. Vorlesung Programmieren. Unified Modeling Language (UML) Unified Modeling Language (UML) Unified Modeling Language (UML) Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Unified Modeling Language (UML)

Mehr

SEQUENZDIAGRAMM. Christoph Süsens

SEQUENZDIAGRAMM. Christoph Süsens SEQUENZDIAGRAMM Christoph Süsens DEFINITION Das Sequenzdiagramm gibt Auskunft darüber: Welche Methoden für die Kommunikation zwischen ausgewählten Objekten zuständig sind. Wie der zeitliche Ablauf von

Mehr

Klassendiagramm. (class diagram)

Klassendiagramm. (class diagram) : Klassendiagramm http:///topic95.html Klassendiagramm (class diagram) Klassendiagramm Objektdiagramm Komponentendiagramm Kompositionsstrukturdiagramm Verteilungsdiagramm Einstieg Paketdiagramm Aufbau

Mehr

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel. EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick mtr@is.informatik.uni-kiel.de www.is.informatik.uni-kiel.de/~mtr FRAGEN / ANMERKUNGEN Vorlesung Neue Übungsaufgaben MODELLIERUNG

Mehr

UML (Unified Modelling Language) von Christian Bartl

UML (Unified Modelling Language) von Christian Bartl UML (Unified Modelling Language) von Inhaltsverzeichnis Inhaltsverzeichnis... 2 1 UML Unified Modelling Language... 3 2 Diagrammtypen... 3 2.1 Aktivitätsdiagramm... 3 2.1.1 Notation... 4 2.1.2 Beispieldiagramm...

Mehr

Software Engineering Interaktionsdiagramme

Software Engineering Interaktionsdiagramme Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)

Mehr

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2

EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0. EDV Kurs 13/2 EinfÅhrung in die objektorientiere Programmierung (OOP) unter Delphi 6.0 EDV Kurs 13/2 Inhaltsverzeichnis 1 Objekte... 1 2 Klassen... 3 2.1 Beziehungen zwischen Klassen... 4 2.1.1 Vererbung... 4 2.1.2

Mehr

RUP Analyse und Design: Überblick

RUP Analyse und Design: Überblick Inhaltsverzeichnis Übersicht [, 2, 8] 3. Vorgehensweise............................... 5 2 Planungsmethoden 37 2. Definitionsphase.............................. 6 3 Rational Unified Process [5, 6] und

Mehr

Software-Engineering SS03. Zustandsautomat

Software-Engineering SS03. Zustandsautomat Zustandsautomat Definition: Ein endlicher Automat oder Zustandsautomat besteht aus einer endlichen Zahl von internen Konfigurationen - Zustände genannt. Der Zustand eines Systems beinhaltet implizit die

Mehr

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

Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0. Für den Einsatz in der Praxis Guido de Melo 5.2.2007 Fachvortrag, Uni Ulm UML 2.0 Für den Einsatz in der Praxis Seite 2 Überblick 1. Ziele 2. Warum das alles? 3. Was ist UML 4. Diagrammarten 5. Umfeld Seite 3 1. Ziele 1. Ziele dieses

Mehr

Vgl. Oestereich Kap 2.7 Seiten 134-147

Vgl. Oestereich Kap 2.7 Seiten 134-147 Vgl. Oestereich Kap 2.7 Seiten 134-147 1 Sequenzdiagramme beschreiben die Kommunikation/Interaktion zwischen den Objekten (bzw. verschiedenen Rollen) eines Szenarios. Es wird beschrieben, welche Objekte

Mehr

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny

Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische

Mehr

Requirements Engineering I

Requirements Engineering I Norbert Seyff Requirements Engineering I UML Unified Modeling Language! 2006-2012 Martin Glinz und Norbert Seyff. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

Mehr

4. AuD Tafelübung T-C3

4. AuD Tafelübung T-C3 4. AuD Tafelübung T-C3 Simon Ruderich 17. November 2010 Arrays Unregelmäßige Arrays i n t [ ] [ ] x = new i n t [ 3 ] [ 4 ] ; x [ 2 ] = new i n t [ 2 ] ; for ( i n t i = 0; i < x. l e n g t h ; i ++) {

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Gliederung des Vortrages

Gliederung des Vortrages Gliederung des Vortrages Unified Modeling Language Rational Rose Sergej Schwenk Oktober 1999 0. Einführung 1. Historie 2. Der Entwicklungsprozeß 3. UML 3.1 Anwendungsfalldiagramme 3.2 Klassendiagramme

Mehr

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2013/2014 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

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

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Prof. Ina Schaefer Institut für Softwaretechnik und Fahrzeuginformatik TU Braunschweig Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13) Ausgabe: 12. Januar 2013 Abgabe: 25. Januar

Mehr

1 Mathematische Grundlagen

1 Mathematische Grundlagen Mathematische Grundlagen - 1-1 Mathematische Grundlagen Der Begriff der Menge ist einer der grundlegenden Begriffe in der Mathematik. Mengen dienen dazu, Dinge oder Objekte zu einer Einheit zusammenzufassen.

Mehr

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

Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Use Cases. Use Cases

Use Cases. Use Cases Use Cases Eigenschaften: Ein Use Case beschreibt einen Teil des Verhaltens eines Systems aus externer Sicht (Formuliert in der der Fachsprache der Anwendung) Dies geschieht, indem ein Systemdialog beschrieben

Mehr

Produktskizze. 28. November 2005 Projektgruppe Syspect

Produktskizze. 28. November 2005 Projektgruppe Syspect 28. November 2005 Carl von Ossietzky Universität Oldenburg Fakultät II Department für Informatik Abteilung Entwicklung korrekter Systeme Inhaltsverzeichnis 1 Einleitung 3 2 Die graphische Oberfläche der

Mehr

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla

Klassendiagramm. Kurzer Überblick über UML - Stand 2006. BlaBla BlaBla Diese Kennzeichnungen sind nur Erläuterungen und nicht Bestandteil des Diagramms Quelle: P.Grässle, H.Baumann, P.Baumann, UML projektorientiert, Galileo Verlag, 2003 21 Primäre Begriffe Kapselung

Mehr

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel

Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungen zur Vorlesung Softwaretechnologie -Wintersemester 2011/2012 - Dr. Günter Kniesel Übungsblatt 3 - Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online-Videothek

Mehr

Software Engineering I

Software Engineering I Vorlesung Software Engineering I Dynamische Basiskonzepte 2 Kontrollstrukturen Aktivitätsdiagramme Sequenzdiagramme 1 Basiskonzepte Beschreiben die feste Struktur des Systems, die sich während der Laufzeit

Mehr

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

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 3 Lösungshilfe Aufgabe 1. Klassendiagramme (9 Punkte) Sie haben den Auftrag, eine Online

Mehr

Arbeiten mit UMLed und Delphi

Arbeiten mit UMLed und Delphi Arbeiten mit UMLed und Delphi Diese Anleitung soll zeigen, wie man Klassen mit dem UML ( Unified Modeling Language ) Editor UMLed erstellt, in Delphi exportiert und dort so einbindet, dass diese (bis auf

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22 Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten

Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten Stundenerfassung Version 1.8 Anleitung Arbeiten mit Replikaten 2008 netcadservice GmbH netcadservice GmbH Augustinerstraße 3 D-83395 Freilassing Dieses Programm ist urheberrechtlich geschützt. Eine Weitergabe

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf Softwareentwicklungspraktikum Sommersemester 2007 Grobentwurf Auftraggeber Technische Universität Braunschweig

Mehr

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

a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. 1 zeigt eine mögliche Lösung. * * * Aufbau 1.. Software Engineering I Musterlösungen zur Klausur vom 3.7.2004 Aufgabe a) In der Aufgabenstellung war ein möglichst einfaches Klassendiagramm gefordert. Abb. zeigt eine mögliche Lösung. Turnier sportart

Mehr

GEVITAS Farben-Reaktionstest

GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl

Mehr

Vorlesung "Software-Engineering"

Vorlesung Software-Engineering Vorlesung "Software-Engineering" Rainer Marrone, TUHH, Arbeitsbereich STS Vorige Vorlesung Pflichtenheft (requirements specification document) Charakterisierung von Software-Qualität Detaillierte Anforderungsanalyse

Mehr

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

Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungen zur Vorlesung Softwaretechnologie Wintersemester 2009/2010 Dr. Günter Kniesel, Pascal Bihler Übungsblatt 4 Lösungshilfe. Aufgabe 1. Zustandsdiagramm (8 Punkte) Geben Sie ein Zustandsdiagramm für

Mehr

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

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung? Kapitelübersicht Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge Was bedeutet Objektorien+erung? ObjektorienCerte Analyse und Design die Objektmodellierung

Mehr

Unternehmensmodellierung

Unternehmensmodellierung Josef L. Staud Unternehmensmodellierung Objektorientierte Theorie und Praxis mit UML 2.0 4ü Springer Inhaltsverzeichnis EINLEITUNG 1 1.1 Unternehmensmodellierung 1 1.2 Objektorientierung als solche 6 1.3

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Inhalt Nachlese Aufgaben Literatur Software Engineering in der Praxis Praktische Übungen Inhalt Nachlese Aufgaben Literatur Marc Spisländer Dirk Wischermann Lehrstuhl für Software Engineering Friedrich-Alexander-Universität

Mehr

Analyse und Modellierung von Informationssystemen

Analyse und Modellierung von Informationssystemen Analyse und Modellierung von Informationssystemen Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2013 1 / 18 UML Einführung Klassendiagramme in der UML Relationen zwischen Klassen 2 / 18 UML: Grundsätzliches

Mehr

Grundlagen der Theoretischen Informatik, SoSe 2008

Grundlagen der Theoretischen Informatik, SoSe 2008 1. Aufgabenblatt zur Vorlesung Grundlagen der Theoretischen Informatik, SoSe 2008 (Dr. Frank Hoffmann) Lösung von Manuel Jain und Benjamin Bortfeldt Aufgabe 2 Zustandsdiagramme (6 Punkte, wird korrigiert)

Mehr

NACHRICHTENTECHNISCHER SYSTEME

NACHRICHTENTECHNISCHER SYSTEME Einführung UML COMPUTERSIMULATION NACHRICHTENTECHNISCHER SYSTEME 11. Unified Modeling Language UML 220 Standardsprache d zur Visualisierung, i Spezifikation, Konstruktion und Dokumentation komplexer (Software-)

Mehr

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen

Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Daten-Synchronisation zwischen dem ZDV-Webmailer und Outlook (2002-2007) Zentrum für Datenverarbeitung der Universität Tübingen Inhalt 1. Die Funambol Software... 3 2. Download und Installation... 3 3.

Mehr

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0

Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 Anleitung zur Installation und Verwendung von eclipseuml 2.1.0 In dieser Anleitung wird die Installation und Verwendung von Omodo eclipseuml 2.1.0 beschrieben. eclipseuml ist eine Zusatzsoftware für Eclipse,

Mehr

Software-Engineering

Software-Engineering FH Wedel Prof. Dr. Sebastian Iwanowski SWE43 Folie 1 Software-Engineering Sebastian Iwanowski FH Wedel Kapitel 4: Systemanalyse Teil 3: Der Systemanalysestandard UML FH Wedel Prof. Dr. Sebastian Iwanowski

Mehr

Abschnitt 12: Strukturierung von Java-Programmen: Packages

Abschnitt 12: Strukturierung von Java-Programmen: Packages Abschnitt 12: Strukturierung von Java-Programmen: Packages 12. Strukturierung von Java-Programmen: Packages 12.1 Strukturierung durch Packages 12.2 Zugriffsspezifikationen 12.3 Zusammenfassung 12 Strukturierung

Mehr

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden.

1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. Der Serienversand Was kann man mit der Maske Serienversand machen? 1. Adressen für den Serienversand (Briefe Katalogdruck Werbung/Anfrage ) auswählen. Die Auswahl kann gespeichert werden. 2. Adressen auswählen,

Mehr

Konzepte der Informatik

Konzepte der Informatik Konzepte der Informatik Vorkurs Informatik zum WS 2011/2012 26.09. - 30.09.2011 17.10. - 21.10.2011 Dr. Werner Struckmann / Christoph Peltz Stark angelehnt an Kapitel 1 aus "Abenteuer Informatik" von Jens

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Unified Modeling Language (UML) Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Unified Modeling Language (UML)

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Grundlagen der Softwaretechnik

Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

teamsync Kurzanleitung

teamsync Kurzanleitung 1 teamsync Kurzanleitung Version 4.0-19. November 2012 2 1 Einleitung Mit teamsync können Sie die Produkte teamspace und projectfacts mit Microsoft Outlook synchronisieren.laden Sie sich teamsync hier

Mehr

Bedienung des Web-Portales der Sportbergbetriebe

Bedienung des Web-Portales der Sportbergbetriebe Bedienung des Web-Portales der Sportbergbetriebe Allgemein Über dieses Web-Portal, können sich Tourismusbetriebe via Internet präsentieren, wobei jeder Betrieb seine Daten zu 100% selbst warten kann. Anfragen

Mehr

Software Engineering in der Praxis

Software Engineering in der Praxis Software Engineering in der Praxis Praktische Übungen Meitner, Spisländer FAU Erlangen-Nürnberg Objektorientiertes Design 1 / 16 Objektorientiertes Design Matthias Meitner Marc Spisländer Lehrstuhl für

Mehr

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

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: 19.02.2014 MORE Projects GmbH MORE Profile Pass- und Lizenzverwaltungssystem erstellt von: Thorsten Schumann erreichbar unter: thorsten.schumann@more-projects.de Stand: MORE Projects GmbH Einführung Die in More Profile integrierte

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

8 Design Patterns. Events

8 Design Patterns. Events 8 Design Patterns. Events Jörn Loviscach Versionsstand: 28. März 2015, 19:13 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work

Mehr

Objektorientierte Programmierung OOP

Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Objektorientierte Programmierung OOP Ronja Düffel WS2012/13 08. Oktober 2013 Objektorientierte Programmierung OOP Objektorientierte Programmierung Objektorientierte

Mehr

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

Hochschule Karlsruhe Klausur EAI Prof. Dr. Christian Pape. Klausur EAI WS 05/06. Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel Klausur EAI WS 05/06 Aufgabe a) b) c) d) Punkte Gesamtpunkte (max. 90): Note: Bearbeitungszeit 90 Minuten Keine Hilfsmittel Tragen Sie als erstes Ihren vollständigen Namen und Ihre Matrikelnummer ein.

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Tutorial: Gnumeric installieren und Jahres-Kostenübersicht erstellen mit Diagramm

Tutorial: Gnumeric installieren und Jahres-Kostenübersicht erstellen mit Diagramm Gnumeric Mittwoch, 8. Mai 2013 01:05 Tutorial: Gnumeric installieren und Jahres-Kostenübersicht erstellen mit Diagramm In diesem Tutorial will ich Ihnen zeigen, wie man Gnumeric installiert und wie man

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Anleitung zu GermanLegal 1.3

Anleitung zu GermanLegal 1.3 Anleitung zu GermanLegal 1.3 Was sind permanente Rechnungen? In Deutschland macht man sich normalerweise über solche Dinge keine Gedanken. Wer als ISP WHMCS nutzt, muss dies aber. WHMCS erlaubt ungehinderte

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

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

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

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

Software-Engineering 2. Übungen zur Wiederholung. IT works. Metris GmbH 27.01.2009 1 Übungen zur Wiederholung IT works. Metris GmbH 27.01.2009 1 Ein Kunde beauftragt Sie mit der Erstellung eines neuen betrieblichen Informationssystems für seine Firma. Welche UML-Diagrammformen würden Sie

Mehr

Customer and Project Services. Teilnehmerunterlagen Aktivitäten

Customer and Project Services. Teilnehmerunterlagen Aktivitäten Customer and Project Services Teilnehmerunterlagen Aktivitäten Inhalt 1.1 Grundsätzliche Unterschiede Termin/Job 1.2 Anlage eines neutralen Termins aus dem Kalender 1.3 Verknüpfung mit einem Projekt/Kunde

Mehr

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen von x-y-diagrammen in OpenOffice.calc Erstellen von x-y-diagrammen in OpenOffice.calc In dieser kleinen Anleitung geht es nur darum, aus einer bestehenden Tabelle ein x-y-diagramm zu erzeugen. D.h. es müssen in der Tabelle mindestens zwei

Mehr

Grundbegriffe der Informatik

Grundbegriffe der Informatik Grundbegriffe der Informatik Einheit 15: Reguläre Ausdrücke und rechtslineare Grammatiken Thomas Worsch Universität Karlsruhe, Fakultät für Informatik Wintersemester 2008/2009 1/25 Was kann man mit endlichen

Mehr

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln

Objektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg

Mehr

GITS Steckbriefe 1.9 - Tutorial

GITS Steckbriefe 1.9 - Tutorial Allgemeines Die Steckbriefkomponente basiert auf der CONTACTS XTD Komponente von Kurt Banfi, welche erheblich modifiziert bzw. angepasst wurde. Zuerst war nur eine kleine Änderung der Komponente für ein

Mehr

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers

Daniel Warneke warneke@upb.de 08.05.2006. Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns Daniel Warneke warneke@upb.de 08.05.2006 Ein Vortrag im Rahmen des Proseminars Software Pioneers Design Patterns 1/23 Übersicht Einleitung / Motivation Design Patterns Beispiele Rolle des

Mehr

Übungsblatt 5 - Lösungshilfe

Übungsblatt 5 - Lösungshilfe Übungen zur Vorlesung Softwaretechnologie - Wintersemester 2015/16 - Dr. Günter Kniesel Übungsblatt 5 - Lösungshilfe Aufgabe 1. Domain Object Modell(12 Punkte) Stellen Sie Sich vor, Sie sollen für die

Mehr

Anleitung zum LPI ATP Portal www.lpi-training.eu

Anleitung zum LPI ATP Portal www.lpi-training.eu Anleitung zum LPI ATP Portal www.lpi-training.eu Version 1.0 vom 01.09.2013 Beschreibung des Anmeldevorgangs und Erklärung der einzelnen Menüpunkte. Anmeldevorgang: 1. Gehen Sie auf die Seite http://www.lpi-training.eu/.

Mehr

Excel Auswertungen in XAuftrag / XFibu

Excel Auswertungen in XAuftrag / XFibu 1 Excel Auswertungen in XAuftrag / XFibu Im Folgenden wird kurz beschrieben, wie Anwender die Sicherheitseinstellungen in Excel Auswertungen anpassen können. Sicherheitseinstellungen verhindern, dass Makros

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Enigmail Konfiguration

Enigmail Konfiguration Enigmail Konfiguration 11.06.2006 Steffen.Teubner@Arcor.de Enigmail ist in der Grundkonfiguration so eingestellt, dass alles funktioniert ohne weitere Einstellungen vornehmen zu müssen. Für alle, die es

Mehr

Informatik Kurs Simulation. Hilfe für den Consideo Modeler

Informatik Kurs Simulation. Hilfe für den Consideo Modeler Hilfe für den Consideo Modeler Consideo stellt Schulen den Modeler kostenlos zur Verfügung. Wenden Sie sich an: http://consideo-modeler.de/ Der Modeler ist ein Werkzeug, das nicht für schulische Zwecke

Mehr

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialognetze Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen Dialogabläufe auf Fensterebene "grobe Dialogabläufe" d.h. Wechsel zwischen

Mehr

Zwischenablage (Bilder, Texte,...)

Zwischenablage (Bilder, Texte,...) Zwischenablage was ist das? Informationen über. die Bedeutung der Windows-Zwischenablage Kopieren und Einfügen mit der Zwischenablage Vermeiden von Fehlern beim Arbeiten mit der Zwischenablage Bei diesen

Mehr

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Rational Unified Process (RUP) Wolfgang H. Janko, Michael Hahsler und Stefan Koch Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe Das

Mehr

Informationswirtschaft II

Informationswirtschaft II Rational Unified Process (RUP) Informationswirtschaft II Wolfgang H. Janko, Michael Hahsler und Stefan Koch Seite 1 Inhalt Historische Entwicklung Kennzeichen von RUP Lebenszyklus und Phasen Arbeitsabläufe

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

4. Übung zu Software Engineering

4. Übung zu Software Engineering 4. Übung zu Software Engineering WS 2009/2010 Henning Heitkötter Klassendiagramm: Projektmanagement AUFGABE 10 1 OOA-Methode von Heide Balzert 1. Klassen finden 2. Assoziationen und Kompositionen finden

Mehr

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

OECD Programme for International Student Assessment PISA 2000. Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland OECD Programme for International Student Assessment Deutschland PISA 2000 Lösungen der Beispielaufgaben aus dem Mathematiktest Beispielaufgaben PISA-Hauptstudie 2000 Seite 3 UNIT ÄPFEL Beispielaufgaben

Mehr

Satzhilfen Publisher Seite Einrichten

Satzhilfen Publisher Seite Einrichten Satzhilfen Publisher Seite Einrichten Es gibt verschiedene Möglichkeiten die Seite einzurichten, wir fangen mit der normalen Version an, Seite einrichten auf Format A5 Wählen Sie zunächst Datei Seite einrichten,

Mehr

Aufklappelemente anlegen

Aufklappelemente anlegen Aufklappelemente anlegen Dieses Dokument beschreibt die grundsätzliche Erstellung der Aufklappelemente in der mittleren und rechten Spalte. Login Melden Sie sich an der jeweiligen Website an, in dem Sie

Mehr

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

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7 Tutorial: Wie kann ich Kontakte erfassen In myfactory können Sie Kontakte erfassen. Unter einem Kontakt versteht man einen Datensatz, der sich auf eine Tätigkeit im Zusammenhang mit einer Adresse bezieht.

Mehr

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche

Mehr

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne

6.2 Petri-Netze. kommunizierenden Prozessen in der Realität oder in Rechnern Verhalten von Hardware-Komponenten Geschäftsabläufe Spielpläne 6.2 Petri-Netze WS 06/07 mod 621 Petri-Netz (auch Stellen-/Transitions-Netz): Formaler Kalkül zur Modellierung von Abläufen mit nebenläufigen Prozessen und kausalen Beziehungen Basiert auf bipartiten gerichteten

Mehr

Große Übung Praktische Informatik 1

Große Übung Praktische Informatik 1 Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,

Mehr

Schnelleinstieg in die (cs) AuftragPro

Schnelleinstieg in die (cs) AuftragPro Schnelleinstieg in die (cs) AuftragPro Starten der Anwendung Entpacken Sie das herunter geladene Archiv. Der entstandene Ordner (cs) AuftragPro enthält alle benötigten Komponenten der Anwendung. Öffnen

Mehr

Informationen zum neuen Studmail häufige Fragen

Informationen zum neuen Studmail häufige Fragen 1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:

Mehr

0. Vorbemerkungen. 1. Eingangsbild von OQU-CRM

0. Vorbemerkungen. 1. Eingangsbild von OQU-CRM 0. Vorbemerkungen Im folgenden wird versucht, Ihnen einen Eindruck über wesentliche Leistungen von OQU-CRM und die Art und Weise seiner Handhabung (Look and Feel) zu vermitteln. Diese ersetzt weder die

Mehr

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

FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - FH-SY Chapter 2.4 - Version 3 - FH-SY.NET - FAQ - Version vom 02.02.2010 Inhaltsverzeichnis 1. KANN ICH BEI EINER EIGENEN LEKTION NACHTRÄGLICH NOCH NEUE LERNINHALTE ( WAS WURDE BEHANDELT? ) EINFÜGEN?...

Mehr