Objektorientierte Analyse für. Projekt Warenautomat. Entwicklung einer objektorientierten Applikation zur Steuerung für einen Warenautomaten

Save this PDF as:
 WORD  PNG  TXT  JPG

Größe: px
Ab Seite anzeigen:

Download "Objektorientierte Analyse für. Projekt Warenautomat. Entwicklung einer objektorientierten Applikation zur Steuerung für einen Warenautomaten"

Transkript

1 Seite: 1 Objektorientierte Analyse für Entwicklung einer objektorientierten Applikation zur Steuerung für einen Warenautomaten Martin Zimmermann Thomas Letsch

2 Seite: 2 Inhaltsverzeichnis: 1 Einführung 3 2 Projektauftrag Akteure Bedien- und Anzeigeelemente des Automaten Bedienelemente Anzeigeelemente Rolle des Servicepersonals 5 3 Gruppenarbeit 7 4 Aufgabenstellungen Entwicklung von Use Cases (Aufgabe1) Objektorientierte Analyse (Aufgabe 2) Klassen identifizieren Klassen- und Objektdiagramm erstellen Sequenzdiagramme erstellen Klassenbeschreibungen erstellen 12

3 Seite: 3 1. Einführung Das Projekt Entwicklung einer Steuerung für einen Warenautomat dient zur Illustration des Vorgehens bei der objektorientierten Softwareentwicklung: - Ausgangspunkt ist ein Projektauftrag (siehe folgende Beschreibung, Kapitel 2). - in der objektorientierten Analyse (OOA) werden - zunächst die Interaktionen zwischen den Akteuren und dem Warenautomaten in Form von Use Cases beschrieben. - anschliessend wird ein UML-Klassen- und Objektdiagramm sowie darauf aufbauend mehrere UML-Sequenzdiagramme modelliert und dokumentiert. - im zweiten Teil (3. Abend und 4. Abend) werden dann objektorientierter Design (OOD) und Implementierung (Java) in mehreren Teilschritten durchgeführt. 2. Projektauftrag Zu entwickeln ist ein Warenautomat (siehe Abbildung 1). Hierbei sind Sie in einer Gruppe von Consultants in einer Firma tätig, die solche Automaten entwickelt und produziert. Für die Entwicklung einer neuen Generation von Automaten wurde Ihnen ein Projektauftrag erteilt. Vom Projektleiter sind Sie für die Problemanalyse beauftragt worden. Bitte beachten Sie, dass der komplette Automat gemäss den Anforderungen, wie im Folgenden beschrieben, von Ihnen modelliert werden soll. Drehteller Anzeige Geldbetrag Geldrückgabeknopf Warenpreis Verfallsdatum - erreicht bzw. überschritten (rot) - Gute Ware (grün) Kein Wechselgeld Nicht Genug Geld - Keine Ware (weiss) Schiebetür zum Öffnen Einwurfschlitz Knopf zum Drehen Abbildung 1: Aufbau des Automaten: Drehteller, Fächer, Anzeige- und Bedienungselemente Der Warenautomat besteht aus insgesamt 7 übereinander liegenden Drehtellern, die jeweils aus insgesamt 16 Fächern bestehen.

4 Seite: 4 In jedem der Fächer kann sich eine Ware (z.b. Mars ) mit einem individuellen Preis (z.b Fr.) und einem individuellen Verfallsdatum (z.b ) befinden (d.h. in einem Drehteller sind typischerweise verschiedene Waren). Ein Fach kann aber auch leer sein (z.b. nach dem die Ware, die darin liegt, gekauft wurde). Der Warenautomat beinhaltet ausserdem eine Kasse, mit einem Geldeinwurfschlitz für die Münzarten 0.10 Fr, 0.20 Fr, 0.50 Fr sowie 1 Fr, und 2 Fr. Durch Betätigen des Rückgabeknopfes kann das Wechselgeld zurückgegeben werden. Die zu entwickelnde Software soll sowohl die Buchhaltung des Automaten (Waren- und Kassenbestand) übernehmen als auch die Abwicklung des Kaufvorgangs unterstützen (z.b. Steuerung der Anzeigen, Prüfung, ob beim Betätigen einer Schiebetür diese entriegelt werden kann, Berechnung und Ausgabe des Wechselgeldes). 2.1 Akteure Wir unterscheiden die Akteure Kunde und Service-Personal. Der Kunde steht stellvertretend für beliebige natürliche Personen. Er ist Auslöser des Use Cases Ware kaufen. Das Service Personal ist Auslöser der Use Cases Automat mit Ware füllen und Kasse mit Wechselgeld füllen. Ein weiterer Use Case ermöglicht dem Service-Personal Informationen über den Verkaufserfolg einer Ware (z.b. Mars ) seit einem zu definierenden Zeitpunkt zu erhalten. 2.2 Bedien- und Anzeigeelemente des Automaten Bedienelemente Der Automat hat folgende Bedienelemente (siehe Abbildung 1): - Drehknopf: durch Betätigen des Drehknopfs werden alle sieben Teller gleichzeitig um eine Position nach rechts gedreht (von vorne gesehen). Die Drehteller können nicht gedreht werden, wenn ein Fach noch offen ist. - Geldeinwurfschlitz: Der Geldeinwurfschlitz ermöglicht den Münzeinwurf. Folgende Münzarten werden unterstützt: 0.10 Fr, 0.20 Fr, 0.50 Fr sowie 1 Fr, und 2 Fr. Alle anderen Schweizer Münzarten sowie Fremdwährung und falsche Münzen werden unmittelbar wieder ausgeworfen. - Geldrückgabeknopf: Durch Betätigen des Geldrückgabeknopfs wird das Restgeld (bei Kauf) oder das eingeworfene Geld (falls nichts gekauft wurde) zurückgegeben. - Schiebetür zum Öffnen eines Fachs: Jeder der 7 Drehteller besitzt einen Öffnungsschacht mit Schiebetür. Wenn der Benutzer genug Geld für die Ware hinter dem Öffnungsschacht eingeworfen hat, und der Automat zu diesem Zeitpunkt noch passend Wechselgeld besitzt, kann er die Schiebetür öffnen. Allerdings kann die Schiebetür nicht geöffnet werden, falls das Verfallsdatum der Ware hinter der Tür erreicht oder überschritten ist. D.h., beim Versuch die Schiebetür eines Drehtellers zu öffnen, überprüft das System sowohl, ob der eingeworfene Betrag zum Kauf der Ware ausreicht als auch, ob sich zu diesem Zeitpunkt noch genug Wechselgeld im Automaten befindet und das Verfallsdatum der Ware noch nicht erreicht wurde. Nur wenn diese Bedingungen alle zutreffen, wird das Fach entriegelt. In jedem anderen Fall wird die Schiebetür nicht entriegelt. Ein leeres Fach kann nicht geöffnet werden. Darüber hinaus darf zu einem Zeitpunkt nur eine Schiebetür offen sein. Eine Schiebetür wird manuell geöffnet und geschlossen. Wichtiger Hinweis: beim Schliessen einer Schiebetür wird davon ausgegangen, dass die Ware entnommen wurde (d.h. es ist kein Sensor vorhanden, der die Warenentnahme erkennen könnte).

5 Seite: Anzeigeelemente Der Automat stellt ausserdem folgende Anzeigeelemente zur Verfügung: - Anzeige Geldbetrag : Sie zeigt den eingeworfenen Betrag an (siehe Abbildung 1, rechte Seite des Automaten). Beim Einwerfen einer Münze wird der Betrag, den der Kunde zur Verfügung hat entsprechend erhöht. Falls zu wenig Geld für die ausgewählte Ware eingeworfen wurde, leuchtet die Anzeige nicht genug Geld, falls nicht ausreichend Wechselgeld verfügbar ist, leuchtet die Anzeige Kein Wechselgeld (Abbildung 1). - Anzeige Warenpreis (pro Drehteller): links vom Drehteller (Abbildung 1) wird der Preis der Ware angezeigt, die sich gerade hinter dem Öffnungsschacht eines Drehtellers befindet. Diese Anzeige ist für jeden einzelnen Drehteller vorhanden und wird nach jedem Drehen, abhängig vom Wert der Ware, die sich hinter dem Öffnungsschacht befindet, aktualisiert. Falls sich keine Ware im Fach befindet, erscheint in der Anzeige als Preis eine Anzeige Verfallsdatum erreicht bzw. überschritten (pro Drehteller): falls für die Ware, die sich hinter dem Öffnungsschacht eines Drehtellers befindet, das Verfallsdatum erreicht oder überschritten ist, leuchtet die Anzeige rot auf. Im Normalfall, d.h. falls eine gute noch nicht abgelaufene Ware hinter dem Öffnungsschacht vorhanden ist, leuchtet die Anzeige grün. Falls sich keine Ware hinter dem Öffnungsschacht befindet, ist die Anzeige ausgeschaltet. - Anzeige Nicht genug Geld : auf der rechten Seite (Abbildung 1) des Automaten befindet sich eine Anzeige (Lampe), die leuchtet, falls zu wenig Geld für eine Ware eingeworfen wurde. - Kein Wechselgeld : falls nicht ausreichend Wechselgeld verfügbar ist, leuchtet diese Anzeige (Lampe), siehe rechte Seite des Automaten, Abbildung Rolle des Servicepersonals Das Servicepersonal kann den Automaten (über eine Schlüssel-Vorrichtung oder Legi-Card) in einen eigenen Betriebszustand bringen (im Folgenden als Service-Mode bezeichnet). In diesem Service-Mode lässt sich die rechte Frontseite des Automaten öffnen. Dahinter befinden sich im Inneren des Automaten ein eigenes Bedien- und Anzeigepanel für das Servicepersonal sowie eine Mini-Tastatur und ein Barcode-Leser (siehe Abbildung 2). Im Service-Mode sind über entsprechende Bedien- und Anzeigeelemente möglich: folgende Aktionen - der Gesamtbetrag der bisher verkauften Waren wird zu Beginn automatisch für 10 Sekunden in der obersten Anzeige dargestellt (d.h. ohne Betätigung irgendeines Bedienelements), danach wird der Gesamtbetrag des aktuellen Warenbestands permanent in der obersten Anzeige dargestellt, siehe Abbildung 2. - die Kasse des Automaten kann mit den folgenden fünf Münzarten aufgefüllt werden: 0.10 Fr, 0.20 Fr, 0.50 Fr, 1 Fr, und 2 Fr. Die maximale Kapazität der einzelnen Münzschächte wird in dieser Übung nicht berücksichtigt, d.h. wir gehen davon aus, dass ein Münzschacht unendlich viele Münzen aufnehmen kann. - einzelne Fächer können aufgefüllt werden, wobei beim Auffüllen eines Fachs der Preis der Ware, die Bezeichnung der Ware sowie das Verfallsdatum über den Barcodeleser eingelesen werden. - für eine Warenbezeichnung (z.b. Mars ) lässt sich die Gesamtzahl dieser verkauften Waren seit einem bestimmten Datum (z.b. seit dem ) ermitteln.

6 Seite: 6 1.) Bedien- und Anzeigepanel Gesamter Warenwert / Wert Verkaufter Fr Waren Auswahl-Knopf: 0.50 Fr Geld auffüllen - Münzart - Anzahl 100 Bestätigungs-Knopf: Geld auffüllen Mars - Produkt Auswahl-Knopf: 1.00 Fr - Preis Ware auffüllen - Verfallsdatum ) Mini-Tastatur 3.) Barcode-Leser - Produkt - Datum - Anzahl Mars Auswahl-Knopf: Statistik abrufen Abbildung 2: Bedien- und Anzeigeelemente für das Servicepersonal (im Inneren des Automaten) Im Folgenden werden diese Aktionen zusammen mit den Anzeige- und Bedienelementen im Detail beschrieben (eine Beschreibung des Use Case Kasse füllen finden Sie auf Seite 8): - Geld auffüllen : Nach Betätigen des Auswahl-Knopfs Geld auffüllen wird zunächst die Münzart (z.b Fr) und danach die Anzahl Münzen (z.b. 100) über die Tastatur eingegeben. Hierbei sind die eingegebenen Daten nach der Eingabe sofort über die entsprechende Anzeige sichtbar (siehe Abbildung 2: zweite Anzeige von oben). Danach können die Münzen in den entsprechenden Münzschacht eingelegt werden. Die Aktion Geld auffüllen wird abgeschlossen, indem der Bestätigungsknopf Geld auffüllen gedrückt wird. - Ware auffüllen : Wenn das Service-Personal ein Fach mit einer Ware auffüllen möchte, muss zunächst der Auswahlknopf Ware auffüllen gedrückt werden. Dann dreht man den Drehteller an die gewünschte Stelle. Anschliessend wird die Ware mit einem Bar-Code-Leser gescannt. Danach wird das Fach geöffnet, die Ware in das Fach hineingelegt und das Fach wieder geschlossen. Falls sich im zu füllenden Fach noch eine Ware befindet, wird davon ausgegangen, dass diese (alte) Ware entfernt wird. Mit dem Öffnen eines Faches werden die vorher gescannten Daten der Ware (Bezeichnung, Preis, Verfallsdatum) durch das System automatisch übernommen, in der entsprechenden Anzeige dargestellt und die Operation füllefach (siehe Seite 10) aufgerufen. Nach dem Auffüllen, kann das zuletzt gefüllte Fach sofort geöffnet und die dort vorhandene Ware entnommen werden, d.h. es ist kein Drehen notwendig. - Statistik : Nach Betätigen des Auswahl-Knopfs Statistik wird eine Warenbezeichnung (z.b. Mars ) sowie ein Datum (z.b ) über die Minitastatur eingegeben. Beide Angaben erscheinen sofort nach der Eingabe in den zugehörigen Anzeigeelementen (siehe Abbildung 2: unterster Anzeigebereich). Darüber hinaus wird (nach einer kurzen Berechnung) die Anzahl der verkauften Waren (z.b. 53) mit dieser Bezeichnung im angegebenen Zeitraum (seit dem eingegebenen Datum bis zum aktuellen Datum) angezeigt.

7 Seite: 7 3. Gruppenarbeit Die objektorientierte Analyse (siehe nachfolgende Aufgabe 1 und Aufgabe 2) erfolgt in bewährter Gruppenarbeit an insgesamt zwei Abenden. Bitte sorgen Sie in Ihrer Gruppe alle gemeinsam dafür, dass die Ergebnisse des ersten Abends allen anderen Gruppenmitgliedern vor Beginn des nächsten Abends als Kopie vorliegen (z.b. Verteilung per an alle Gruppenmitglieder, oder Kopienerstellung am gleichen Abend). Wir stellen Ihnen gerne eine Kopierkarte zum Kopieren bereit. Dieser Hinweis liegt uns sehr am Herzen, weil es schon vorgekommen ist, dass die Dokumentation der Ergebnisse des ersten Tags nur ein Team-Mitglied hatte (das am zweiten Abend im Stau steckte und verspätet an der HSR eintraf). Verwenden Sie für die verschiedenen Diagramme Papier im A3 Format (wird ausgeteilt). 4. Aufgabenstellungen 4.1 Entwicklung von Use Cases (Aufgabe 1) Use Cases sind eine Beschreibung der funktionalen Anforderungen an ein System. Man beschreibt das Verhalten des Systems aus der Sicht der Benutzer. Ein Benutzer löst durch eine Aktion (einen Auslöser oder Trigger, z.b. "Geldrückgabeknopf drücken") eine Reaktion des Systems aus (z.b. "eingeworfenes Geld zurückgeben"). Beschreiben Sie die Anforderungen an die Steuerung des Warenautomaten in Form von Use Cases. Gehen Sie folgendermassen vor: a) Entwerfen Sie ein Use Case Diagramm Unterscheiden Sie die Use Cases: - Ware kaufen - Automat (genauer: Fach eines Drehtellers) mit Ware auffüllen - Kasse mit Wechselgeld füllen - Verkaufsstatistik anfordern (zu einer bestimmten Ware) Der Use Case Ware kaufen umfasst alle Schritte, die notwendig sind, eine Ware zu kaufen, angefangen vom Drehen der Drehteller über den Geldeinwurf bis hin zur Waren- und Rückgeldentnahme. b) Spezifizieren Sie die Details des Use Cases Ware kaufen. Verwenden Sie dazu die folgende Spezifikationsschablone (use case template). Ein komplettes Beispiel für die konkrete Verwendung dieses Templates finden Sie auf der folgenden Seite (Tabelle 2: Use Case Kasse füllen ). Use Case Name Auslösender Aktor Zweck / Ziel Eingehende Informationen Ergebnis (Output) Grundlegender Ablauf Fehlerfälle Bemerkungen Tabelle 1: Muster zur Beschreibung eines Use Cases

8 Seite: 8 Die Einträge in der Tabelle haben folgende Bedeutung: Use Case Name: Bezeichnung des Use Case Auslösender Aktor: Festlegung des auslösenden Ereignisses Zweck / Ziel: Angabe des Zwecks, z.b. Kaufen einer Ware Eingehende Information: Informationen die von aussen bereitgestellt werden müssen Ergebnis (Output): Ergebnis des Use cases aus Sicht des Akteurs Grundlegende Ablauf: Beschreibung des grundlegenden Ablaufs (Standardablauf, d.h. den Gutfall ohne Ausnahmen und Fehler). Fehlerfälle: Angabe aller Fehlerfälle Die folgende Tabelle zeigt die Verwendung des Use Case Templates am Beispiel Kasse füllen. Use Case Name / Nummer Auslösender Aktor Zweck / Ziel Eingehende Informationen Kasse auffüllen Service Auffüllen des Automaten mit Wechselgeld Münzart und Anzahl Münzen z.b. 1 Fr. Münzen, 50 Stück Ergebnis (Output) - Grundlegender Ablauf Servicepersonal öffnet Automat mit Schlüssel bzw. Legi-Card 1. Auswahl-Knopf Geldauffüllen betätigen 2. Münzart über Tastatur eingeben (z.b Fr) 3. System zeigt ausgewählte Münzart an 4. Anzahl Münzen über Tastatur eingeben 5. System zeigt Anzahl Münzen an (z.b. 100) 6. gewählte Anzahl Münzen der gewählten Münzart in zugehörigen Münzschacht einlegen 7. Knopf Bestätigen drücken Fehlerfälle Bemerkungen keine Tabelle 2: Use Case Kasse füllen

9 Seite: Objektorientierte Analyse (Aufgabe 2) Führen Sie eine objektorientierte Analyse der Anforderungen durch und entwerfen Sie: - die Klassen (mit Attributen und Operationen) - ein Objektdiagramm als Beispiel sowie das Klassendiagramm und - zwei Sequenzdiagramme zur Darstellung der dynamischen Abläufe sowie die - Klassenbeschreibungen zur Dokumentation der verschiedenen Klassen Hinweis: Wichtig sind die Teilaufgaben bis 4.2.3, Teilaufgabe ist optional Klassen identifizieren Identifizieren Sie alle Klassen und notieren Sie diese in UML Schreibweise: - Attribute: Definieren Sie für jedes Attribut den Namen und den zugehörigen Datentyp. Verwenden Sie hierbei folgende Analyse -Datentypen: String, Integer (ganze Zahl), UInteger (positive ganze Zahl), Float (Gleitkommanzahl 32 Bit), Double (Gleitkommazahl 64 Bit), Fixed (Vorkommastellen, Nachkommastellen), Boolean, Date, und Time. - Abgeleitete Attribute: Identifizieren Sie abgeleitete Attribute. Die Werte von abgeleiteten Attributen können dynamisch berechnet werden. Details zu abgeleiteten Attributen siehe auch Seite 27, Theorie Einführung OO Software-Entwicklung, Teil UML. - Operationen: Definieren Sie alle Operationen einer Klasse, jeweils mit den Parametern und dem Ergebnistyp. Verwenden Sie als Datentypen die Analyse -Datentypen (siehe oben). Als Rückgabetyp kann auch void verwendet werden, falls eine Operation kein Ergebnis zurück liefert. Die set- und get-operationen können Sie weglassen. - Konstruktoren: Entwerfen Sie alle Konstruktoren mit Parametern und Datentypen. Verwenden Sie als Ausgangspunkt Ihrer Modellierung die in Abbildung 3 gezeigten Klassen: - Klasse Automat: sie ist nicht vollständig, d.h. die Attribute und Konstruktoren fehlen noch, auch die Liste der Operationen ist nicht komplett. - Klasse Drehteller: sie ist ebenfalls nicht vollständig, d.h. Konstruktoren und weitere Attribute fehlen noch, auch die Liste der Operationen ist nicht komplett Automat drehen(): void gibverkaufsstatistik (Warenname:String, seit: Date): Integer gibtotalenwarenwert(): Fixed(5,2) füllefach(drehtellernr: UInteger, Warenname: String, Preis: Fixed(2,2), VerfallsDatum: Date)..... Drehteller istoffen: Boolean öffnen(): Boolean schliessen(): void entriegeln(): void Abbildung 3: Klassen Automat und Drehteller

10 Seite: 10 Im Folgenden werden die Operationen dieser zwei Klassen kurz beschrieben: Operationen der Klasse Automat: - drehen() bewirkt, dass alle Drehteller um eine Position nach rechts gedreht werden. - gibverkaufsstatistik(warenname:string, seit: Date) liefert die Anzahl von verkauften Waren mit der Bezeichnung Warenname, die seit dem angegebenen Datum seit bis zum aktuellen Datum (heute) verkauft wurden. - gibtotalenwarenwert() liefert den gesamten Warenwert des Automaten zurück. - füllefach(drehtellernr: UInteger, Warenname: String, Preis: Fixed(2,2), Verfallsdatum: Date) füllt das Fach des Drehtellers mit der übergebenen Drehtellernummer (Parameter DrehtellerNr, Wertebereich: 1..7) mit einer Ware auf, siehe Kapitel 2.3, Rolle des Servicepersonals, Abschnitt Ware auffüllen auf Seite 6. Attribute und Operationen der Klasse Drehteller: - istoffen: beinhaltet den Zustand der Schiebetür eines Drehtellers (geschlossen oder offen) - öffnen(): wird aufgerufen, wenn die Schiebetür betätigt wird. Sie liefert zurück, ob die Schiebetür geöffnet werden kann (true) oder nicht (false). Nur wenn alle Bedingungen, wie in Abschnitt auf Seite 4 beschrieben erfüllt sind (genug Geld eingeworfen, Verfallsdatum nicht überschritten, etc.), wird das Fach vom System entriegelt und kann vom Benutzer geöffnet werden. Falls Sie Parameter für diese Operation benötigen, können Sie dies entsprechend definieren. - schliessen() wird aufgerufen, wenn die Schiebetür wieder geschlossen wird. - entriegeln() wird vom System aufgerufen, wenn die Schiebetür entriegelt werden soll. Wichtige Hinweise: - Modellieren Sie den Warenautomaten so natürlich (realitätsnah) wie möglich. - Modellieren Sie die Bedienelemente (z.b. Drehknopf, Schiebetür ) nicht. Sie sind keine Klassen (da sie lediglich Auslöser von Operationsaufrufen sind; auch speichern sie keine Informationen). - Modellieren Sie aber im Gegensatz dazu die Anzeigeelemente durch eine oder mehrere Klassen. Die Ansteuerung der Anzeigeelemente (z.b. steuern des eingeworfenen Betrags der Anzeige Geldbetrag, siehe Abbildung 1, Seite 3) muss später im Sequenzdiagramm mit Operationsaufrufen ersichtlich sein. - Zeichnen Sie die Rechtecke für die Klassen gross genug, damit Sie nachträglich noch Attribute und Operationen aufnehmen können, wenn Sie die Notwendigkeit nachträglich feststellen (z.b. bei der dynamischen Analyse, Aufgabe c)). Verwenden Sie A3 Papier Klassen- und Objektdiagramm erstellen Zu einem Klassendiagramm gehören die Klassen und alle Beziehungen, einschliesslich Multiplizitäten und eventuelle Beziehungs- und Rollennamen. Für die Darstellung der Klassen im Klassendiagramm reicht es, wenn Sie die Kurznotation verwenden, d.h. eine Klasse wird als Rechteck, das den Namen der Klasse enthält dargestellt. Erstellen Sie ein vereinfachtes Objektdiagramm. Vereinfacht bedeutet in diesem Zusammenhang, dass nicht alle notwendigen Objekte einer Klasse, z.b. alle 16 Fächer eines Drehtellers gezeichnet werden müssen: es reicht wenn Sie jeweils ein Objekt darstellen und dann durch Punkte ( ) die anderen Objekten andeuten. Vereinfacht bedeutet weiterhin, dass Sie nicht alle Attribute eines Objektes aufführen müssen; es genügt, wenn Sie stellvertretend 2 3 Attribute mit Wert definieren und die weiteren Attribute durch Punkte (...) andeuten.

11 Seite: Sequenzdiagramme erstellen a) Sequenzdiagramm Ware kaufen Entwickeln Sie für den Use Case Ware kaufen das Sequenzdiagramm für das grundlegende Szenario genug Geld eingeworfen, Ware vorhanden und nicht abgelaufen, d.h. ohne Fehlersituationen, und zwar für folgenden konkreten Ablauf: Die Kundin: - dreht einmal die Drehteller, d.h. betätigt einmal den Knopf drehen. - wirft danach 2.50 Fr. ein und zwar zunächst eine 2 Fr. Münze, danach eine 0.5 Fr. Münze - kauft ein Mars zu 1.50 Fr. mit Verfallsdatum im 3. Drehteller (von oben gesehen). - beschliesst den Vorgang mit der Betätigung des Geldrückgabeknopfs. Wichtige Hinweise: - Modellieren Sie im Unterschied zu den Klassen (in denen die get und set-operationen nicht sichtbar sind), jetzt im Sequenzdiagramm den Aufruf der set bzw. get-operationen, d.h. der Aufruf dieser Operationen muss im Sequenzdiagramm sichtbar sein. - Bei Operationsaufrufen, die gemäss Klassennotation (siehe Aufgabe 4.2.1) Parameter haben, müssen diese Operationsaufrufe im Sequenzdiagramm auch die Parameterwerte beinhalten. Falls die Operation füllefach() der Klasse Automat (siehe Seite 9) aufgerufen würde, könnten z.b. folgende Parameterwerte verwendet werden: füllefach(2, Mars, 1.50, ). - Zeichnen Sie nur die Operations-Aufrufpfeile, lassen Sie die Ergebnispfeile weg. Verwenden Sie keine loop, opt oder alt Konstrukte. - Lassen Sie zwischen den Operationsaufrufen Platz, damit Sie nachträglich bei Bedarf noch weitere Operationsaufrufe einfügen können. Für die anderen Use Cases, z.b. Automat mit Waren auffüllen sollen keine Sequenzdiagramme entwickelt werden! drehen() :Automat :Kasse :Drehteller... Drehknopf drücken öffnen() Fach öffnen Abbildung 4: Sequenzdiagramm

12 Seite: 12 Das Sequenzdiagramm ist Abbildung 4 zeigt die prinzipielle Idee der Darstellung des Kaufvorgangs. Bedienelemente lösen Operationsaufrufe aus. In der Abbildung 4 ist dies an zwei Beispielen illustriert: Das Bedienelement Drehknopf löst bei Betätigen die Operation drehen() am Objekt Automat aus während das Bedienelement Schiebetür beim Öffnen die Operation öffnen() am zugehörigen Drehteller-Objekt auslöst. Beide Operationen können ihrerseits weitere Operationsaufrufe an anderen Objekten auslösen. b) Sequenzdiagramm Ware kaufen bei Zahlung mit Geldkarte In der Unternehmensleitung wird diskutiert, ob man in zukünftigen Automaten auch eine Bezahlung mit einer aufladbaren Geldkarte (wie an den Automaten der HSR) unterstützen soll, d.h. die Automaten hätten dann sowohl einen Geldeinwurfschlitz als auch einen Kartenschlitz. Überlegen Sie sich, wie die bisherige Modellierung geändert bzw. erweitert werden müsste. - Benötigen Sie weitere Klassen bzw. ändern sich bestehende Klassen? - Wie ändern sich das Klassen- und Sequenzdiagramm? Notieren Sie nur die Änderungen bzw. Erweiterungen zu ihren bisherigen Lösungen (am besten mit einer neuen Farbe): - Klassen identifizieren (Aufgabe 4.2.1) - Klassen- und Objektdiagramm erstellen (Aufgabe 4.2.2) sowie - Sequenzdiagramm erstellen (Aufgabe a). Hinweise: - Überlegen Sie sich zunächst, wie sich die Klassen und das Klassendiagramm ändern. - Wir gehen davon aus, dass entweder per Karte oder bar bezahlt wird Klassenbeschreibungen erstellen (optional, falls noch Zeit) Zu einem Klassendiagramm gehören Klassenbeschreibungen, da das Diagramm sonst nicht ausreichend verständlich ist: - Wofür ist eine Klasse verantwortlich? - Was ist mit einem Attribut gemeint? - Was tut eine Operation (auch Konstruktoren)? - Wozu wird eine Beziehung benötigt? Antworten auf diese Fragen liefern die Klassenbeschreibungen. Sie beschreiben die Klassen, einschliesslich ihrer Attribute, Operationen, Konstruktoren und Beziehungen. Erstellen Sie Klassenbeschreibungen zu allen Klassen ausser den Klassen für die Anzeigen. Verwenden Sie folgende Schablone:: - Aufgabe: stichwortartige Beschreibung der Aufgabe einer Klasse. - Attribute: Aufzählung der Attribute und stichwortartige Beschreibung der Bedeutung. - Operationen: Aufzählung aller Operationen und stichwortartige Beschreibung der Bedeutung. - Konstruktoren: Aufzählung aller Konstruktoren und stichwortartige Beschreibung der Bedeutung. - Beziehungen: stichwortartige Beschreibung aller Assoziationen zu anderen Klassen.

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. 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 Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

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

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell

Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner Lösungen zu Übung 3 Objektorientierte Modellierung - Statisches Modell Aufgabe 3. Assoziation

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

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

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: 11.04.2005. CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de DYNAMISCHE SEITEN Warum Scriptsprachen? Stand: 11.04.2005 CF Carola Fichtner Web-Consulting http://www.carola-fichtner.de I N H A L T 1 Warum dynamische Seiten?... 3 1.1 Einführung... 3 1.2 HTML Seiten...

Mehr

104 WebUntis -Dokumentation

104 WebUntis -Dokumentation 104 WebUntis -Dokumentation 4.1.9.2 Das elektronische Klassenbuch im Betrieb Lehrer Aufruf Melden Sie sich mit Ihrem Benutzernamen und Ihrem Passwort am System an. Unter den aktuellen Tagesmeldungen erscheint

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

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

Software Engineering. 3. Anforderungsanalyse. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 3. Anforderungsanalyse Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 3. Anforderungsanalyse 2 Definitionen Anforderungen (Requirements): Beschreibung aller

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

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014)

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: 24.09.2014) Handbuch NAFI Online-Spezial 1. Auflage (Stand: 24.09.2014) Copyright 2016 by NAFI GmbH Unerlaubte Vervielfältigungen sind untersagt! Inhaltsangabe Einleitung... 3 Kundenauswahl... 3 Kunde hinzufügen...

Mehr

Problemdefinition. Cash Flow Reminder. 1 Problembeschreibung: 2 Projektziel: 3 Aufgaben des Benutzers

Problemdefinition. Cash Flow Reminder. 1 Problembeschreibung: 2 Projektziel: 3 Aufgaben des Benutzers Cash Flow Reminder Problemdefinition 1 Problembeschreibung: Viele Studenten verfügen über ein eher geringes monatliches Budget, mit welchem sie aber alle Lebensunterhaltskosten decken sollten. Deshalb

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

FERNHEIZWERKE Software zur Sammlung der Betriebsdaten

FERNHEIZWERKE Software zur Sammlung der Betriebsdaten FERNHEIZWERKE Software zur Sammlung der Betriebsdaten Über dieses Programm können die Betriebsdaten einer Anlage eingegeben werden und dann automatisch via E-Mail ans Amt für Energieeinsparung an die Email

Mehr

Anleitung für das MS Project Professional 2003 (Deutsche Version)

Anleitung für das MS Project Professional 2003 (Deutsche Version) Anleitung für das MS Project Professional 2003 (Deutsche Version) Erstes Starten... 2 Tutorial... 3 Hilfe... 4 Critical Path / Kritischer Weg... 5 Der Critical Path / Kritischer Weg wird nicht korrekt

Mehr

Zentrale Mitgliederdatenbank Inkasso Mitgliederbeiträge. Detaillierte Informationen sind im Dokument Verrechnungsmodule ESR im Web vorhanden.

Zentrale Mitgliederdatenbank Inkasso Mitgliederbeiträge. Detaillierte Informationen sind im Dokument Verrechnungsmodule ESR im Web vorhanden. Detaillierte Informationen sind im Dokument Verrechnungsmodule ESR im Web vorhanden. Allgemein Jeder Verein hat eine individuelle Möglichkeit, das Inkasso zu betreiben: - Beträge ohne ES manuell entgegennehmen

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger

Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger Universität Augsburg, Institut für Informatik Sommersemester 2005 Prof. Dr. Werner Kießling 16. Juli 2005 Dr. Alfons Huhn, Timotheus Preisinger Informatik II Hinweise: Die Bearbeitungszeit beträgt 90 Minuten.

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

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent

Access [basics] Beispieldaten-Assistent. Beispieldatenbank. Installation. Tools Der Beispieldaten-Assistent Beispieldaten-Assistent Jeder Access-Entwickler steht irgendwann vor der Situation, mal eben einige Beispieldatensätze zu seiner Anwendung hinzuzufügen. Wer keine Lust auf Fantasie-Einträge wie ASDF oder

Mehr

Basis. Schritt 1 Anmelden am Projess Testserver

Basis. Schritt 1 Anmelden am Projess Testserver Basis 2 Schritt 1 Anmelden am Projess Testserver 2 Schritt 2 Arbeitsstunden auf die bereits erfassten Projekte buchen 3 Schritt 3 Kostenaufwand auf die bereits erfassten Projekte buchen 4 Schritt 4 Gebuchte

Mehr

1. Aktionen-Palette durch "Fenster /Aktionen ALT+F9" öffnen. 2. Anlegen eines neuen Set über "Neues Set..." (über das kleine Dreieck zu erreichen)

1. Aktionen-Palette durch Fenster /Aktionen ALT+F9 öffnen. 2. Anlegen eines neuen Set über Neues Set... (über das kleine Dreieck zu erreichen) Tipp: Aktionen (c) 2005 Thomas Stölting, Stand: 25.4. 2005 In Photoshop werden häufig immer wieder die gleichen Befehlssequenzen benötigt. Um sie nicht jedesmal manuell neu eingeben zu müssen, können diese

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

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

MCRServlet Table of contents

MCRServlet Table of contents Table of contents 1 Das Zusammenspiel der Servlets mit dem MCRServlet... 2 1 Das Zusammenspiel der Servlets mit dem MCRServlet Als übergeordnetes Servlet mit einigen grundlegenden Funktionalitäten dient

Mehr

Konsolidieren von Daten in EXCEL

Konsolidieren von Daten in EXCEL Konsolidieren von Daten in EXCEL Der Begriff der (auch Konsolidation) besitzt in den einzelnen Fachbereichen (Finanzmathematik, Geologie, Medizin usw.) unterschiedliche Bedeutung. Im Sinne dieses Beitrages

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

WORKFLOW DESIGNDOKUMENT

WORKFLOW DESIGNDOKUMENT Architectural Design WORKFLOW DESIGNDOKUMENT Softwareentwicklung Praktikum, Übungsbeispiel 2 Gruppe 86 Andreas Hechenblaickner [0430217] Daniela Kejzar [0310129] Andreas Maller [0431289] Gruppe 86 Seite

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

MindPlan 4. Installations- u. Update-Hinweise. MindPlan 4. Stand: 24. März 2014 Seite: 1/12

MindPlan 4. Installations- u. Update-Hinweise. MindPlan 4. Stand: 24. März 2014 Seite: 1/12 MindPlan 4 Stand: 24. März 2014 Seite: 1/12 Inhalt 1. Informationen zu MindPlan 4... 3 1.1. Neue Funktionen neues Layout... 3 1.2. Lizenzverwaltung (!! Neue Lizenzschlüssel erforderlich!!)... 3 1.2.1.

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

Computeranwendung und Programmierung (CuP)

Computeranwendung und Programmierung (CuP) Computeranwendung und Programmierung (CuP) VO: Peter Auer (Informationstechnologie) UE: Norbert Seifter (Angewandet Mathematik) Organisatorisches (Vorlesung) Vorlesungszeiten Montag 11:15 12:45 Freitag

Mehr

Zinsrechner. Bedienungsanleitung

Zinsrechner. Bedienungsanleitung Zinsrechner Bedienungsanleitung Medcontroller Dragonerstraße 35 30163 Hannover Telefon: 0511 397 0990 kundenservice@medcontroller.de www.medcontroller.de Inhaltsverzeichnis Hintergrund... 2 Nutzungsbedingungen

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

Grundlagen Programmierung

Grundlagen Programmierung 13. Aufgabe (13 Punkte) Schreiben Sie eine neue Klasse Zahlenanalyse, mit der Integer-Objekte genauer betrachtet werden können. Bei den zu entwickelnden Methoden kann es immer sinnvoll sein, sich den Ablauf

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

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen

Übungen 19.01.2012 Programmieren 1 Felix Rohrer. Übungen Übungen if / else / else if... 2... 2 Aufgabe 2:... 2 Aufgabe 3:... 2 Aufgabe 4:... 2 Aufgabe 5:... 2 Aufgabe 6:... 2 Aufgabe 7:... 3 Aufgabe 8:... 3 Aufgabe 9:... 3 Aufgabe 10:... 3 switch... 4... 4 Aufgabe

Mehr

eassistant - CAD-PlugIn für SOLIDWORKS

eassistant - CAD-PlugIn für SOLIDWORKS eassistant - CAD-PlugIn für SOLIDWORKS Die intelligente Kopplung von Berechnung und CAD für die web-basierte Berechnungssoftware eassistant mit SOLIDWORKS GWJ Technology GmbH Rebenring 31 D - 38106 Braunschweig

Mehr

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer

KVIrc - registrierte Benutzer i. KVIrc - registrierte Benutzer i KVIrc - registrierte Benutzer ii REVISION HISTORY NUMBER DATE DESCRIPTION NAME iii Contents 1 Einleitung 1 1.1 Wozu?......................................................... 1 1.2 Wie?..........................................................

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

Verwalten und Organisieren von Fotos,

Verwalten und Organisieren von Fotos, Verwalten und Organisieren von Fotos, Datensicherung auf einen externen Datenträger durchführen, Datensicherung auf externe Datenträger - Datensicherheit Grundsätze 02 - Sicherungsmethode / FreeCommander

Mehr

Softwareentwicklungspraktikum Sommersemester 2007. Grobentwurf

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

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung

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

Übung bezeichnung titel thema 1..10. Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor 1..25. Student name vorname matrikelnr

Übung bezeichnung titel thema 1..10. Übungsgruppe gruppennr wochentag uhrzeit namementor vornamementor 1..25. Student name vorname matrikelnr Software Engineering I Lösungsvorschläge zur Klausur vom.8.2007 Aufgabe Gefordert war ein redundanzfreies Klassendiagramm für die beschriebene Anwendungsdomäne. Zwei (von verschiedenen möglichen) Lösungen

Mehr

5. Übung: PHP-Grundlagen

5. Übung: PHP-Grundlagen 5.1. Erstes PHP-Programm 1. Schreiben Sie PHP-Programm innerhalb einer Webseite, d.h. innerhalb eines HTML-Dokument. Ihr PHP-Programm soll einen kurzen Text ausgeben und Komentare enthalten. Speichern

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Hilfe Bearbeitung von Rahmenleistungsverzeichnissen Allgemeine Hinweise Inhaltsverzeichnis 1 Allgemeine Hinweise... 3 1.1 Grundlagen...3 1.2 Erstellen und Bearbeiten eines Rahmen-Leistungsverzeichnisses...

Mehr

Fallbeispiel: Eintragen einer Behandlung

Fallbeispiel: Eintragen einer Behandlung Fallbeispiel: Eintragen einer Behandlung Im ersten Beispiel gelernt, wie man einen Patienten aus der Datenbank aussucht oder falls er noch nicht in der Datenbank ist neu anlegt. Im dritten Beispiel haben

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

Mailen... 20 Gruppe erfassen... 20 Gruppe bearbeiten... 21 Vereinfachtes Auswählen der Mitglieder... 22

Mailen... 20 Gruppe erfassen... 20 Gruppe bearbeiten... 21 Vereinfachtes Auswählen der Mitglieder... 22 Handbuch Diese Homepage wurde so gestaltet, dass Benutzer und auch Administratoren, die Daten an einem Ort haben und sie von überall bearbeiten und einsehen können. Zusätzlich ermöglicht die Homepage eine

Mehr

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre.

Bearbeitungszeit: 120 Minuten. Kommentare kosten Zeit; kommentieren Sie ihr Programm nur da, wo der Code alleine nicht verständlich wäre. Fakultät IV Elektrotechnik/Informatik Klausur Einführung in die Informatik I für Elektrotechniker Name:... Matr.-Nr.... Bearbeitungszeit: 120 Minuten Bewertung (bitte offenlassen : ) Aufgabe Punkte Erreichte

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

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014. inkl. zusätzlichem Übungsanhang K-W81-G-UA Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Windows 8.1 Grundkurs kompakt inkl. zusätzlichem Übungsanhang K-W81-G-UA 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach

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

Anwenderhandbuch Datenübermittlung

Anwenderhandbuch Datenübermittlung Anwenderhandbuch Datenübermittlung Anwenderhandbuch Version 1.1 (Oktober 2009) 2 15 Inhaltsverzeichnis Inhaltsverzeichnis... 2 Einführung... 3 1. Login... 4 1.1 Persönliche Daten eingeben... 4 1.2 Passwort

Mehr

Einstieg in Viva-Web mit dem Internet-Explorer

Einstieg in Viva-Web mit dem Internet-Explorer Einstieg in Viva-Web mit dem Internet-Explorer 1. Aufrufen der Internetseite Zu Beginn müssen Sie Ihren Internetbrowser durch Doppelklick auf das Internet-Explorer Symbol öffnen. Es öffnet sich Ihre Startseite,

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

White Paper "Objektberechtigung"

White Paper Objektberechtigung White Paper "Objektberechtigung" Seite 2 Inhaltsverzeichnis 1. Einführung...3 1.1. Sinn und Zweck der Objektberechtigungen...3 1.2. Wo können Objektberechtigungen vergeben werden?...3 1.3. Welche Berechtigungstypen

Mehr

2.5.2 Primärschlüssel

2.5.2 Primärschlüssel Relationale Datenbanken 0110 01101110 01110 0110 0110 0110 01101 011 01110 0110 010 011011011 0110 01111010 01101 011011 0110 01 01110 011011101 01101 0110 010 010 0110 011011101 0101 0110 010 010 01 01101110

Mehr

Software Engineering Klassendiagramme Einführung

Software Engineering Klassendiagramme Einführung Software Engineering Klassendiagramme Einführung Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Aufgabe Erstellen Sie eine Klasse Person in Java. Jede Person verfügt

Mehr

cnccut Onlinehilfe - Kombischachteln Automatische NC-Programm-Erstellung

cnccut Onlinehilfe - Kombischachteln Automatische NC-Programm-Erstellung Onlinehilfe - Kombischachteln Automatische NC-Programm-Erstellung IBE Software GmbH; Friedrich-Paffrath-Str. 41; D-26389 Wilhelmshaven Fon: 04421-994357; Fax 04421-994371; www.cnccut.org; info@ibe-software.de

Mehr

Dokumentation Admintool

Dokumentation Admintool Dokumentation Admintool 1. Das Menü Artikel: Im Bereich Artikel sehen Sie zunächst die Artikelzentrale eine Übersicht aller auf der Website veröffentlichen Artikel. Diese werden innerhalb der Struktur

Mehr

Kreatives Gestalten mit Flash 5.0

Kreatives Gestalten mit Flash 5.0 Kreatives Gestalten mit Flash 5.0 Animationen, Effekte und Anwendungen für das WWW Bearbeitet von Isolde Kommer 1. Auflage 2000. Buch. 444 S. Hardcover ISBN 978 3 446 21463 7 Format (B x L): 20,1 x 23,6

Mehr

Dokumentation Schedulingverfahren

Dokumentation Schedulingverfahren Dokumentation Schedulingverfahren von Norbert Galuschek Gordian Maugg Alexander Hahn Rebekka Weissinger June 23, 2011 1 Contents 1 Aufgabe 3 2 Vorgehensweise 4 2.1 Warum Android.......................

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Auslisten von Artikeln anhand Artikelselektion

Auslisten von Artikeln anhand Artikelselektion HIW RENDITE Auslisten von Artikeln anhand Artikelselektion HIW GmbH Berblinger Str. 1 D-71254 Ditzingen Werner-von-Siemens-Str. 23 D-93413 Cham www.hiw24.de Hinweis: Alle Beiträge sind nach bestem Wissen

Mehr

Datenbankmodelle 1. Das Entity-Relationship-Modell

Datenbankmodelle 1. Das Entity-Relationship-Modell Datenbankmodelle 1 Das Entity-Relationship-Modell Datenbankmodelle ER-Modell hierarchisches Modell Netzwerkmodell relationales Modell objektorientierte Modelle ER Modell - 2 Was kann modelliert werden?

Mehr

My.OHMportal Kalender

My.OHMportal Kalender My.OHMportal Kalender Felizitas Heinebrodt Technische Hochschule Nürnberg Rechenzentrum Kesslerplatz 12, 90489 Nürnberg Version 4 Oktober 2014 DokID: kalweb Vers. 4, 20.08.2015, RZ/THN Informationen des

Mehr

Übungsbetrieb in L²P aus Studierenden-Sicht

Übungsbetrieb in L²P aus Studierenden-Sicht Übungsbetrieb in L²P aus Studierenden-Sicht Allgemeines In vielen Lehrveranstaltungen werden Übungen ausgeteilt oder zum Download angeboten, die von den Studierenden alleine oder in Gruppen zu bearbeiten

Mehr

Kapitel 12 Dokumentation und Zugriffsrechte

Kapitel 12 Dokumentation und Zugriffsrechte Kapitel 12 Dokumentation und Zugriffsrechte Seite 1 / 6 Kapitel 12 Dokumentation und Zugriffsrechte Lernziele: Dokumentation mit Hilfe von Javadoc Datenkapselung über Zugriffsrechte 12.1 Dokumentation

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. 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

SWE5 Übungen zu Software-Engineering

SWE5 Übungen zu Software-Engineering 1 Übungen zu Software-Engineering 1) Klassen und Objekte 2) Telefonanlage 3) Objekt- und Klassendiagramme 4) Assoziationen 5) Telefonanlage (Erweiterung) 6) Fahrzeuge 7) Familien 2 Aufgabe 1: Klassen und

Mehr

SecOVID Reader Plus. Anleitung. Mit Sicherheit eine Idee voraus. www.kobil.com

SecOVID Reader Plus. Anleitung. Mit Sicherheit eine Idee voraus. www.kobil.com Anleitung SecOVID Reader Plus Mit Sicherheit eine Idee voraus www.kobil.com 1. Wie muss ich die Chipkarte einlegen? Durch seine Kartenschublade ermöglicht der SecOVID Reader Plus sowohl die Benutzung von

Mehr

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 K-W81-G

Windows 8.1. Grundkurs kompakt. Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 K-W81-G Windows 8.1 Markus Krimm, Peter Wies 1. Ausgabe, Januar 2014 Grundkurs kompakt K-W81-G 1.3 Der Startbildschirm Der erste Blick auf den Startbildschirm (Startseite) Nach dem Bootvorgang bzw. nach der erfolgreichen

Mehr

Von Paul Curzon, Queen Mary University of London, Steve Mesure und Quintin Cutts und Steve Brindley der Glasgow University mit Unterstützung von

Von Paul Curzon, Queen Mary University of London, Steve Mesure und Quintin Cutts und Steve Brindley der Glasgow University mit Unterstützung von Compu terwissenscha ften mi t Spaßfak tor Bau-eines-Gesichts: Programmieren eines emotionalen Roboters Von Paul Curzon, Queen Mary University of London, Steve Mesure und Quintin Cutts und Steve Brindley

Mehr

Wir basteln einen Jahreskalender mit MS Excel.

Wir basteln einen Jahreskalender mit MS Excel. Wir basteln einen Jahreskalender mit MS Excel. In meinen Seminaren werde ich hin und wieder nach einem Excel-Jahreskalender gefragt. Im Internet findet man natürlich eine ganze Reihe mehr oder weniger

Mehr

VU Objektorientierte Modellierung Übung 1

VU Objektorientierte Modellierung Übung 1 VU Objektorientierte Modellierung Übung Übungsgruppen: 4.4.2008-8.4.2008 Aufgabe : Strukturmodellierung mittels Klassendiagramm Theoriefragen Wiederholen Sie das Kapitel aus der Vorlesung, das sich mit

Mehr

Folge 18 - Vererbung

Folge 18 - Vererbung Workshop Folge 18 - Vererbung 18.1 Ein einfacher Fall der Vererbung Schritt 1 - Vorbereitungen Besorgen Sie sich - vielleicht aus einer der Übungen der Folge 17 - ein fertiges und lauffähiges Listenprojekt,

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

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler?

FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? FAQ Spielvorbereitung Startspieler: Wer ist Startspieler? In der gedruckten Version der Spielregeln steht: der Startspieler ist der Spieler, dessen Arena unmittelbar links neben dem Kaiser steht [im Uhrzeigersinn].

Mehr

Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen

Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen Anmerkungen zur Erstellung, dem automatisierten Versand und der automatisierten Auswertung von pdf-formularen Vorbemerkung Häufig besteht die Notwendigkeit pdf-formulare Kunden, Mitarbeitern etc. zur Verfügung

Mehr

TABELLEN IN DER ENTWURFSANSICHT...

TABELLEN IN DER ENTWURFSANSICHT... Inhalt 1 1. TABELLEN... 2 1.1 TABELLEN ERSTELLEN UND BEARBEITEN... 2 1.2 FILTERN UND SORTIEREN... 2 2. TABELLEN IN DER ENTWURFSANSICHT... 3 2.1 GRUNDLEGENDE EIGENSCHAFTEN... 3 2.2 ERWEITERTE EIGENSCHAFTEN...

Mehr

2.3. Mahnwesen. 2.3.1 Mahnwesen einrichten. Kapitel 2.3. Mahnwesen

2.3. Mahnwesen. 2.3.1 Mahnwesen einrichten. Kapitel 2.3. Mahnwesen 2.3. Mahnwesen Das Mahnwesen als letzte Konsequenz der Belegerfassung dient zur Bearbeitung der Zahlungseingänge, der Aufstellung der noch offenen Posten und zur Erstellung von Anschreiben an säumige Kunden.

Mehr

Design by Contract with JML

Design by Contract with JML Thema: Design by Contract with JML Proseminar: Assertions Verfasser: Literatur: Betreuer: Natalya Moriz Gary T.Leavens and Yoonsik Cheon: Design by Contract with JML Prof. Dr. Heike Wehrheim 1 Inhalt DBC

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

Newsletter (Mailinglisten) Serien-Emails versenden Mailinglisten-Tool verwenden

Newsletter (Mailinglisten) Serien-Emails versenden Mailinglisten-Tool verwenden Newsletter (Mailinglisten) Serien-Emails versenden Mailinglisten-Tool verwenden Wenn Sie in Ihrem Tarif bei KLEMANNdesign den Zusatz Newsletter bzw. Mailinglisten-Tool gebucht haben, versenden Sie zu jedem

Mehr

Microsoft Word 2010. Serienbriefe. Microsoft Word 2010 - Serienbriefe

Microsoft Word 2010. Serienbriefe. Microsoft Word 2010 - Serienbriefe Microsoft Word 2010 Serienbriefe Martina Hoffmann-Seidel Otto-Hirsch-Straße 34, 71686 Remseck www.hoffmann-seidel.de, info@hoffmann-seidel.de Seite 1 Inhaltsverzeichnis Elemente eines Serienbriefes...

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

Informationen zum NBA-Verfahren für Kunden des Vertriebs

Informationen zum NBA-Verfahren für Kunden des Vertriebs Fachbereich 1/11 1. März 2013 Landesvermessung und Geobasisinformation Brandenburg Informationen zum NBA-Verfahren für Kunden des Vertriebs Fachbereich 2/11 1. März 2013 Inhaltsverzeichnis Seite 1. Allgemeines

Mehr

Gantt-Diagramm - Diagramm zur Projektverfolgung

Gantt-Diagramm - Diagramm zur Projektverfolgung Gantt-Diagramm - Diagramm zur Projektverfolgung 5.06.206 3:29:35 FAQ-Artikel-Ausdruck Kategorie: Windows::MS Office::Excel Bewertungen: 0 Status: öffentlich (Alle) Ergebnis: 0.00 % Sprache: de Letzte Aktualisierung:

Mehr

Oracle, Datenbank, PowerPoint, Dokumente, PPTX, Automatisierung, Prozess-Automatisierung, smaxt

Oracle, Datenbank, PowerPoint, Dokumente, PPTX, Automatisierung, Prozess-Automatisierung, smaxt Automatische Generierung serialisierter, individualisierter PowerPoint-Präsentationen aus Oracle Datenbanken Andreas Hansel Symax Business Software AG Parkstrasse 22, D-65189 Wiesbaden Schlüsselworte Oracle,

Mehr

Grundsätzlich müssen die Weisungen von kantonalen Instanzen befolgt werden (z. B. Obergericht, ERFA-Kommission usw.)

Grundsätzlich müssen die Weisungen von kantonalen Instanzen befolgt werden (z. B. Obergericht, ERFA-Kommission usw.) WinKoam 2S Jahresabschluss 2013 für WinKoam 2S-Anwender Zur Unterstützung der Reorganisation haben wir Ihnen eine Anleitung zum Jahresabschluss zusammengestellt, damit Sie diesen selber durchführen können.

Mehr

1. Einführung. 2. Vorbereitung

1. Einführung. 2. Vorbereitung 1. Einführung Über den Artikelimport können Sie Artikel aus vielen gängigen Formaten bequem in orgamax importieren, ohne diese einzeln eingeben zu müssen. In dieser Dokumentation sind verschiedene Szenarien,

Mehr

Anwendungsbeispiele Buchhaltung

Anwendungsbeispiele Buchhaltung Kostenstellen in Webling Webling ist ein Produkt der Firma: Inhaltsverzeichnis 1 Kostenstellen 1.1 Was sind Kostenstellen? 1.2 Kostenstellen in der 2 Kostenstellen in Webling 2.1 Kostenstellen erstellen

Mehr

Stammdatenanlage über den Einrichtungsassistenten

Stammdatenanlage über den Einrichtungsassistenten Stammdatenanlage über den Einrichtungsassistenten Schritt für Schritt zur fertig eingerichteten Hotelverwaltung mit dem Einrichtungsassistenten Bitte bereiten Sie sich, bevor Sie starten, mit der Checkliste

Mehr

Communit-e (plus) light. Anleitung

Communit-e (plus) light. Anleitung Communit-e (plus) light Anleitung Dezember 2012 Inhaltsverzeichnis Einleitung..3 Wie schaltet man zwischen Handiweb und Communit-e um?..4 Die Einsichtnahme in die Akten (Handiweb)...9 1. Das Übersichtsfenster..

Mehr

BENUTZERANLEITUNG KASSANDRO -APP

BENUTZERANLEITUNG KASSANDRO -APP BENUTZERANLEITUNG KASSANDRO -APP Vielen Dank, dass Sie sich für unser Produkt entschieden haben. Wir sind sicher, dass Ihnen das KASSANDRO-Kassensystem in den kommenden Jahren viel Freude bereiten wird.

Mehr