Aufgabe S1: Einmal quer durch s Skript

Ähnliche Dokumente
PRÜFUNG. Grundlagen der Softwaretechnik

Softwaretechnologie -Wintersemester 2013/ Dr. Günter Kniesel

Jason T. Roff UML. IT Tutorial. Übersetzung aus dem Amerikanischen von Reinhard Engel

Unified Modeling Language (UML)

4. Übung zu Software Engineering

Vgl. Oestereich Kap 2.7 Seiten

Klassendiagramm. Kurzer Überblick über UML - Stand BlaBla

Softwaretechnologie -Wintersemester 2011/ Dr. Günter Kniesel

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

PRÜFUNG. Grundlagen der Softwaretechnik

OOA-Dynamische Konzepte

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

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

UML 2.0 Das umfassende Handbuch

Lösungsvorschlag zu Übungsblatt 1 mit Korrekturhinweisen

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

SEQUENZDIAGRAMM. Christoph Süsens

Christoph Kecher UML2. Das umfassende Handbuch. Galileo Press

Praktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker

Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich

Auktion name adresse pseudonym adresse /bewertungszahl. Gebot. höhe zeitpunkt bieter. initiiert

Sascha Schreier. Softwaretechnik: Übung

Einführung in die Informationsverarbeitung Teil Thaller. Stunde VII: Planen und Realisieren

Aufgabe 1: Quer durch Java (4 Punkte) super abstract abstract protected

Universität Karlsruhe (TH)

UML. Weiteres Vorgehen im Projekt

Grundlagen der Softwaretechnik

Übungen Softwaretechnik I

Together - Integrierte SWE und QA 1. Flugbuchungssystem

Aufgabe 1 (Anwendungsfalldiagramm)

Von der UML nach C++

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 3 - Objektorientierung

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

4. AuD Tafelübung T-C3

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

Softwaretechnik 1 Tutorium

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

Teil II: OOP und JAVA (Vorlesung 9)

Allgemeine Hinweise: TECHNISCHE UNIVERSITÄT MÜNCHEN. Name Vorname Studiengang Matrikelnummer. Hörsaal Reihe Sitzplatz Unterschrift

UML - Tutorial. Hubert Baumgartner.

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

VORDIPLOMSPRÜFUNG FÜR ELEKTROINGENIEURE. Einführung in die Informatik III

2. Übung zu Software Engineering

PRÜFUNG. Grundlagen der Softwaretechnik

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

Unified Modeling Language (UML )

2. Übung zu Software Engineering

Dokumentation des Projektes Tic Tac Toe

UML - Aktivitätsdiagramm

Software Engineering in der Praxis

Theorie zu Übung 8 Implementierung in Java

Übung 4. Musterlösungen

Klausur "OOAD" im SS Name, Vorname: Matrikel-Nr:

OOAD in UML. Seminar Software-Entwurf B. Sc. Sascha Tönnies

OOD. [Objekt Orientiertes Design] Version 1.0. OSBS- OnlineShopBewertungsSystem

Einführung in die Programmierung

DGQ Regionalkreis Hamburg Anforderungsmanagement ins SW-Projekten. 08. Juni 2011

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

Vorlesung Programmieren

Rhapsody in J Modellierung von Echtzeitsystemen

Programmablaufplan. Vorkurs Informatik. Sommersemester Institut für Informatik Heinrich-Heine-Universität Düsseldorf

8. Objektorientierte Programmierung. Informatik II für Verkehrsingenieure

Analyse und Modellierung von Informationssystemen

Einführung in UML. Überblick. 1. Was ist UML??? 2. Diagrammtypen. 3. UML Software. Was ist ein Modell??? UML Geschichte,...

Sequenz- und Kommunikationsdiagrammen. Systemmodellierung mit SysML von Michel Manthey

Software Engineering Klassendiagramme Einführung

Softwarepraktikum SS 2005 Inhalt - VL 10. Softwaretechnik. Softwareentwicklungszyklus (2) Wasserfallmodell. Softwareentwicklungszyklus

Beispielklausur B MPGI 3

Software Engineering. 7. Sequenz- und Zustandsdiagramme. Franz-Josef Elmer, Universität Basel, HS 2012

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Vorlesung Informatik II

Objektorientierte Modellierung (1)

1. Erläutere ausführlich, welche Beziehung zwischen den Klassen bzw. Interfaces

Kapitel 6. Vererbung

8 Baum in perfekter Komposition

Objektorientierte Analyse am Beispiel Silent Kitchen Company

WhiteStarUML Tutorial

PIWIN 1 Übung Blatt 5

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

Methodische objektorientierte Softwareentwicklung

Handbuch für die Erweiterbarkeit

Vorlesung "Software-Engineering"

Übungsaufgaben UML Zertifizierung Fundamental-Level

Aufgabe 1: Sequenzdiagramm Gegeben ist das in Abbildung 1 dargestellte (vereinfachte) Sequenzdiagramm mit sechs Ereignissen (a-f ).

Programmentwicklung I für Hörer anderer Fachrichtungen -Wintersemester 2003/04- Abschlussklausur

Klassendiagramm. (class diagram)

J.2 Objektorientiertes Modellieren mit UML

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

JAVA PROJEKT. Schiffe Versenken mit GUI. Projektheft

Software- und Systementwicklung

UML konzentriert. Eine kompakte Einführung in die Standard-Objektmodellierungssprache. Martin Fowler. ADDISON-WESLEY An imprint of Pearson Education

Lösung zur Zusatzaufgabe Bankensoftware

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Softwaretechnik SS 2006

Vgl. Oestereich Kap 2.1 Seiten

4. Requirements analysieren. und modellieren

UML Crashkurs v0.1. UML für Fachinformatiker. von Hanjo Müller

Transkript:

Aufgabe S1: Einmal quer durch s Skript / 10 Punkten Entscheiden Sie, ob die folgenden Aussagen zutreffen oder nicht. Machen Sie in der entsprechenden Spalte ein Kreuz. Für jede richtige Antwort erhalten Sie einen Punkt. Für jede falsche Antwort wird Ihnen ein Punkt abgezogen! Sie können in der Aufgabe dadurch aber nicht weniger als 0 Punkte erzielen. Aussage Richtig Falsch Im Pflichtenheft steht wie die gewünschte Funktionalität zu realisieren ist im Vordergrund. Im "klassischen" Wasserfallmodell gibt es auch Rückgriffe auf frühere Phasen. In der Anforderungsanalyse wird exakt festgelegt, was die Software leisten soll. Durch Zerlegung in Teilsysteme können Anwendungsfälle strukturiert werden. Eine Klasse kann in Java mehrere Oberklassen erweitern, aber nur ein Interface implementieren. UML 2.0 Aktivitätsdiagramme schaffen einen Zusammenhang zwischen Objekten und Aktionen. Eine Unterklasse erbt von der Oberklasse unter anderem die Implementierung der Operationen. Sequenzdiagramme eignen sich nicht für die detaillierte Beschreibung von Anwendungsfällen. Statecharts von Harel sind erweiterte Zustandsdiagramme. Eine Klasse kann auch mehrere solcher Statecharts besitzen, die das Verhalten der Klasse beschreiben. Pakete können nicht nur andere Pakete importieren, sondern auch einzelne Klassen.

Aufgabe S2: Use Case Diagramm / 15 Punkten Die Firma MultiKom möchte ein revolutionäres Multimediagerät entwickeln, das serienmäßig mit einem Fingerabdruckscanner ausgestattet ist und engagiert Sie, damit Sie bei der Entwicklung des Prototypen helfen. Ein Manager gibt Ihnen die untenstehenden Anforderungen an das zu entwickelnde System. Aus diesen Anforderungen sollen Sie ein UML Use Case Diagramm erstellen. Der Manager hat bereits einen ersten Versuch gemacht, die Anforderungen in ein Diagramm umzusetzen. Vervollständigen Sie nun dieses Diagramm. Identifizieren Sie auch alle beteiligten Akteure und fügen Sie diese dem Diagramm hinzu. Fügen sie dem Diagramm keine neuen Use Cases hinzu. Jeder Benutzer soll verschiedene (abstrakte) Systemfunktionen auf dem Multimediagerät ausführen können. Systemfunktionen sind beispielsweise einschalten und ausschalten. Während des Einschaltvorgangs soll das Gerät die Energieversorgung prüfen und einen Warnhinweis ausgeben, falls die verbleibende Akkukapazität weniger als 10% der maximalen Kapazität beträgt. Beim Ausschalten soll immer das Firmenjingle der Firma MultiKom abgespielt werden. Angemeldete Benutzer sind spezialisierte Benutzer. Bei diesen Benutzern weiß das Gerät, wie alt der Benutzer ist. Angemeldete Benutzer dürfen all das, was normale Benutzer auch können. Zusätzlich dürfen sie Medien wiedergeben. Jedes Medium ist mit einer Altersbeschränkung versehen. Ist der angemeldete Benutzer zu jung, wird die Medienwiedergabe abgebrochen und ein FSK Hinweis abgespielt. Administratoren sind spezielle angemeldete Benutzer. Administratoren dürfen neue Benutzer anlegen und bestehende Benutzerdaten editieren.

zu Aufgabe S2: Matrikelnummer:

Aufgabe S3: Klassendiagramm und OCL / 26 Punkten Ein Softwaretechniker der Firma MultiKom hat ein UML Klassendiagramm erstellt, das die Struktur der Software für den Prototypen widerspiegelt. Sie sollen daraus nun Java-Code erstellen. a) Vervollständigen Sie untenstehende Java-Quellcodefragmente anhand des oben gezeigten Klassendiagramms. b) Erstellen Sie zu oben gezeigtem Klassendiagramm die folgenden OCL Ausdrücke. Fügen Sie die Ausdrücke nicht in das Diagramm ein, sondern schreiben Sie diese textuell in die vorgegebene Zelle. Denken Sie daran den vollständigen Ausdruck aufzuschreiben und den Kontext anzugeben. 1) Schreiben Sie einen OCL-Constraint für die Klasse Multimediasystem, der besagt, dass das abgeleitete Attribut anzahlmedien gleich der Anzahl der Elemente der Menge der aggregierten Medien ist. Die Angabe des Kontextes für ein abgeleitetes Attribut erfolgt auf die gleiche Weise, wie bei der Initialisierung eines Attributes. 2) Schreiben Sie einen OCL-Constraint für die Klasse Benutzer, der besagt, dass für jeden Benutzer mindestens ein Fingerscan vorliegen muss.

zu Aufgabe S3: public Multimediasystem { anzahlmedien ; medien ; energie ; benutzer ; public Energie { niveau ; public EnergieNiveau { ; public Benutzer { VOLLJAEHRIG ; name ; alter ; system ; fingerscans ; public Medium { fskbeschraenkung ; system ; abspielen( ) { wirdabgespielt( ) { public Audio { public Sicherheitsmerkmal { istvalide( ) { public Fingerscan { benutzer ; istidentisch( ) {

Aufgabe S4: Aktivitätsdiagramm / 25 Punkten Die Firma MultiKom möchte den Ablauf des Abspielens eines Mediums auf dem Multimediagerät visualisieren. Ein Softwaretechniker hat den Ablauf bereits textuell beschrieben. Vervollständigen Sie untenstehendes Aktivitätsdiagramm gemäß des im Folgenden beschriebenen Ablaufs. Denken Sie daran alle möglichen und notwendigen Objektflüsse anzugeben. Zeichnen Sie alle Kontrollflusskanten ein. Ergänzen Sie fehlende Beschriftungen und Elemente. Die Eingabeparameter für die Aktivität sind die ID des Mediums und der Fingerabdruck des Benutzers. Das Medium und der zum Fingerabdruck gehörige Benutzer werden aus einer Mediendatenbank bzw. einer Benutzerdatenbank geholt. Dies geschieht parallel zueinander. Jetzt wird die Altersbeschränkung des Mediums mit dem Alter des Benutzers verglichen. Ist der Benutzer nicht alt genug, wird ein FSK-Hinweis ausgegeben, der Hinweis dem Ausgabeparameter hinweis übergeben und die Aktivität beendet. Andernfalls wird die Wiedergabe des Mediums gestartet und überprüft, ob im Medium Zusatzinformationen in Form einer URL hinterlegt sind. Sind keine Zusatzinformationen vorhanden, so ist die Aktivität abgeschlossen. Ansonsten werden die Zusatzinformationen aus dem Internet heruntergeladen (Hinweis: Betrachten Sie das Internet als große Datenbank). Abschließend werden die Informationen ebenfalls auf dem Multimediagerät wiedergegeben. Die Aktivität ist damit beendet.

zu Aufgabe S4: Matrikelnummer:

Aufgabe S5: Sequenzdiagramm / 19 Punkten Der Ablauf des Einschaltvorgangs des Multimediagerätes soll modelliert werden. Sie bieten an ein Diagramm zu erstellen und bekommen vom Team einen textuellen Vorschlag für den Ablauf unterbreitet. Modellieren Sie in dem untenstehenden, unvollständigen Sequenzdiagramm den Einschaltvorgang. Behandeln Sie jeden Aufruf als synchronen Aufruf und geben sie alle reply-pfeile an. Beachten Sie insbesondere Schleifen und Bedingungen! Denken Sie daran die Lebenslinien abhängig von Aktivität oder Inaktivität der Objekte entsprechend zu kennzeichnen. 1. Der Anwender a1 schaltet das Multimediasystem m1 ein, indem er auf m1 die Methode einschalten() aufruft. 1.1. m1 ruft daraufhin die Methode gibniveau() seines Energiemoduls e1 auf. Der Rückgabewert wird in der Variable niveau gespeichert. 1.2. Ist die Bedingung [niveau.equals("kritisch")] erfüllt, gibt m1 einen Warnhinweis aus, indem m1 auf sich selbst die Methode zeigenachrichtan(nachricht:string) mit dem Parameterwert "Energieniveau kritisch" aufruft. 1.3. Jetzt fordert m1 vom Fingerscanner f1 einen Fingerabdruck an (Methode holefingerscan()). Der Fingerabdruck wird in der Variablen abdruck gespeichert. 1.4. Nun überprüft m1, ob der Fingerabdruck einem der Benutzer zugeordnet werden kann, die einen Account im Multimediasystem haben. Dazu iteriert m1 über alle seine Benutzer. Diese sind im Attribut benutzer gespeichert. In jedem Schleifendurchlauf wird der aktuelle Benutzer b1 mit Hilfe der Methode istvalide(vergleich:sicherheitsmerkmal) gefragt, ob der übergebene Wert abdruck für den Benutzer b1 gültig ist. Das Ergebnis dieses Aufrufs wird in der Variablen b1valide gespeichert. Die Schleife wird ausgeführt, solange die Bedingung [b1valide = false] erfüllt ist. 1.5. Nachdem die Schleife abgearbeitet ist, wird überprüft, ob die Bedingung [b1valide = true] erfüllt ist. Ist dies der Fall, ruft m1 auf sich selbst die Methode setzeangemeldeterbenutzer(benutzer:benutzer) auf und übergibt der Methode den Benutzer b1. Der Einschaltvorgang ist damit abgeschlossen.

zu Aufgabe S5 Matrikelnummer:

Aufgabe S6: Statechart / 22 Punkten Die Firma MultiKom besitzt einen Codegenerator für Statecharts. Jedoch funktioniert der Generator nur mit Statecharts, die keine parallelen Unterzustände haben. Ein Softwaretechniker hat bereits ein Statechart mit parallelen Unterzuständen erzeugt. Wandeln Sie dieses oben gezeigte Statechart mit parallelen Unterzuständen in ein äquivalentes Statechart ohne parallele Unterzustände um, damit die Firma MultiKom daraus Code generieren kann. Nehmen Sie dabei keinerlei Vereinfachungen vor! Kürzen Sie die Zustandsnamen wie folgt ab: Abgemeldet, Angemeldet, Idle, Play, Stop, Inaktiv und Aktiv. Die Beschriftung der Transitionen 10 sec vergangen können Sie mit 10 sec abkürzen. Die Beschriftung der Transitionen 1 min vergangen [in Idle] können Sie mit 1 min [in Idle] abkürzen.

zu Aufgabe S6 Matrikelnummer: