• Keine Ergebnisse gefunden

Übungen zur Vorlesung Software Engineering — WS 19/20

N/A
N/A
Protected

Academic year: 2022

Aktie "Übungen zur Vorlesung Software Engineering — WS 19/20"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Intelligente Softwaresysteme

Prof. Dr.-Ing. Norbert Siegmund | Nicolai Ruckel

Besprechung:06.12.2019

Übungen zur Vorlesung

Software Engineering — WS 19/20

Übungsblatt 3

1. Modelling Behavoir: Use-Case Diagramm

Da Sie damit beauftragt wurden die neue Bildbearbeitungssoftware IntelliPhoto zu implemen- tieren, führten Sie eine Umfeldanalyse durch. In dieser haben Sie wertvolle Informationen über verschiedene Nutzergruppen sammeln können.

So erfuhren Sie, dass Casual User und Einsteiger die Software hauptsächlich für kurze Auf- gaben wie das Zusammenschneiden von Bildern, das Ändern der Bildauflösungen und dem Drehen von Bildern benutzen wollen. Außerdem möchten die Casual User die Software dazu benutzen um bestimmte Regionen in einem Bild zu retuschieren.

Eine weitere Nutzergruppe, die freiberuflichen Fotografen, hingegen möchten neben der Bild- retusche auch eine Reihe an Korrekturwerkzeugen, wie derHelligkeit/Kontrast,Farbton/Sätti- gungund denGradationskurven, als auch Auswahlwerkzeuge und verschiedene Pinsel haben.

Die letzte Gruppe von potentiellen Benutzern, die 3D Künstler, wünschen sich eine Schnitt- stelle für den Import von gängigen 3D-Dateien. Auch soll es für sie möglich sein, einfache geometrische 3D-Objekte direkt im Bild zu erzeugen.

Jede Nutzergruppe gab an, dass sie sich eine Ebenendarstellung in der Software vorstellen können und benutzen würden.

Fassen Sie die beschriebenen Ergebnisse in einemUML-Use-Case-Diagrammzusammen.

2. UML Structure: UML-Klassendiagramm

Modellieren Sie ein Unternehmen als UML-Klassendiagramm, welches weltweit beliebig viele Standorte besitzt.

Dabei setzt sich ein Standort aus mindestens einem Gebäude inklusive Adresse zusammen.

Ein Gebäude besitzt mehrere Büros und exakt eine Mensa. Die Büros haben Nummern sowie ein Namensschild an der Tür.

In den Büros sitzen Angestellte, welche entweder der Chef, das Management oder der Arbei- terschaft zugeordnet sind.

Zu beachten ist, dass einem Standort ein Chef und 3–8 Personen aus dem Management zuge- ordnet sind sowie mindestens 5 Arbeiter haben. Gekennzeichnet sind die Angestellten durch eine ID.

Die Berufsgruppen haben zudem eigene Aufgabenfelder: Der Chef kontrolliert das Manage- ment, welches wiederum die Arbeiter überwacht, welche wiederum die Arbeit verrichten.

Das Unternehmen stellt verschiedene Produkte (PCs, Laptops, Server) her.

(2)

3. Adapter Pattern: Deque

Implementieren Sie die Datenstruktur Deque in Java mit Hilfe des Adapter Patterns.

Die Operationen der Deque sind:

pushundpop: Einfügen und Entnehmen eines Elementes am hinteren Ende der Deque.

putundget: Einfügen und Entnehmen am vorderen Ende der Deque.

firstundlast: Lesen des ersten oder letzten Elements, ohne es zu entfernen.

Achten Sie bei Ihrer Implementierung auf Java Generics und bauen Sie Ihre Lösung auf eine bestehende “Collection”, wie z.B. java.util.ArrayList, auf. Vergewissern Sie sich, dass Ihre neue Klassekeineweiteren Methoden als die oben genannten ausführen kann (z.B.add() oderclear()).

4. Visitor Pattern: Termausgabe

Wir betrachten Terme über die Rechenartenop∈ {+,·}, die folgendermaßen rekursiv definiert sind:

jedes Literal ist ein Term, z.B.4

isttein Term, so ist(t)ein Term

sindt1,t2Terme so istt1opt2 ebenso ein Term Beispiele für gültige Terme:4 + 8,4·8oder4 + (4·8).

a) Implementieren Sie die entsprechenden KlassenExpression, Literal, Brackets, BinaryExpression, AdditionundMultiplicationim Sinne des Visitor Patterns.

b) Implementieren Sie danach die Visitor KlassenEvalVisitorundPrettyPrintVisitor.

EvalVisitor: Evaluiert bzw. berechnet den gegebenen Term und hält das Ergebnis PrettyPrintVisitor: Gibt einen Term in leserlicher Form aus.

Prüfen Sie Ihre Implementierung durch geeignete Tests!

Hinweise zur Abgabe

Die Lösungen sind zur entsprechenden Übung mitzubringen.

Während der Übung werden zufällige Personen ausgelost, die ihre Lösung vorstellen.

Referenzen

ÄHNLICHE DOKUMENTE

Es sollen zwei verschiedene Arten von Bildern repräsentiert werden können: RasterImage und ShapedImage, wobei letzteres eine Spezial- form vom RasterImage ist.. Ein ShapedImage

Ein ShapedImage besitzt eine nicht-rechteckige Form (Polygon), wobei die Bytes im Array angeben, ob die jeweiligen Punkte transparent oder opak darge- stellt werden sollen..

So you learned that casual users and novices want to use the software mainly for short tasks such as image cropping, changing image resolutions, and rota- ting images.. In addition,

Achten Sie bei Ihrer Implementierung auf Java Generics und bauen Sie Ihre Lösung auf eine bestehende "Collection", wie z.B.. java.util.ArrayList

a) Erstellen Sie ein Diagramm, welches die Beziehungen der einzelnen Komponenten des Model-View-Controller Architektur-Patterns zueinander visualisiert... b) Welche Aufgaben werden

Insgesamt sind explizit vier Bugs zu finden und wenn möglich eine potentiell gefährliche Stel- le (Zusatz). Ihre Abgabe soll sowohl das Protokoll als auch den korrigierten

Suchen Sie sich eine existierende mobile Applikation, mit der Sie vertraut sind, aus.. Stellen Sie sich vor, dass Sie die Aufgabe bekommen haben, eine äquivalente Applikation

Falls über den üblichen Rahmen hinausgehende Qualitätsanforderungen erfüllt werden sollen (z.B. für Buchungssysteme, Kernkraftanlagen), sollten diese hier niedergelegt