---
# System prepended metadata

title: SWT Altklausuren

---

# SWT Altklausuren

## SWT Klausur 2012

### Was sind funktionale und nicht funktionale Anforderungen?
- funktionale Anforderungen beschreiben Funktionen/Features des Systems
- nicht-funktionale Anforderungen beschreiben Rahmenbedingungen des Systems und den Prozess
    - Benutzerfreundlichkeit, Effizienz, Verlässlichkeit, Portabilität
    - Prozess, Implementierung, Auslieferung, Standards
    - Interoperabilität, Ethik, Legalität

### Verknüpfung von LSD Werten mit Praktiken von XP.
- Einfachheit in beidem
- Deliver Fast - Continuos Integration, Small Releases
- Eliminate Waste - Simple Design
- Respect People - Sustainable Development
- Build Quality In - Testing

### Inwiefern unterstützen die XP Werte die 3 ausgewählten Praktiken (gab 4 zur Wahl)
- Communication
    - On-site Customer
    - Metaphor
    - Pair Programming
    - Planning Game
    - (Collective Code Ownership)
- Einfachheit
    - Simple Design
    - Refactoring
    - Small Releases
    - Coding Standards
- Feedback
    - Test first
    - On-site customer
    - Pair Programming
    - CI
- Courage
    - Refactoring
    - CCO
    - CI
    - Testing
- Respect
    - Sustainable Development

### Warum ist bei XP die Kommunikation im Team so wichtig?
- verhindert Fehler im Voraus
- sorgt für Teamgeist

### 2 Codesmells aus einer 50-zeiligen Methode suchen und refactorn!
- Zeile 17 ist schlecht weil verstoßen gegen Spaghetticode /s


## SWT Klausur 2013

### System, Akteur, Use Case beschreiben und einordnen, und Zusammenhang erklären
- System: Gesamtheit des zu entwickelnden Produkts
- Akteur: Person außerhalb des Systems
- Use Case: Folge von Aktionen, die das System ausführt, um ein für den Akteur wertvolles, sichtbares Resultat erzeugen

### Reverse Engineering (nennen Sie 4 Phasen und dabei übliche Praktiken) (8 Punkte)
- Setting Direction
    - Agree on maxims
    - 
- First contact 
    - read code in 1h
    - interview the people
    - mock installation
- Initial Understanding
    - speculate about design
    - identify exceptional entities
    - analyze persistent data
- Detailed model capture
    - Refactor to understand (testing)
    - Look for contracts 
    - Step through execution
    - Learn from the past 
    - link code and questions

### Debugging: wie kann man in einer Programmierumgebung deiner Wahl (z. B. Smalltalk/Squeak) ein Programm an einer bestimmten Stelle anhalten und das Programm dann beobachten?
- self halt

### Vgl. XP und Scrum hinsichtlich Einführung und Umsetzung von neuen Anforderungen: Wann, wer, wie, etc (6 Punkte)
- Wann: während des Sprints kommen keine externen Anforderungen dazu
- Wer: 
    - XP: Kunde im Kundenmeeting
    - Scrum: Kunde -> Product Owner -> Team
- Wie: Im Backlog (User Stories o.ä.)

### vergleiche product owner und scrum master in scrum (2 punkte)
- Product Owner
    - owns the WHAT
    - Produktvision
    - kümmert sich um Backlog
- Scrum Master
    - kümmert sich um Prozess
    - verteidigt Team mit seinem Leben (und dem Leben von Marius)
    - Verantwortlich für Teammeetings, Retros, ...

### Welche 3 Fragen werden bei Scrum-Meetings geklärt und was ist die Aufgabe des Scrum Masters dabei jeweils?
- Was in den letzten 24h gemacht?
    - fertige Tasks loggen
- Was waren Probleme dabei?
    - anschließend Lösungen für Probleme finden
    - Leuten helfen
- Was in den nächsten 24h?
    - Leuten dabei helfen was sie als nächstes machen sollen

### warum ist kontinuierliches warten, schreiben und ausführen von tests in xp so wichtig?
- Fehler fallen schneller auf
- Hat bei neuen Features Sicherheit, dass noch alles läuft
- Test First: Features erfüllem Anforderungen
- automatiserte Tests -> schnelles Feedback

### Von TDD wird der Ansatz "test-first" propagiert. Erläutern Sie zwei Gründe, warum es von Vorteil ist, zuerst die Tests zu schreiben.
- Anforderungen an Story sind klar
- Funktionalität nicht implementierung wird getestet
- kompletter Code ist immer getestet

### Warum soll man sich laut XP für ein (schwieriges) Problem verschiedene Lösungen überlegen, bevor man sie umsetzt? (Es steht frei, ob man die XP-Begründung oder die von LSD angibt.)
- besseres abwägen gegeneinander
- ***Simple Design***
- ist gezwungen verschiedene Ansätze zu betrachten

### Wer oder was entscheidet darüber, welche aufgaben als nächstes bearbeitet werden? - jeweils für xp und scrum
- XP: Kunde
- Scrum: Product Owner im Größeren, Scrum Master innerhabl des Sprints

### geg. Codebeispiel, 2 Code smells nennen, Refactoring dazu nennen, quelltext refactorn
- können wir nicht machen

### geg. feature model, kreuze an, welche gegebenen Instanzen tatsächlich möglich sind
- nischt möglisch

### geg. dieses kleine diagramm aus den folien "refactoring to patterns" (context: problem -> solution) Aufgabe: füge die wörter für design patterns ein (software system: code smell -> refactoring) (3 punkte)
- Antwort steht in Frage

### 2 Prinzipien von LSD erklären (außer defer commitment) (4 Punkte)
- Respect People
    - Verantwortung möglichst weit nach unten verlagern
    - eigenverantwortliche Teams sind mehr engaged
- Deliver Fast
    - Schnell Aufgaben abschließen
    - guten Flow etablieren
- Eliminate Waste
    - Overproduction, WiP, Extra Processing, Motion, Transportation, Waiting, Defects

### defer commitment: welche beiden entscheidungsarten gibt es + Erklärung, wann man entscheidung am besten trifft (2 Punkte)
- Entscheidungen nach Möglichkeit so treffen, dass man sie wieder zurücknehmen kann
- nicht zurücknehmbare Entscheidungen so spät wie möglich treffen

### geg. 5 key practices aus XP, erkläre 3 und bringe sie mit XP Values oder anderen XP praktiken in Verbindung
- siehe mehr oder weniger weiter oben

### Beschreibe 2 Gründe, warum kommunikation in XP so wichtig ist.
- s.o.

### nenne und beschreibe ein organizational pattern
- Conwa's Law
- uvm.

### wo wird das v-modell xt in deutschland verwendet?
- kein Plan

### vgl. RUP mit XP: welche Anforderungen werden zuerst umgesetzt bzw wie wird das entschieden?
- RUP bein uns nicht klausurrelevant



## SWT Klausur 2016 

### beschreibe Conways Law und welche Aufgaben entstehen daraus für den Projekmanager? Schreibe ein weiteres Organisational Pattern mit Problem und Lösung
- Conway's Law
    - Architektur eines Softwaresystems folgen dem Aufbau der Organisation
    - Personen, die räumlich nah beisammen sind an gleichem Teil des Softwaresystems arbeiten lassen
- Another Organizational Pattern / Self-Selectiong Team
    - Problem: Es gibt keine perfekten Kriterien neue Team Members auszuwählen
    - Lösung: Lass das Team sich selbst auswählen (nur noch bedingt auf Vergangenheit und Interessen achten)

### Was ist ein Mock Objekt? Anwendungsbeispiel, welche Probleme können dabei auftreten? Wie kann man die lösen?
- Fake Version einer Ressource die konstant antwortet (speziell gedacht für teuere und kompliziert Obhjekte wie Datenbanken, Netzwerk etc.)
- Probleme
    - Performance kann so nicht getestet werden
    - viel Setup
    - Annahmen wie Objekt intern funktioniert
- Lösungen
    - Mock-Objects nur wenn nötig nutzen
    - wenn dann möglichst kleine

### Nenne und beschreibe 3 XP Praktiken, die Eliminate Waste von LSD ähnlich sind. 
- Simple Design - Architektur einfach halten
- Small Releases - Wenig work in Progress
- Refactoring, Test First - Defects beseitigen/verhindern

### Ein Entwickler, der alleine ein Modul geschrieben hat ist krank, weshalb das Modul nicht überarbeitet werden kann. Welche 2 XP Values wurden hier nicht beachtet? Weilche drei XP Praktiken hätten ein schlimmes Ausmaß verhindert?
- Values
    - Kommunikation
    - Simplicity - Hätte sonst von den anderen verstanden werden können
- Praktiken
    - CCO
    - Simple Design
    - Pair Programming

### Code Smells finden und bennen, Refactoring benennen, welches den Code besser macht und das Endergebnis der Refactorings als Smalltalk Code aufschreiben. (super einfach gewesen. da hat man sofort was gefunden)
- joa ne?

### Scrum Master und PO vergleichen
- s.o.

### testing: gegeben 5 module die getesten werden sollten (mit test driven development). was ist davon schlecht testbar und warum? was ist davon gut testbar? wie würden sie es testen? 
- wenn zwingend vorher testen: Interface vorher genau festlegen
- Requests an API können gut getestet werden (mit Mock)

### nicht-funktionale anforderungen - was sind sinnvolle? Warum (nicht)?
- thematisch: siehe oben
- konkret Messbar / feststellbar! Zahlen, Metriken, Statistiken, Mathe III

### reverse engineering - phasen und eine tätigkeit erläutern
- Setting Direction
- First Contact - GANZEN code in 1h lesen
- Initial Understanding
- Detailed Model Capture

### entscheidungsarten von defer commitment
- s.o.

### Bonusfrage: (Reverse Engineering) Metrik, Visualisierung und Grenzwert beschreiben und in Verbindung setzen
- Metrik
    - Messbarer Wert, der Schlüsse auf Codebasis zulässt
- Visualisierung
    - visuelle Darstellung von Metriken in Verbindung mit struktur d. Codes
    - Verhältnisse werden deutlicher
- Threshold
    - bestimmte Werte einer Metrik, ab der eine bestimmte Aussage über System getätigt werden kann
    - Referenzpunkt
    - gibt für das meiste keinen perfekten Grenzwert



## SWT Klausur 2016 (2)

### 1) Anforderungen 
#### a) Anforderungen gegeben, bestimmen, welche nicht genug spezifiziert sind und verbessern.
- 

#### b) Warum müssen Anforderungen so gut spezifiziert sein, dass sie objektiv überprüft werden können?
- damit klar ist, wann abgeschlossen


### 2) RUP
NICHT RELEVANT FÜR UNS


### 3) TDD
#### a) geg 5 Szenarien: welches davon ist gut (2 Punkte) und welches schlecht (2 Punkte) mit Test-first zu lösen und warum?
- schlecht
    - Berechnungen, die man schlecht von Hand berechnen kann


### 4) Reverse Engineering
#### a) Phasen nennen, beschreiben (je eine typische Aktion nennen) und in Reverse Engineering Kontext einordnen (aka definieren) (8 Punkte)
- Setting direction
    - Startpunkt festlegen
- First Contact
    - 1h code
- Initial Understanding
    - Speculate about Design


### 5) Refactoring
#### a) Gegeben Code: Smells finden und Refactorn (6 Punkte)
nope

#### b) Vorteile von automated Tests, wann soll getestet werden und wenn Tests fehlschlagen, was tun? (3 Punkte)
- schnelles, automatisches Feedback
- so oft wir möglich, Tests sollten nicht länger als 10min dauern
- direkt fixen, nicht erst loggen sonst passierts nicht mehr :D


### 6) Organizational Patterns
#### a) Ein beliebiges nennen und Problem und Lösung erklären (2 Punkte)
- Architect also implements
    - Umsetzung kann von geplanter Architektur abweichen
    - --> Architekt ist an Umsetzung beteiligt

#### b) Conways Law nennen und Beispiel für resultierende Aufgabe des Projektmanagers (4 Punkte)
- s.o.


### 7) LSD
#### a) Eliminate Waste mit drei XP Praktiken in Verbindung bringen (6 Punkte)
- Simple Design
- Refactoring
- Testing

#### b) Defer Commitment: Welche zwei Arten von Entscheidungen gibt es und wann sollten sie jeweils getroffen werden? (4 Punkte)
- s.o.


### 8) XP
#### a) zwei Werte nennen und beschreiben (2 Punkte)
- Kommunikation
- Respekt
- Feedback
- Einfachheit
- Courage

#### b) geg Szenario, wo ein Entwickler ein ganzes Modul alleine geschrieben hat, dann krank wurde und Modul weiterentwickelt werden sollte: Welche 2 XP Praktiken hätten diese Situation verhindern können (+ diese beschreiben)? Und welche 2 XP Werte wurden nicht beachtet. (6 Punkte)
- s.o.


### 9) Product Lines
#### geg ein Feature Diagramm, ankreuzen, welche Produkte möglich sind (2 Punkte)


### 10) Scrum
#### a) Vergleiche Scrum Master und Produkt Owner (2 Punkte)
- s.o.

#### b) Vergleiche Scrum mit XP: Wer(a) bringt wann(b) Anforderungen ein und wann werden diese umgesetzt(c)? (6 Punkte)
- XP
    - Wer: Kunde
    - Wann: bei Kundenmeetings
    - Umsetzung: frühestens im nächsten Sprint, spezieller wenn Kunde es wählt
- Scrum
    - Wer: Product Owner
    - Wann: stetig in globales Backlog, im Sprint "lokales" Backlog
    - Umsetzung: Im Sprint


### Zusatzaufgabe
#### a) Was für ein gemeinsames Ziel haben Pair Programming und Scrum Meetings (1 Punkt)
- mehr als nur eine Person soll Probleme kennen
- keiner soll alleine gelassen werden mit Problemen
- Feedback

#### b) Reverse Engineering was bedeuten Metrik, Visualisierung und Grenzwert (Threshold) und setzen sie diese in Beziehung? (4 Punkte)
- s.o.


## SWT Klausur 2017

### Use Case, Akteur, System erklären und in Beziehung setzen (Use Case und Szenario dürfen in diesem Kontext synonym verwendet werden)
- siehe oben

### funktionale und nicht funktionale Anforderungen kurz definieren
- siehe oben

### collective Code ownership, coding Standards, Small releases, on-side customer, Continuous Integration drei davon erläutern und mit XP Values oder anderen XP Praktiken in Beziehung bringen 2.


## SWT Klausur 2019

### 




















