Software Engineering 2 - Klausur HANNA NUR DIESES LERNEN BITTE Flashcards

1
Q

Was ist ein Milestone?

A
  • Ereignis besonderer Bedeutung (Abnahmen/Zwischenabnahmen/Prüfungen)
  • Vorliegen von Zwischenergebnissen
  • Entscheidungen weiteren Projektverlauf
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Wann ist ein Milestone genau erreicht?

A
  • Definition der Ergebnisse müssen vorliegen
  • Ergebnisse erreichen Qualität
  • Eine Instanz entscheidet ob Milestone erreicht ist
  • Vorgegebene Deadline
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Was ist die Idee hinter Git?

A

-Dezentralisierter Ansatz zur Bearbeitung an gleichen Daten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wie war gemeinsames Arbeiten an Datensätzen vor Git und SVN nur möglich?

A
  • Lineares Arbeiten an Daten
  • Eine Datei wird gesperrt, sobald eine Person daran arbeitet
  • Datei wurde verändert und auf den Server comitted
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie geschieht gemeinsames Arbeiten auf Dateien mit SVN?

A
  • Nicht linear
  • Zentralisiert
  • Beide holen sich eine Working Version
  • Beide editieren gleichzeitig
  • Beide commiten
  • Merge Conflict muss gelöst werden und richtiges Ergebnis comitted werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie geschieht ein zentralisierter Zugriff/Workflow auf Daten?

A
  • Es gibt ein Repository
  • Auf dieses können alle Mitglieder Commiten, mergen, checkouten
  • Es gibt Tags, welche Versionsstände kennzeichnen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Wie geschieht ein dezentralisierter Zugriff/Workflow auf Daten?

A

-Durch Branches auf einem Repository

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Wer erfand Git und mit welchen Zielen?

A
  • Von Linus Torvalds entwickelt
  • Ziele: Schnelligkeit, Massiv verteilt, einfaches Design und schnelles Branching
  • Dezentral!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche lokalen Operationen gibt es in Git?

A

Working Directory | Staging Area | Git Directory(Repo)

|—–commit————

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Remote Operationen gibt es in Git?

A
  • push (commits hochladen in Remote Repo)
  • clone(herunterladen in lokales Repo)
  • pull (bringt die lokalen branches auf den stand der remote branches=
  • fetch (updated die remote tracking branches, ohne die lokalen branches zu verändern)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Erkläre folgende Git Commands:

  • git init
  • git add name.txt
  • git commit -m “first hallo”
  • git status
  • git log
  • git tag v1 -edit hallo.txt git checkout master
  • git checkout “hallo.txt” -git remote add origin https://gitlab.com
  • git push -u origin master
  • git pull origin master
  • git branch iss53 git checkout iss53 -edit Hallo.txt git commit -a -m “Änderung”
  • git checkout master git checkout -b hotfix
  • git checkout master git merge hotfix
  • git branch -d hotfix
  • git checkout iss53 edit Hallot.txt git commit -a -m “feature done”
  • git checkout master git merge iss53
  • git branch -d iss53 -git clone -edit Hallo.txt
  • git fetch origin
  • git pull
A

Erkläre folgende Git Commands:

  • git init (Lokale Git Repo erstellen)
  • git add name.txt (Datei Stagen)
  • git commit -m “first hallo” (Datei auf das lokale Repo schreiben)
  • git status (status des Staging Bereiches angeben)
  • git log (Log Dateien ausgeben)
  • git tag v1 (Letzte Version mit Tags versehen)
  • edit hallo.txt git checkout master (Datei verändern und Veränderungen rückgängig machen)
  • git checkout “hallo.txt”
  • git remote add origin https://gitlab.com (Remote Repo angeben)
  • git push -u origin master (Aufs entfernte Repo schreiben)
  • git pull origin master (Vom entfernten Repo holen)
  • git branch iss53 git checkout iss53 (Developer Branch erzeugen und wechseln)
  • edit Hallo.txt git commit -a -m “Änderung” (Datei editieren und comitten)
  • git checkout master git checkout -b hotfix (Weiteren Branch eröffnen)
  • git checkout master git merge hotfix (Hotfix in master mergen)
  • git branch -d hotfix (Hotfix Branch löschen)
  • git checkout iss53 edit Hallot.txt git commit -a -m “feature done” (Weiter arbeiten auf issue53)
  • git checkout master git merge iss53 (issue 53 mergen)
  • git branch -d iss53 (Nach dem mergen den Branch löschen und Issue im Issuesystem)
  • git clone -edit Hallo.txt (Lokal auf dem Master arbeiten)
  • git fetch origin (Mit anderen Entwicklungen auf dem Remote Master abgleichen)
  • git pull (Mit anderen Entwicklungen auf dem Remote Master abgleichen und lokal mergen gitpull = git fetch + git merge)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Erklären Sie Driessens Branching Modell(Git-flow)!

A
  • Master Branch enthält eine stabile Version
  • Entwickelt wird auf Developer Branch
  • Nur stabile und auslieferbare Entwicklungen werden auf den Master gemerged
  • Masterbranch enhält Auslieferungsversionen die mit Tags/Labels versehen worden sind
  • Feature Branch wird auf lauffähigen Versionen erzeugt und dort entwickelt
  • Nach dem Entwickeln werden die Änderungen der anderen Entwickler gemerged
  • Stabile Versionen werden einmal wöchentlich auf den Developer Branch gemerged, gelabelt und ein Regressionstest gemacht
  • Qualitätssicherung in der Folgewoche möglich
  • Jedes Feature bekommt einen eigenen Feature Branch Ziel: Versionieren einzelner Features und Fehler früh finden durch wöchtenliches integrieren
  • Hot fix Branch beinhaltet dringende Fehler zum sofortigen fixxen (Branch geht von Master ab)
  • Merge auf Developer und Master (1.2 auf 1.2.1)
  • Release Branch wird sehr lange getestet -Entwicklungen gehen für zukünftige Releases parallel im Develope weiter -Fehler im Releasebranch wrden auf den Developerbranch gemerged, damit sie nicht in Zukunft im Release Branch sind
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was ist ein Git-Flow?

A
  • Ein Modell mit Konventionen zum Branchen.
  • Git wird an sich nicht erweitert, sondern nur das Vorgehen beim Branchen.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Welche Git-Flows gibt es noch?

A
  • Integration Manager Workflow (Projektbetreiber push alleine in ein blessed Repository)
  • Diktator and Leutnant Workflow (Alle Synchronisieren mit dem blessed Repository und pushen zu Leutnants, Leutnants pushen zu Diktator)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Wofür gibt es Git?

A
  • Zum Vermeiden von Chaos bei Zusammenarbeiten in Projekten
  • Verfolgen von Änderungen
  • Markieren von wichtigen Versionen
  • Dezentraler Ansatz
  • Driessens Branching Modell (git-flow) als Strategie für Branches
  • Workflow für die verteilte Arbeit mit mehreren Repos
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Was ist ein Issue-Tracking System?

A
  • Datenbank Software zum Verwalten von Tickets (Fehlerfällen, Änderungen an einem Produkt)
  • Erfassung der Fehler
  • Zuordnen eines Bearbeiters
  • Überwachung der Bearbeitung(Dauer und Stand)
  • Statistische Auswertung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Welche Arten von Workflows unterstützt Git?

A
  • Zentralisierten Workflow
  • Integration Manager Workflow(distributiert)
  • Diktator und Leutnant Workflow(distributiert)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was ist Continuous Integration?

A
  • Eine der 12 Praktiken des Extreme Programming(Agile)
  • Steht für regelmäßige Integration von Code in die Mainline(Master/Developer/Releasebranch)
  • Die Mainline sollte fehlerfrei gehalten werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Was sind die Ziele bei Continuous Integration?

A
  • Fehler schnell finden
  • Fehler schnell beheben
  • Insgesamt weniger Fehler im System (Denn je mehr Fehler im System, desto schwerer ist das beheben einzelner und Broken-Windows-Theorie)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Was sind die Vorraussetzungen für Continuous Integration an die Technik?

A
  • Ein Versionierungssystem (Git, SVN)
  • Automatisierte Builds
  • Automatisierte Testdurchführung(Junit)
  • Schnelle Builds
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Was sind die Vorraussetzungen für Continuous Integration an den Entwicklungsprozess?

A
  • Mainline immer fehlerfrei halten
  • Selbsttestenden Code schreiben
  • Aufteilung großer Aufgaben (Regelmäßiges Committen, ein mal am Tag)
  • Kommunikationsbereitschaft der Entwickler
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Wie funktioniert Continuous Integration?

A
  • Laden einer lokalen Kopie des Codes
  • Programmieren eines kleinen Features
  • Lokales Bauen des Systems und Durchführen der Testfälle für das System
  • Update auf die aktuellste Version mit Pull (Zwischenzeitliche Änderungen könnten eingecheckt sein)
  • Beheben aller Konflikte und erneutes Durchführen der Testfälle
  • Einchecken des integrierten Codes (stage, commit, push)
  • Integrationsserver baut Mainline und führt Testfälle durch
  • Integrationsserver macht gebautes System zugänglich
  • Integrationsserver benachrichtigt Comitter über Erfolg des Builds
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Was sind gängige CI-Produkte?

A
  • Gitlab CI (.yml datei enthält die task pipeline)
  • Jenkins
  • Atlassian Bamboo
  • JetBrains TeamCity
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Was sind denkbare Probleme bei der Nutzung von Continuous Integration?

A
  • Fehlerfreiheit der Mainline nicht sichergestellt:
  • >Lösung: Nicht direkt auf die Mainline comitten, sondern Git-Flow/Branch-Strategien nutzen
  • Dezentrale Ansätze wie Git nutzen
  • Fehlerhafte Builds zwischencomitten und CI-Server prüft bevor es final comitted wird Build dauert zu lange:
  • >Lösung: -Staged Buids (Build Pipeline)
  • Projekt sinvoll gliedern (Komponenten)
  • Nicht alle Tests immer durchführen
  • Performancetests nur ab und zu machen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Wie kann eine BuildPipeline bei Continuous Integration aufgebaut sein?

A

(Stage 1)

  • Inspection (Runs Tools, Complexity, Static code)
  • Commit Build (Unit Test Cases, other basic tests)

(Stage 2)

  • SecondaryBuild1 (Component Tests, System Test, Functional Tests)
  • SecondaryBuild2

(Stage 3)

  • Non-Functional Build1 (Long running Perfomance Tests, Non Functional Tests)
  • Non-Functional Build2
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
26
Q

Was erhält man durch das Nutzen von Continuous Integration?

A
  • Der Integrationsaufwand wird kontrollierbar
  • Probleme werden sofort sichtbar und können sofort behoben werden
  • Erfordert neben viel Technik auf viel Disziplin
  • Auch Deployments/Installations und Aufbau ganzer Testumgebungen automatisiertbar (Continuous Deployment)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
27
Q

Was ist der Zweck von Kanban?

A
  • Entwicklungsflüsse optimieren
  • Flaschenhälse im Prozess erkennen und verringern
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
28
Q

Prinzipien von Kanban?

A
  • Workflow visualisieren (Auch in Scrum)
  • Pull-Prinzip (Aufgaben werden durch Bearbeiter geholt nicht zugeordnet)
  • Work in Progress (WIP Limit) beschränkt Anzahl der Dinge im Zustand und lässt Flaschenhälse erkennen
  • Cycle time (einer Durchlaufzeit) messen und maximieren, Prozess optimieren, so dass die Durchlaufzeit niedrig und vorhersagbar ist
  • Unnötige Lagerzeit in einem Zustand minimieren
  • Funktioniert gut bei ähnlich dimensionierten Aufgaben und eingespielten Team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
29
Q

Wodurch definiert man ein gemeinsames Verständnis von Qualität und deren Erreichung?

A
  • Durch Normen
  • Durch Best-Practices
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
30
Q

Was bedeutet Qualität?

A
  • Liegt im eigenen Ermessen
  • Ansprüche ändern sich (persönlich und unternehmerisch)
  • Das gemeinsame Verständnis über Qualität legt fest was man erreichen möchte
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
31
Q

Beispiel für Kostenentstehung durch das Fehlen von Qualität?

A

In Analyse(5€):

Bei Adressverwaltung fehlt Adresszusatz Kosten in Analyse

einfügen, beschreiben, neue Version

In Entwurf (50€):

Komponenten, Klassen, Methoden, Persistenz, Prozessschrite Kosten in Implementierung

In Implementierung(500€):

Getestete Module ändern, neu testen, Testspezifikation erweitern, Designidee überdenken, Dokumentation Kosten

In Betrieb(5000€):

Daten neu importien, System entwickeln und parallel weiter betreiben, Temporäre Ersatzlösung(Excel?), Migration

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
32
Q

Welche Kostenarten gibt es bei Qualitätsmängeln?

A

Direkte Kosten:

-Diskussion über Mängel)

Verstecke Kosten:

  • Schwer zu erkennen
  • Fehlende Nachvollziehbarkeit
  • Fehlende Dokumentation
  • Schlechte Dateinamen
  • Können fast nie einem Verursacher zugeordnet werden, machen aber den Großteil der Gesamtkosten aus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Was sind Indizien für das Fehlen von Qualität?

A

Stress:

  • Keine Zeit
  • Überstunden

Unzufriedenheit:

  • unrentable Projekte
  • unzufriedene Kunden
  • Kein Spaß

Unbrauchbarkeit:

  • Programm kann etwas nicht
  • Messer schneidet nicht Qualität ist ein tiefes menschliches Bedürfnis
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
34
Q

Wie lautet ein bekanntes Zitat von Aristoteles über Qualität?

A

-Qualität kann nicht verordnet werden, sie muss gelebt werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
35
Q

Wie lautet die Softwarequalität nach DIN ISO 9126?

A

-Softwarequalität ist DIE GESAMTHEIT DER MERKMALE eines Softwareproduktes, die sich auf dessen Eignung beziehen, festgelegte und vorausgesetzte Erfordernisse zu erfüllen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Wonach können Qualitätsmerkmale bewertet werden?

A

Nach Boehm:

Produktqualität

  • Wartbarkeit (Prüfbarkeit, Änderbarkeit, Portabilität)
  • Brauchbarkeit (Zuverlässigkeit, Nützlichkeit, Bedienbarkeit)

Prozessqualität

  • außere Prozessqualität
  • Planungssicherheit (Termin Einhaltung, Aufwand Einhaltung)
  • innere Prozessqualität (Baustein Gewinn, Know-How Gewinn)

Nach ISO/IEC 25010:

  • Brauchbarkeit
  • Kompatibilität
  • Performance
  • Zuverlässigkeit
  • Sicherheit
  • Wartbarkeit
  • Portabilität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
37
Q

Wie kann Qualität gemessen werden?

A

-Durch Qualitäts-Metriken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
38
Q

Was sind Software-Attribute zur Bewertung von Qualität?

A
  • Anzahl der Parameter
  • Zyklomatische Komplexität
  • Kohäsion und Kopplung
  • GUI-Styleguide
  • Testabdeckung(Coverage)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
39
Q

Ist die Messung von Zuverlässigkeit bei der Qualität von Software einfach?

A
  • Nein, sehr schwierig
  • Merkmale:

1. Korrektheit messen:

  • Ist die Korrektheit entscheidbar?
  • Formal beweisbar?
  • Tests nur Stichproben, vollständige Testabdeckung nicht möglich

2. Ausfallsicherheit messen:

  • Hardware Mean Time Between Failures
  • Software bei systematischen Fehlern oft eine Katastrophe und kaum Absehbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
40
Q

Was ist das Softwaremaß Metrik? (Zu messen ist zu wissen)

A
  • Die Metrik ist eine Funktion, um Elemente der Software
  • Entwicklung in eine (geordnete) Basismenge abbildet
  • Es gibt hunderte verschiedene Metriken für verschiedene Aspekte
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
41
Q

Was ist der Schaden und der Nutzen von Metriken? Sollte man sie nutzen?

A

Was ist der Nutzen?

  • Bewerten Qualität von Produkten und Prozessen
  • Prognosen zu Kosten, Termin, Qualität machen

Was ist der Schaden?

-Gefahr der Fehlinterpretation/falsche Aussagen

  • *Daher?**
  • Wenige, aber wichtige Metriken nutzen und abwägen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
42
Q

Was ist bei Nutzung von Metriken wichtig?

A

-Die konsequente Erhebung und Anwendung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
43
Q

Was sind Anforderungen an Metriken? Was sollen sie an Eigenschaften besitzen?

A
  • Liefern keine Ja/Nein Antwort
  • Sondern Informationen
  • Entwicklung und Auswahl von Metriken soll Entwicklung möglichst einfach helfen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
44
Q

Wie sieht die ideale Metrik aus?

A
  • Liefert ein exaktes Bild eines Systems, Projektes, Prozesses
  • reduziert auf die wichtigen Aspekte
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
45
Q

Was sind Beispiele für Metriken?

A
  • Größen (Line of Code)
  • Komplexität (McCape-Metrik, Halstead-Metrik, Kopplung der Klasse, beispielsweise Anzahl der verbundenen Klassen oder Anzahl der Operationen)
  • Stil (Länge von Bezeichnern, Anteil Kommentar oder Leerzeilen, Jumps)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
46
Q

Was sind Metriken im Controlling?

A
  • Story Points
  • Function Points
  • Use-Case-Points
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
47
Q

Was für Arten von Metriken gibt es?

A

Objektive Metrik (Einfache Metrik)

  • Wie?: Durch das Messen und Zählen
  • Pro: exakt, automatisierbar
  • Con: Nicht sicher, keine Interpretation
  • Beispiel: Körpergröße, Luftdruck, Lines of Code

subjektive Metrik (Qualitätsbewertung)

  • Wie?: Beurteilen durch Gutachten
  • Pro: Für komplexe Merkmale, plausible Ergebnisse
  • Con: Aufwändig, Qualität liegt am Gutachter
  • Beispiel: Gesundheitszustand, Wetterlage, Benutzerfreundlichkeit

Pseudometrik (Prognosen, Kostenschätzung)

  • Wie?: Berechnen durch Messungen/Beurteilung
  • Pro: Aussage über nicht sichtbare Merkmale
  • Con: schwer nachvollziehbar -Beispiel: BMI, Produktivität
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
48
Q

Was steht hinter der Zyklomatische Komplexität (McCape-Metrik)?

A
  • Die Komplexität der Wartbarkeit eines Programmes sollte gering sein
  • Komplexität ist gering wenn es leicht verständlich und prüfbar ist (Wenige If-Else Verzweigungen)
  • Aus dem Kontrollflussgraphen eines Moduls ableitbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
49
Q

Wie lautet die Berechnung der zyklomatischen Komplexität (McCape-Metrik)?

A

v(G) = e - n + p

für einen Kontrollflussgraphen G mit n Knoten und e Kanten;

p ist die Anzahl der Außenverbindungen

Beispiel: Programm mit einem Ein-Ausgang->p=2

Komplexität ist dann minimal v(G)= 0-1+2 =1

  • Lineare Verkettung (Sequenz) hat Komplexität 1
  • Jede Verzweigung oder Schleife erhöht die Komplexität um 1
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
50
Q

Was ist die WTF-Metrik?

A

Wie oft beim Code-Review WTF gesagt wird ;)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
51
Q

Was ist das Ziel hinter Maßnahmen zur Qualitätserhebung (Qualitätssicherung QS)?

A

-Beinhaltetet Tätigkeiten, um Vertrauen zu schaffen, dass eine Dienstleistung/Produkt die Qualität erfüllt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
52
Q

Was ist das Ziel hinter den Maßnahmen der Qualitätsmanagement QM?

A

-Gesamtführende Aufgabe, welche die Qualitätspolitik, Ziele und Verantwortlichkeiten festlegen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
53
Q

Welche Arten der Qualitätssicherung gibt es?

A

Konstruktiv (Grade, CI, GIT)

Organisatorisch (Software-Projekt-Management)

Analytisch (Software Prüfung)

  • nicht mechanisch (Inspektion, Review)
  • mechanisch (Prüfung mit Rechner)
  • ausführen (dynamische Prüfung)
  • analysieren (Statische Prüfung)
  • Regeln prüfen
  • Konsistenzprüfung
  • quantitative Untersuchung
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
54
Q

Was sind Mittel der Organisatorischen und Konstruktiven Qualitätssicherung?

A
  • Verfahren zur Anforderungsanalyse/Dokumentation/Freigabe
  • Dokumentenstandard (Lasten- und Pflichtenheft, Architekturbeschreibung, Testfallspezifikation, Protokolle)
  • Entwurfsmuster für die Softwarearchitektur
  • Codierungsrichtlinien
  • Continous Integration
  • Vorgehensmodelle
  • Schulungen
  • Meistensteine und Freigabewesen
  • Festlegen von Verantwortlichkeiten
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
55
Q

Was kann analysiert werden?

A
  • Coding Style (Einrückung)
  • Dumme Fehler (If Logik falsch)
  • Antipatterns nutzen (equals nicht auf null checken)
  • Schlechte Fehlerbehandlung (Stream nicht schließen)
  • Metriken (McCabe)
  • Technische Schulden (Leichen im Keller, Legacy, Notlösungen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
56
Q

Was sind technische Schulden?

A

-Aufwand für Änderungen an Code/Erweiterungen die schlecht geschrieben sind

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
57
Q

Was ist das Tool CheckStyle in der Statische Codeanalyse?

A

-CheckStyle ist ein Programm das für Java Style prüft und auch MacCabe-Metrik

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
58
Q

Was ist das Tool FindBugs und SonarQube der Statische Codeanalyse?

A

Findbugs

-kann Bugs finden

SonarQube

  • Mächtiges Tool für Analysen
  • Kann verschiedene Metriken berechnen und Analysen durchführen und Ergebnisse darstellen
  • Auch für Gradle als Plugin und viele Sprachen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
59
Q

Was sind Metriken in OpenSource-Projekten?

A

-Mockito zum Testen mit Mockup Objekten

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
60
Q

Was ist beim Testen auf Komplexität bei der Anzahl der Paramater zu beachten?

A
  • Einfaches Programm, welches drei ganzzahlige Parameter bekommt besitzt 2^48 Kombinationen
  • Testen würde an die 100 Jahre dauern

->Daher wenig Testfälle, die unterschiedliche Fälle abdecken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
61
Q

Was ist beim Testen auf Komplexität Orientiert an Struktur zu beachten?

A
  • Einfaches Programm, welches aus vier Verzweigungen einer einer umfassenden Schleife besteht.
  • 100 Billionen unterschiedliche Abläufe

->Daher möglichst wenig Testfällle, die viel abdecken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
62
Q

Was ist die Motivation hinter dem Testen?

A
  • Testen ist ein wichtiges Werkzeug der Qualitätssicherung QS (Andere Ansätze der QS: Reviews, Statische Analysen, Formale Verifikation)
  • Vollständige Testabdeckung ist nicht möglich wg. State Space Explosion Problem (Ziel mit wenig Tests viel abdecken)
  • Systematik beim Testen ist wichtig (Prozess, Heuristik, Methodik, Erfahrung)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
63
Q

Was sind Grundsätze des Testens?

A
  • Testen zeigt die ANWESENHEIT von Fehlern (Keine Abwesenheit!)
  • Vollständige Tests sind nicht möglich -Mit dem Testen früh beginnen (Spät ist teuer)
  • Häufung von Fehlern (Oft nicht gleichmäßig verteilt)
  • Zunehmende Testresistenz (Testfälle prüfen, erweitern, modifizieren)
  • Testen ist abhängig vom Umfeld (Tests an Einsatzumgebung anpassen und Randbedingungen)
  • Kein Fehler weist nicht auf ein brauchbares System hin
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
64
Q

Unterschied Statischer vs. Dynamischer Test?

A

Als Certified Tester spricht man von:

Statischen Tests(Testobjekt wird nicht ausgeführt)

  • Untersuchung von Dokumenten
  • Code Ausdruck analysieren

Dynamischen Tests (Testobjekt wird ausgeführt)

  • Fehler-orientiert (Ziel sie zu finden)
  • Komformitäts-orientiert (Testgegenstand verhält sich konform zu seiner Spezifikation; Abnahmetest)
  • Auch von Hand
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
65
Q

Dynamischer Test Vor/Nachteile?

A

Vorteile

  • Testen ist ein natürliches Prüfverfahren
  • Tests sind reproduzierbar
  • Investierter Aufwand mehrfach nutzbar
  • Zielumgebung wird mitgeprüft
  • Systemverhalten wird sichtbar

Nachteile:

  • Ergebnisse werden überschätzt (Tests sind Stichproben!)
  • Nicht alle Eigenschaften testbar
  • Nicht alle Anwendungssituationen nachbildbar
  • Test zeigt die Fehlerursache nicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
66
Q

Was gilt beim Testen allgemein?

A

-Ein Test muss systematisch sein!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
67
Q

Was ist ein systematischer Test?

A
  • Randbedingungen sind präzise definiert(Programm, Übersetzer, Betriebssystem,Wer,Geräte)
  • Eingaben systematisch gewählt (Tastatur, Dateien, DB, Zustände)
  • Ergebnisse werden dokumentiert und nach vorher definierten Kriterien beurteilt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
68
Q

Welche Software-Einheiten müssen getestet werden?

A
  • Komponententest/Unit Tests (Testen einer Komponente/Moduls z.B. Klasse)
  • Integrationstest (Testen des Zusammenspiels mehrerer Komponenten)
  • Systemtest (Testen des Gesamtsystems ohne reale Nachbarsysteme)
  • Verbundtest (Testen der Software im Zusammenspiel mit den Nachbarsystemen)
  • Abnahmetest (Testen in der realen Einsatzumgebung beim Kunden mit dem Ziel das Projekt abzuschließen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
69
Q

Was besagt Brian Maricks Testing Quadrant?

A
  • Guide Development (Fehler vor und während Codens verhindern)
  • Qritique the Product (Fehler und Fehlende Features schnell finden)
  • Business Facing (Für die Anwender)
  • Technology Facing (Mehr Team-intern)

TODO ?????

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
70
Q

Was für Testfallbestimmungen bzw. Arten davon gibt es?

A

Black-Box-Test(Funktionstest)

  • Betrachtung des Systems ohne Interna zu kennen
  • Testfälle auf Basis der Spezifikation der geforderten Eigenschaften

Glass-Box-Test(Strukturtest)

  • Betrachtung des Systems mit Wissen über Interna Unterscheidungen
  • Anweisungsüberdeckung (Alle Anweisungen wurden ausgeführt)
  • Zweigüberdeckung (Alle Vezweigungen wurden durchlaufen)
  • Termüberdeckung (Alle Terme die eine Verzweigung steuern wurden (z.B. true/false) ausgeführt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
71
Q

Black-Box-Test

A
  • Auswahl der Testfälle richtet sich nach Eingaben, Ausgaben und funktionellen Verknüpfung
  • Kein Wissen über intere Struktur des Testobjektes
  • Ziel: Bringt Eingabe X das erwartete Ergebnis Y?

Kriterien für die Auswahl von Testfällen

  • Anweisungsüberdeckung(Alle Anweisungen wurden ausgeführt)
  • Zweigüberdeckung (Alle Vezweigungen wurden durchlaufen)
  • Termüberdeckung (Alle Terme die eine Verzweigung steuern wurden (z.B. true/false) ausgeführt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
72
Q

Black-Box-Test Äquivalenzklassen

A
  • Festlegung von Äquivalenzklassen (Teilbereiche des Wertebereiches die sich bei Fehlern gleich verhalten)
  • Auswahl eines Repräsentanten einer Klasse
  • Überprüfung auf Vollständigkeit Beispiel:

Ganzzahliger Bereich a<= W <= n

Enumeration {A,B,C}

Wort W: 1. Zeichen = Buchstabe?

Gültiger Wert:

Ganzzahliger Bereich a<= W <= n

W in {A,B,C}

W.1 = Buchstabe

Ungültiger Wert:

W< a W > n

W nicht in {A,B,C}

W.1 ist kein Buchstabe

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
73
Q

Herleitung von Testfällen mit Äquivalenzklassen

A

-Schritte:

1. Ermittel für jede Eingabevariable den zulässigen Wertebereich

2. Verfeinere die Äquivalenzklassen auf Basis der Spezifikation (Gültige Äquivalenzklasse, Ungültige, Vorbedingungen der Funktion)

3. Auswahl von Repräsentanten der Äquivalenzklasse

4. Testfälle definieren für Äquivalenzklassen

5. Bei mehreren Parametern: Kombination aus Äquivalenzklassen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
74
Q

Was ist die Grenzwertanalyse und was sind Grenzwerte?

A
  • >Idee: In Verzweigungs/Schleifenbedingungen gibt es oft Grenzbereiche ab wann eine Bedingung noch zu trifft oder nicht mehr
  • >Kombination mit Äquivalenzklassenbildung
  • Grenzen der Äquivalenzklassen testen
  • Jeder Rand einer Äquivalenzklasse muss in Testdaten vorkommen

Was sind Grenzwerte?

  • Werte auf den Grenzen
  • Werte links und rechts neben den Grenzen
  • Kleinste und größte un/gültige Anzahl
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
75
Q

Vorgehensweisen bei Grenzwertanalysen

A
  • >Testdaten identifizieren
  • Testdaten direkt auf oder neben den Äquivalenzklassen
  • Wertebereich:
  • Kleinste und größte un/gültige Werte und die daneben Beispiele: Natürliche Zahlen 1..255 -> 0,1,255,266

Reelle Zahlen -1.0 .. 1.0 (3 Stellen) -> -1.001, -1000, 1000, 1.001 Zeichenkette mit Länge < 10 -> Ketten der Länge 0, 1, 10, 11

Liste mit max. 100 Elementen -> Listen der Länge 0, 1, 100, 101

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
76
Q

Was ist die Definition Fehler und Mangel?

A

Fehler ist die Nichterfüllung einer festgelegten Anforderung

  • Abweichung zwischen Ist/Soll Verhalten
  • Vorraussetzungen Soll muss in einer Art Spezifikation beschrieben sein

Mangel liegt vor, wenn eine Anforderung nicht angemessen erfüllt wurde

-Programm funktioniert, aber Dialog oder Speicher dauern zu lange, GUI unvollständig

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
77
Q

Was ist die Definition von Error, Fault, Failure?

A

Fehler oder Mangel wird erst bei der Ausführung bzw. beim Test der Software bemerkt

Error: Fehlbehandlung

-Handlung die zu einem Fehlerzustand/Verhalten führt wie Programmierfehler oder fehlerhafte Eingabe

Fault(bug): Fehlerzustand

-Fehlerhafte Zeile, die eine Fehlfunktion auslöst

Failure: Fehlerwirkung

-Ausfall einer Software, Dienste funktionieren nicht mehr

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
78
Q

Erkläre Validation und Verifikation

A

Validation

  • Haben wir das RICHTIGE SYSTEM gebaut?
  • Prüfung ob die Ergebnisse den Anforderungen einer Nutzung des Systemes entsprechen

Verifikation

  • Haben wir das SYSTEM RICHTIG gebaut?
  • Prüfung ob die Ergebnisse einer Entwicklungsphase den Vorgaben der Dokumente entspricht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
79
Q

Wie kann sich ein Fehler einer Fehlerart in verschiedene Fehler fortpflanzen?

A

Grobe Anforderung: ->Beispiel fehlerhafte Anforderung Anforderungsanalyse: Spezifikationsfehler(Fehler aus Anforderung) Entwurf: Entwurfsfehler

Codierung: Fehler aus Codierung

Test und Integration: unbekannter Fehler

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
80
Q

Wann ist man mit dem Testen fertig?

A
  • >Frage sollte am Beginn des Projektes durch Teststrategie geklärt sein
  • >Die Zeit ist nie um!
  • >Metriken helfen, aber gezielt wählen!
  • Requirements-Coverage und Requirements -Tracking (Wieviele Anforderungen werden durch die Tests abgedeckt?)

Code-Coverage

  • Statement-Coverage (Anteil der Anweisungen die ausgeführt werden)
  • Banch-Coverage (Anteil der Verweigungen die durchlaufen werden)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
81
Q

Was ist das Ziel von Black-Box-Tests?

A
  • Möglichst umfassende Prüfung der spezifizierten Funktionalität auf Basis der Anforderung erfassen
  • Nur relevante Testfälle testen
  • Die Soll-Ergebnisse der Spezifikation sollen gefunden werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
82
Q

Was für Testfall-Auswahlkriterien gibt es?

A
  • Funktionsüberdeckung (Jede spezifierte Funktion mindestens einmal ausgeführt)
  • Eingabeüberdeckung (Jedes Eingabedatum in mindestens einem Testfall verwendet)
  • Ausgabeüberdeckung (Jede Ausgabesituation mindestens einmal erzeugt (Masken, Fehlermeldungen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
83
Q

Was sind Techniken zur Testfallauswahl(Myers)?

A

Äquivalenzklassenbildung (Äk, Ä-Klassen)

  • Repräsentative Menge von Eingabedaten
  • Eingaben in Äquivalenzklassen eingeteilt
  • Aus jeder Äquiklasse mind. ein Repräsentant getestet

Grenzwertüberprüfung

  • Fehler an Grenzen zulässiger Datenbereiche
  • Testfälle für Grenzfälle definieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
84
Q

Äquivalenzklassenbildung

A

Alle Werte einer Äqzuivalenzklasse zeigen identisches Verhalten

  • Alle Funktionen können getestet werden
  • Anzahl der Testfälle reduziert sich

Aber Äquivalenz ist hypothetisch

-Klassen werden nach Erfahrung und Intuition gebildet

Zerlegung mit Hilfe von:

  • spezifierten Gültigkeitsbereichen
  • spezifizierten Sonderbehandlungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
85
Q

1.-2. Schritte der Testfallableitung mit Äkquivalenzklassenbildung

A

1. Schritt: Aufstellung von Eingabebedingungen

-Analysieren der Eingabebendingungen anhand Spezifikation mit Vor/Nachbedingung

2. Schritt: Bildung von Äquivalenzklassen

  • Zu jeder Eingabebedingung
  • Gültige Äquivalenzklassen (Normalfälle)
  • ungültige Äquivalenzklassen (Sonderfälle)

2. Schritt weiter: Wertebereich, linear

  • Spezifiziert eine Eingabebedingung einen Wertebereich(Bsp: 1 gültige ÄK – 2 ungültige ÄK)
  • Bereich 1<= Wert <= 49

gültige ÄK: 1<= Wert <= 49

ungültige ÄK: Wert <1, Wert >49

  • Hilfsmittel: Zahlenstrahl
  • Schrittweises Vorgehen: Äquivalenzklassen zu einer Bedingung

Die Klassen mit jeder weiteren Bedingung weiter zerlegen

2. Schritt weiter: Datenstruktur (Mengengerüst)

  • Wenn untere und obere Schranken angegeben (Bsp: 1 gültige ÄK – 2 ungültige ÄK)
  • Beispiel: Eine Liste enthält 1 bis 155 Elemente gültige ÄK: 1 bis 155 Elemente ungültige ÄK 0, > 155 Elemente 2. Schritt weiter: Aufzählung

Werte der Aufzählung gleich behandelt (Bsp: 1 gültige ÄK – 2 ungültige ÄK)

-Beispiel: Aufzählung (rot, gelb, grün)

gültige ÄK: (rot, gelb, grün)

ungültige ÄK: Wert nicht in {rot, gelb, grün}

Werte der Aufzählung nicht gleich behandelt (Bsp: 1 gültige ÄK – 2 ungültige ÄK)

-Beispiel: Aufzählung (rot, gelb, grün)

gültige ÄK: Wert = rot, Wert = gelb, Wert = grün

ungültige ÄK: Wert nicht in {rot, gelb, grün}

-Man sollte die Äquivalenzklasse weite runterteilen bei nicht gleich behandelt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
86
Q

Äquivalenzklassen allgemeiner (Mehrere Parameter und Vorbedingung)

A
  • Äquivalenzklassen bei mehreren Parametern int f (int x, int y)
  • wenn x < 0 und y < 0 dann f(x,y) = y
  • wenn x = 0 und y > 10 dann f(x,y) = 42
  • wenn 0 < x < 10 und y > 100 dann f(x,y) = y * y
  • Äquivalenzklassen bei Vorbedingung int f (int x, int y) Vorbedingung: x und y sollen positiv sein
  • wenn 0 < x < 10 und y < 100 dann f(x,y) = y * y
  • wenn x >= 10 dann f(x,y) = 1
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
87
Q

2.-3. Schritte der Testfallableitung mit Äkquivalenzklassenbildung

A

3. Schritt: Repräsentanten wählen

-Einen Wert aus jeder gültigen und jeder ungültigen Äquivalenzklasse auswählen (Bei mehreren das Kreuzprodukt)

4. Schritt: Testfälle definieren

-Für jede Äquivalenzklasse besteht ein Testfall aus einem Repräsentanten und dem zugehörigen Sollwert nach Spezifikation

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
88
Q

Was ist Heuristik zur Minimierung der Tests?

A
  • >Testfälle aus allen Repräsentanten kombinieren und nach Häufigkeit sortieren
  • Testfälle Reihenfolge nach Häufigkeiten priorisieren
  • Benutzungsrelevante Testfälle testen
  • Testfälle mit Grenzwerte oder Grenzwertkombination bevorzugen
  • >Paarweise Kombination von Äquivalenzklasse-Repräsentation statt vollständiger Kombination
  • >Minimalkriterium: Mindestens ein Repräsentant jeder Äquivalenzklasse in mindestens einem Testfall
  • >Repräsentanten ungültiger Äquivalenzklassen nicht mit Repräsentanten anderer ungültiger Äquivalenzklassen kombinieren
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
89
Q

Was ist das Test-Ende-Kriterium?

A
  • Test-Ende-Kriterium abhängig von durchgeführten Test der Repräsentanten der jeweiligen Äquivalenzklasse und Gesamtzahl aller Äquivalenzklassen
  • Äquivalenzklassen-Überdeckung = (Anzahl getestete Äquivalenzklasse / Gesamtzahl Äquivalenzklassen) * 100% Beispiel: 18 ÄK davon 15 getestet; ÄK-Überdeckung = (15 / 18) * 100% = 83,33%
  • Güte der Testfälle abhängig von der Aussagekraft der Spezifikation
  • Definition der Testfälle hängt nicht nur von den Eingabebedingungen ab, sondern auch Werte einer Äquivalenzklasse und Kombination ein Eingabebedingungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
90
Q

Grenzwertanalyse

A

Idee:

In Verweigungs-/Schleifenbedingung gibt es Grenzbereiche für die eine Bedingung gerade noch zutrifft oder nicht mehr

  • >Kombination mit Äquivalenzklassenbildung
  • Grenzen der Äquivalenzklasse testen
  • Jeder rand einer Äquivalenzklasse muss in Testdatenkombination vorkommen

Grenzwerte

  • Werte auf den Grenzen
  • Werte rechts und links neben den Grenzen
  • Mengenwertige Bereiche (Datenstrukturen)
  • Kleinste und größte un/gültige Zahl -Zweitkleinse und Zweitgrößte gültige Zahl
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
91
Q

Schritte der Vorgehensweise der Grenzwertanalyse?

A

1. Schritt: Repräsentanten identifizieren

  • Testendaten direkt auf oder neben den Grenzen der Äquivalenzklasse
  • Wertebereich:
  • gültige Testwerte: gültiger kleinster und größter Wert
  • ungültige Testwerte: direkt neben und außerhalb
  • Bsp: Natürliche Zahlen 1..255 (0,1,255,256)
  • Bsp: Listen maximal 100 Elemente (0,1,100,101)

2. Schritt: Sollwerte identifizieren

-Analog zu Äquivalenzklassentests

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
92
Q

Grenzwertanalyse

A
  • >Test-Ende-Kriterium
  • Grenzwert-Überdeckung = (Anzahl getestete Grenzwerte / Gesamzahl Grenzwerte) * 100%
  • Ist bei richtiger Anwendung mit am effektivsten
  • Findet am häufig Fehler
  • Kreativität bei Erstellung der Testdaten nötig
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
93
Q

Beispiel Grenzwertanalyse

Im Unternehmen Mitarbeiter erhalten ab einer Zugehörigkeit zur Firma von mehr als drei Jahren 50 % des Monatsgehalts als Weihnachtsgratifikation. Mitarbeiter, die länger als fünf Jahre in der Firma tätig sind, erhalten 75 %. Bei einer Firmenzugehörigkeit von mehr als acht Jahren wird eine Gratifikation von 100 % gewährt.

A

Logischer Testfall 1 2 3 4 5

Firmenzugehörigkeit x 0<=x<=3 38 x<0

Gratifikation in % 0 50 75 100

Gültige Grenzwerte 3 4,5 6,8 9 -1

Ungültige Grenzwerte 4 3,6 5,9 8

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
94
Q

Grenzwertanalyse - Tipps

A

Grenzen des Eingabebereiches

  • Bereich [-1.0; +1.0] (Testdaten -1.001; -1.0; +1.0; +1.001)
  • Bereich }-1.0;+1.0[ (Testdaten -1.0; -0.999; +0.999; +1.0)

Grenzen der erlaubten Anzahl von Eingabewerten

-Eingabedatei mit 1 bis 365 Sätzen (Testfälle 0,1,365,366)

Grenzen des Ausgabebereiches

-Programm errechnet Beitrag der zwischen 0.00 und 600 EUR liegt (Testdaten 0, 600, <0, >600)

Grenzen der erlaubten Anzahl von Ausgabewerten

-Ausgabe von 1 bis 4 Daten (Testdaten 0, 1, 4, 5)

Geordnete Mengen -Lineare Liste, Tabelle (Testdaten Erstes und letztes Element)

Komplexe Datenstrukturen

-Leere Liste, Null-Matrix (Testdaten leere Menge)

Bei numerischen Berechnungen

-Testdaten eng zusammen und weit auseinander liegende Werte

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
95
Q

Testfälle aus Zustandsmodellen

A
  • >Erstellen der Sequenzen für die zu durchlaufenden Pfade durch Breitensuche im Automaten (Konformanztest)
  • >Unerlaubte Pfade durch Erweitern jeder Sequenz um jeden zu empfangenden Event (Keine Rückweisung ist unerlaubter Pfad
  • Robustheitstests Ziel jeder Zustand mindestens einmal
  • jeder Übergang mindestens einmal
  • Attribute einer Klasse spannen ebenfalls einen Zustandsraum auf. Testen auf un/erlaubte Übergänge
  • Alle Aktionen in einem Automaten mind. einmal ausführen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
96
Q

Testfälle aus Automaten: Zustandsübergangsbaum

A
  • >Zustandsübergangsbaum erstellen:
  • Wurzelknoten ist Anfangszustand
  • Berechne Knoten als Folgezustände
  • Kanten markieren mit Übergangsfunktion/event
  • Zweig terminiert wenn Knoten auf dem Weg von der Wurzel schon vorhanden oder zugehöriger Zustand ist Endzustand
  • Fehlerzustände sind auch Endzustände
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
97
Q

Traversieren von Automaten (Testfälle)

A
  • Überführen eines Automaten in einen Übergangsbaum;
  • Alle Zustände müssen erreicht werden und alle Transitionen müssen berücksichtigt werden
  • Jeder zusätzliche Zustand lässt die Anzahl der Tests überproportional wachsen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
98
Q

Testfälle aus Übergangsbaum

A
  • Ein Testfall ist definiert durch Anfangszustand, Eingabefolge, erwartete Ausgaben, Endzustand
  • Für jeden Zustandsübergang: Vorzustand, auslösendes Ereignis, Reaktion, Folgezustand (Zustandsbestimmung nicht immer offensichtlich!)
  • Bei Spezifikation schon Testbarkeit prüfen: -Hohe Anzahl von Zuständen ist problematisch
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
99
Q

Tests aus Entscheidungstabelle

A
  • Nicht alles ist Ein/Ausgabe oder Zustandsautomat
  • Geschäftsprozesse basieren auf Bedingung und Aktion
  • Beim Testen alle Kombination von Bedingungen und Aktionen austesten (jede true/false Bedingung einmal)

Entscheidungstabelle
TF1 TF2 TF3 TF4 TF5
Bedingungen Bankkarte gültig? Nein Ja Ja Ja Ja
PIN korrekt? – Nein Nein Ja Ja
Dritte PIN-Eingabe? – Nein Ja – –
Geld verfügbar? – – – Nein Ja

Aktionen Karte abweisen Ja Nein Nein Nein Nein
PIN erneut anfordern Nein Ja Nein Nein Nein
Karte einbehalten Nein Nein Ja Nein Nein
Geldbetrag erneut anfordern Nein Nein Nein Ja Nein
Geld auszahlen Nein Nein Nein Nein Ja

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
100
Q

Was ist das Ziel von White-Box-Test/Glass-Box-Test/Strukturorientierter-Test?

A

Ziel

  • Möglichst umfassende Prüfung der vorhanden Strukturen
  • Nur relevante Testfälle

Strukturen als Ausgangssituation

  • Strukturen und Abdeckung zur Definition von Testende
  • Soll-Ergebnisse in der Spezifikation aber evtl nicht direkt ableitbar
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
101
Q

Was ist die White-Box Anweisungsüberdeckung?

A
  • >Testfälle so wählen, dass alle oder eine festgelegte Quote der Anweisung mindestens einmal ausgeführt werden (C0-Maß)
  • >Basiert auf Kontrollflussgraph
  • Darstellung der Kontrollstruktur einer Komponente als Graph
  • gerichtete Kanten als Beschreibung der Reihenfolge
  • Knoten sind Anweisungen -Elemente: Sequenz, Verzweigung, Schleifen, Zuweisung
  • Testdurchlauf beinhaltet: Nachweis über ausgeführte Anweisungen
  • Manchmal reicht ein Testfall
  • Test-Ende-Kriterium: Quote 100% empfohlen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
102
Q

Wie kann man die White-Box Anweisungsüberdeckung bewerten?

A

Ist eher ein schwaches Kriterium muss nicht alle Fälle abdecken

  • identifiziert potentiell unerreichbaren Code
  • erkennt leere If-Zweige nicht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
103
Q

White-Box- Zweigüberdeckung

A
  • Testfälle so wählen, dass alle Zweige mindestens einmal ausgeführt werden (C1 - Maß)
  • Basiert auf Kontrollflussgraphen (s.o): Zweig entspricht Kante
  • Bei Bedingungen die Auswertung zu false/true
  • alle Case-Fälle
  • Schleifen ohne Durchlauf, Durchlauf und Wiederholung
  • Unzureichend für Objektorientierung
  • Nachweis welche Bedingungen und Anweisungen ausgeführt wurden
  • Berücksichtigung von leeren If-Zweigen
  • Test-Ende-Kritierium über Quote; empfohlen 100%
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
104
Q

Aufgabe: Anweisungsüberdeckung am Beispiel Konkretes Beispiel: Primfaktorberechnung Abstraktes Beispiel 1 IF B1 { B1: x > 0 S11;} S11: x = x -1 ELSE IF B2 { B2: x > -100 S21;} S21: x = 0 ELSE { S31;}; S31: x = 42 S4; S4: println (x)  Abstraktes Beispiel 2 IF B1 { B1: x > 0 S11;}; S11: x = x -1 IF B2 { B2: x > -100 S21;} S21: x = 0 ELSE { S31;}; S31: x = 42 S4; S4: println (x) Wieviele Testfälle für 100% Anweisungsüberdeckung

A

TODO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
105
Q

White-Box: Pfadüberdeckung

A
  • Testfälle so wählen, dass alle Pfade inkl. Schleifen/Wiederholungen ausgeführt werden
  • Beinhaltet die Kombination aller Pfade durch jeweilige Basisblöcke des Programms (Abhängigkeiten zwischen Pfaden berücksichtigen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
106
Q

White-Box: Pfadüberdeckung

A
  • Testfälle so wählen, dass alle Pfade inkl. Schleifen/Wiederholungen ausgeführt werden
  • Beinhaltet die Kombination aller Pfade durch jeweilige Basisblöcke des Programms (Abhängigkeiten zwischen Pfaden berücksichtigen)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
107
Q

Aufgabe: Zweigüberdeckung am Beispiel Konkretes Beispiel: Primfaktorberechnung  Abstraktes Beispiel 1 IF B1 { B1: x > 0 S11;} S11: x = x -1 ELSE IF B2 { B2: x > -100 S21;} S21: x = 0 ELSE { S31;}; S31: x = 42 S4; S4: println (x)  Abstraktes Beispiel 2 IF B1 { B1: x > 0 S11;}; S11: x = x -1 IF B2 { B2: x > -100 S21;} S21: x = 0 ELSE { S31;}; S31: x = 42 S4; S4: println (x) Wieviele Testfälle für 100% Zweigüberdeckung?

A

TODO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
108
Q

White-Box konkrete Testfälle

A
  • >Frage: Wenn man weiß welche Zweige, Pfade man abdecken will woher kommen die Testfälle?
  • Wie legt man Eingabedaten fest?
  • Wie legt man Sollverhalten fest?
  • >Auswahl von Eingabedaten
  • Repräsentation und ihre Kombinationen
  • Analog zu Äquivalenzklassen
  • Basierend auf Bedingungen und ihren Abhängigkeiten
  • >Solltewerte
  • Abgeleitet aus übergeordneter Spezifikation
  • Auf Basis von Standardanforderungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
109
Q

White-Box Allgemeine Bewertung(Pro/Con)

A
  • Grundprinzip: Basis ist der Programmtext (Komplexität bestimmt Aufwand) Vorteile:
  • Geeignet für untere Testebenen (Komponententest)
  • Guter Support durch Werkzeuge für Testfallgenerierung und Testreporting Nachteile:
  • Nicht umgesetzte Anteile der Spezifikation werden nicht erkannt
  • Instrumentierter Code (um Überdeckung zu messen) verhält sich anders als Code alleine (Zeitmessung)
  • >Empfehlung: Minimum Zweigüberdeckung!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
110
Q

Welche anderen Verfahren gibt es neben dem White-/Black-Box-Testing noch?

A

Blackbox:

  • Anwendungsfallbasiertes Testen
  • Syntaxtesten -Zufalltesten

Whitebox:

  • Bedingungsüberdeckung (If/While konkret analysieren)
  • Datenflussbasierte Verfahren Intuitives und erfahrungsbasiertes Testen:
  • Error-Guessing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
111
Q

Beispielaufgabe eines Glass-Box-Test procedure BerechneBonus (saldo, sparRate, integer, bonus: in out Integer) is begin if (saldo > 1000) and (sparRate > 100) then bonus := bonus *5; end; if (saldo >5000) or (bonus > 50) then bonus := bonus * 2; end if; end BerechneBonus; Definieren Sie Testfälle für a) Anweisungsüberdeckung b) Zweigüberdeckung

A

a) Saldo 5001; SparRate 101; Bonus 51

(Jedes If ueber 1 Tests) (1 Testfall!)

b) Saldo 500; SparRate 50; Bonus 9 (If 1)

Saldo 4000; SparRate 150; Bonus 20

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
112
Q

Testdurchführung wo im Kanban? Wer führt Komponenten, Integrationstest durch?

A
  • Architektur spezifiziert die Komponententests
  • Komponententest wird durch den Entwickler der Komponente durchgeführt (Done nur bei Erfolg)
  • Integrationstest bei Abnahme durch Entwickler/Test-Team
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
113
Q

Was sind Test-Doubles/Mocks?

A
  • Werden genutzt beim isolierten Testen von Systemteilen (Klassen, Komponenten)
  • Abhängige Teile sind oft noch nicht entwickelt
  • Erspart parallele Entwicklung
  • Trotzdem kann sichergestellt werden, dass ein Teil funktioniert, da man Test Doubles nutzt
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
114
Q

Welche Arten von Doubles gibt es?

A
  • Dummys: (Werden nie benutzt, füllen nur Parameterlisten)
  • Fake Objects: (Läuffähige implementierung, sehr schlicht gehalten, nie für Produktion)
  • Stubs: (Liefern vorgefertigte Ergebnisse für Testaufrufe. Können Infos über Aufruf speichern
  • Mocks: (Vorkonfigurierte Objekte mit Spezifikation der erwarteten Aufrufe und deren Ergebnisse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
115
Q

Lässt sich eine stark gekoppelte Architektur einfach mocken?

A

-Nein, da sie stark gekoppelt ist

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
116
Q

Was ist ein Framework zur einfachen Erstellung von Java-Mockup Objekten?

A

-Mockito

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
117
Q

Wie kann man sehen, ob eine Testüberdeckung erreicht ist?

A

-Durch die Test-Suite Eclemma, als Tool für Testüberdeckungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
118
Q

Was sind typische Überdeckungswerte beim Testen?

A
  • Gut sind 80-90%
  • Unrealistisch 100%
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
119
Q

Was ist ein Regressionstest

A

-Eine selektive Wiederholung bestehender Tests, um zu prüfen, dass Code-Modifikationen keine Effekte auf das System hatte.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
120
Q

Wie können Testfällen beschrieben werden?

A

Strukturierte Beschreibung von Testfällen (Hier Abnahmetest aus SpezifikationsDokument)

Name TF-31: Änderung der Telefonnummer eines Kunden

Beschreibung Die Telefonnummer eines bestehenden Kunden soll geändert werden.

Voraussetzungen Die Stammdaten für den Kunden „testuser“ existieren. Die bisherige Telefonnummer lautet „0000-0000“.

Eingabe Der Benutzer ändert im Dialog „Profildaten ändern“ die Telefonnummer auf den neuen Wert „1234-5678“.

Ausgabe Das System meldet, dass die Änderung erfolgreich war.

Verifizierung Nach der Änderung werden die Kundendaten erneut ausgelesen und die gelesene Telefonnummer mit dem erwarteten Wert verglichen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
121
Q

Was ist lautet die Test-Pyramide?

A
  • Unten als breite Basis automatisierte Unit-Tests
  • Darüber automatisierte Komponenten, Integrationstests
  • Darüber automatisierte GUI Tests
  • An der Spitze der Pyramide wenige Tests per Hand

(Viele Dinge sind aber nicht automatisiertbar testbar, wie Benutzerfreundlichkeit oder Funktionen mit Nachbarsystemen)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
122
Q

Was ist das Eistüte Antipattern?

A
  • Eine Darstellung über das Vorgehen im Testing, in der erst viel per Hand getestet wird und danach automatisiert getestet wird
  • Dieses Verfahren ist ineffektiv und schlecht
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
123
Q

Was sind Begriffe von Nichtmechanischer Prüfung und was bedeuten sie?

A

Review

  • Prüfung eines Dokuments, Zeichnung, Programmes durch Gutachter unter Vorgaben
  • Ziel Fehler und Schwächen zeigen
  • Positive Merkmale hervorheben

Inspektion

-Systematisches Review Punkt für Punkt auf Stärken und Schwächen

Walktrough

-Ein Review bei dem ein Autor Schritt für Schritt die Funktionsweise beschreibt und Zuhörer nur bei Mängeln einhaken

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
124
Q

Was sind Begriffe die bei einem Review genutzt werden?

A

Prüfling ist ein in sich abgeschlossener für Menschen lesbarer Teil von Software (Dokument, Code, Datenmodul)

Referenzunterlagen (Subjektivität herausnehmen)

-Spezifikation, Richtlinien, Fragenkataloge

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
125
Q

Was sind die Rollen bei einem Review?

A

Manager/PL = (Nimmt nicht am Review teil) ist verantwortlich für Prüfung und Freigabe

Autor = (passive Rolle für Rückfragen) Urheber des Prüflings

Moderator = Leiter des Reviews

Gutachter = Kann Prüfling beurteilen

Protokollant = Protokolliert -Review-Team = Alle Teilnehmer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
126
Q

Wie ist der Ablauf bei einem Review?

A
  • Planung
  • 2 Wochen Vorbereitung (Initiierung)
  • 2 Stunden Sitzung (Keine Diskussion nur Aufnahme der Mängel)
  • 1 Stunde “Dritte Stunde”
  • 2 Wochen Nacharbeitung (Danach Freigabe)
  • Analyse
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
127
Q

Was geschieht beim Review in der Phase Planung?

A
  • Festlegung des Review
  • Teams
  • Einplanung entsprechender Zeit für Reviews
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
128
Q

Was geschieht beim Review in der Phase Initiierung?

A
  • Moderator versorgt Gutachter mit erforderlichen Informationen (Schriftliche Einladung/Einführungssitzung)
  • Wichtig (Unabhängige Beurteilung, Jeder Gutachter kann mehr als ein Aspekt haben, jeder Aspekt muss von mind. zwei Gutachtern bearbeitet werden)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
129
Q

Was geschieht beim Review in der Phase Initiierung?

A
  • Moderator versorgt Gutachter mit erforderlichen Informationen (Schriftliche Einladung/Einführungssitzung)
  • Wichtig (Unabhängige Beurteilung, Jeder Gutachter kann mehr als ein Aspekt haben, jeder Aspekt muss von mind. zwei Gutachtern bearbeitet werden)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
130
Q

Was geschieht beim Review in der Phase Vorbereitung?

A

-Gutachter betrachten den Prüfling um Mängelliste zu erstellen(anhandFragenkatalog/Checkliste)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
131
Q

Was geschieht beim Review in der Phase Vorbereitung?

A
  • Gutachter betrachten den Prüfling um Mängelliste zu erstellen(anhandFragenkatalog/Checkliste)
  • Moderator muss sicherstellen, dass Gutachter alle Rahmenbedingungen (Zeit, Unterlagen) hat um Aufgabe zu erledigen
  • Fragenkataloge (Ja/Nein Fragen auf Grundlage von Erfahrung mit präziser Fragenstellung)
  • Verschiedene Typen von Fragenkatalogen für Dokumente/Code (Projekt- und Dokumentenspezifischer Fragenkatalog)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
132
Q

Wie sieht eine Checkliste/Fragenkatalog für ein Review beispielweise aus?

A

“Sind alle wesentlichen Begriffe in den Anforderungen klar definiert?”

“Kann man für jede Anforderungen zweifelsfrei festellen ob sie im fertigen System erfüllt ist oder nicht?”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
133
Q

Was geschieht beim Review in der Phase Sitzung?

A
  • Nach Regeln geleitet durch Moderator
  • Abschnittsweise behandeln des Prüflings durch jeden Gutachter, die über Mängel präzise berichten
  • Protokollant protokolliert Befunde
  • Autor hat passive Rolle (soll sich nicht verteidigen müssen)
  • Moderator will Konsens erreichen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
134
Q

Was geschieht beim Review in der Phase Sitzung?

A
  • Nach Regeln geleitet durch Moderator
  • Abschnittsweise behandeln des Prüflings durch jeden Gutachter, die über Mängel präzise berichten
  • Protokollant protokolliert Befunde
  • Autor hat passive Rolle (soll sich nicht verteidigen müssen)
  • Moderator will Konsens erreichen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
135
Q

Was geschieht beim Review in der Phase “Dritte Stunde”?

A
  • Optionale Sitzung mit Kaffee und Kuchen
  • Man kann noch über Lösungen diskutieren
  • Nacharbeit für Moderator -> Entscheidungen anhand Review-Bericht treffen
  • Autor muss evt. Prüfling bearbeiten
  • Überarbeiteter Prüfling muss geprüft werden bei kleinen Mängel Kontrolle durch Moderator, ansonsten erneutes Review
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
136
Q

Was geschieht beim Review in der Phase “Analyse”?

A
  • Kurzfristiger Nutzen durch Schulung der Mitglieder des Teams
  • Langfristiger Nutzen durch systematische Auswertung der Resultate
  • Welchen Einfluss haben Parameter?
  • Einfluss von früher erkannten Problemen?
  • Analyse der Wirksamkeit von Änderungen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
137
Q

Was sind die Stärken und Schwächen eines Reviews?

A

Stärken: -Können früh im Entwicklungsprozess durchgeführt werden

  • Alle Entwicklungsprozesse prüfbar (Mehr als Code!)
  • Selbsteinschätzung der Entwickler nähert sich Realität an
  • Hohe Wirksamkeit Schwächen: -Gekaufte Software nur teilweise für Reviews zugänglich
  • Der Autor darf nie zum Angeklagten werden!!!
  • Es können Streitigkeiten entstehen -Sind nicht billig (15% des Arbeitsaufwands)
138
Q

Was bedeutet Inspektion/Code-Inspektion genau?

A
  • Das Zeile für Zeile Durcharbeiten eines Einzelergebnisses
  • Hat informellen Charakter (Nicht moderiert)
  • Oft für Begutachtung von Code genutzt und fertigen Ergebnissen genutzt
139
Q

Was bedeutet Walkthrough genau?

A
  • Ein Walkthrough spielt durch Beispiele und Testfälle die Funktionalität durch
  • Eignen sich sehr zur Ausbildung von Mitarbeitern und Kommunikation wg. Diskussionen
  • Oft für Begutachtung von technischen Konzepten und Spezifikation genutzt
140
Q

Was ist die Bewertung und Verbesserung von Prozessen und welche Arten gibt es bei Software dafür?

A
  • Großer Einfluss auf Produktivität und Qualität der Produkte
  • Keine Garantie für gute Entwicklung
  • Entwicklungsprozess sollte einheitlich organisiert und durchgeführt sein
  • Sprachen, Methoden, Werkzeuge müssen Tätigkeit unterstützen
  • Mitarbeiter müssen entsprechend des Prozesses/Werkzeug ausgebildet sein
  • CMMI
  • SPICE
  • ISO-9000 (Nicht Software only)
141
Q

Wofür steht “Prozessbewertung CMMI”?

A
  • Steht für Capability Maturity Model Integrated (1997)
  • Zur Durchführung von Prozessbewertung
142
Q

Was ist das Ziel von “Prozessbewertung CMMI”?

A
  • Das Sichtbarmachen der Schwächen des Prozesses durch Checklisten
  • Bewertung neutral ggü. der Technik(Objektorientierung)
  • Besteht auf Stufen, die untere jeweils vorraussetzt
  • Hohe Prozessreife -Prozesse besser beschrieben/geplant/gesteuert,
  • Kennzahlen vorhanden
  • Termine/Kosten/Qualität kann prognostiziert werden)
  • CMMI definiert 22 Prozessbereiche mit Zielen der Strukturierung
  • Requirements Management (REQM)
  • Project Planing (PP)
  • Organizational Training (OT)
  • Causal Analysis and Resolution (CAR)
143
Q

Aus welchen Stufen besteht die “Prozessbewertung CMMI”?

A

Stufe 1: initial

  • Prozess nicht bewusst gestaltet sondern zufällig
  • Überschreitung Kosten, Termine -Erfolg nicht planbar, Mitarbeiterabhängig

Stufe 2: managed

  • Vorgaben für Bereiche (Anforderung QS, PM)
  • Kein definierter Software
  • Prozess
  • Jedes Projekt folgt einem eigenen Prozess

Stufe 3: defined

  • Alle Projekte einer Organisation folgen einem einheitlichen Schema
  • Definition Standardprozess
  • Freiheiten für Projekte

Stufe 4: quanitatevly managed

-Einführung von Metriken zur Erkennung von Problemen

Stufe 5: optimizing

  • Stetige technische und organisatorische Verbesserung der Prozesse
  • Anpassung Randbedingungen
  • Systematische Analyse von Fehlern und Problemen
144
Q

Wie ist der Ablauf eines Meetings?

A
  • Dokument für nächstes Meeting erstellen (Wer nimmt wo wann teil?)
  • Beginn mit kurzer Absprache wer was gemacht hat
  • Prüfung welche Issues noch offen/beendet sind
  • Ausarbeitung Agendapunkte und protokollierung
  • Abschließene Klärung wer wird was machen
  • Nächsten Termin festlegen; Protokoll veröffentlichen
145
Q

Eigenschaften von Meetings im Projekt?

A
  • Sind unverzichtbar im Projekt
  • Ergebnisse erarbeiten
  • Können nicht durch Remote(Video,Skype) ersetzt werden
  • Meetings Kostenfalle
  • Nutzen aus Meetings ziehen!
146
Q

Wie geht man bei Meetings schrittweise vor?

A
  • Richtige Leute einladen (nur benötigte)
  • Agenda erstellen und mind. einen Tag vorher verteilen (Vorbereitung für Teilnehmer, Einladungsannahme/Ablehnung)
  • Meeting muss pünktlich beginnen (Telefone aus, Keine Unterbrechung)
  • Sitzung ohne Protokoll hat nicht stattgefunden
147
Q

Eigenschaften von Protokollen im Projekt?

A
  • Protokolle beleben objektiv die Ergebnisse eines Meetings
  • Keine Last, sondern Werkzeug und Ergebnis
  • Müssen sofort erledigt werden
  • Immer transparent erwähnen was ins Protokoll aufgenommen wird (Spart Konflikte)
  • Evtl. Action-Item-Protokoll benutzen
148
Q

Was ist das Ziel und der Nutzen von Action-Item-Protokollen?

A

-Es sollen echte Ergebnisse produziert werden, also Aufforderungen, Beschlüssel, Empfehlungen und Feststellungen

Vorteile:

  • Tatsächliche Ergebnisse festhalten
  • Unterstützt Moderator produktiv zu sein
  • Ermöglicht einfache Kontrolle von vorherigen Ergebnissen
149
Q

Woraus besteht das Action-Item-Protokoll?

A

Aufforderung (Action):

  • Umfang begrenzt für Einzelnen
  • Zustimmung des Einzelnen -Dauer und Kosten abschätzbar
  • Endtermin klar

Beschluss:

  • Für alle verbindlich
  • Einigung der Beteiligten vorrausgesetzt

Empfehlung:

  • Wenn einzelner nicht anwesend oder keine Einigung
  • Einseitig aussprechbar
  • nicht verpflichtend

Feststellung:

  • Sachverhalt und persönliche Sichtweise
  • Einseitig aussprechbar auch ohne Einigung
  • nicht verpflichtend
150
Q

Was muss man Einhalten beim Nutzen des Action-Item-Protokolls?

A
  • Alle Ergebnisse sofort und öffentlich festhalten
  • Alle Ergebnisse werden immer fortlaufend nummeriert
  • Zu jedem Ergebnis ein Konsens (Kategorie, Wer?, realistisch?)
151
Q

Wie sah unser Beispiel eines Action-Item-Protokolls aus?

A

-HIER BILD EINFÜGEN

152
Q

Was sind Bestandteile auf einem Action-Item-Protokoll?

A
  • Teilnehmer und Abwesende
  • Kontakt des PL
  • Fortlaufende Nummerierung der Inhalte
  • Beschreibungen in Stichworten und Test
  • Terminierung bis wann etwas zu erledigen ist
  • Aktion, Beschluss, Empfehlung, Feststellung
  • Wen es betrifft
  • Festlegung nächster Termin
153
Q

Goldenen Regeln bei Meetings (70er Jahre Zettel)?

A
  • Zuhören und ausreden lassen
  • Einen Beitrag straffen
  • Beim Thema bleiben
  • Nur sachdienliche Beiträge bringen und dulden
  • Bei Gegensätzen die Form wahren
154
Q

Was ist die Definition von Risikomanagement?

A

-Kenntnis und Anwendung professioneller Technicken, um Risiken zu entdecken, analysieren und beseitigen/beherrschen

155
Q

Was ist ein Risiko?

A
  • Risiko ist ein unsicheres Ereignis mit negativer Auswirkung
  • Auch eine Chance, da ohne Risiko kein Geschäftserfolg und kein Projekt -Früher um Klippe fahren ein Risiko -> Fracht auf viele Schiffe verteilen

Oft nicht greifbar aber ahnbar

-Eintrittswarscheinlichkeit x Auswirkung

156
Q

Was ist der Unterschied zwischen einem Problem und einem Risiko?

A
  • Ein Problem erschwert/verhindert Durchführung
  • Ein Risiko erschafft mit einer Wahrscheinlichkeit ein Problem (Potentielles Problem)
157
Q

Was ist das Risikomanagement?

A
  • Ziel ein potenzielles Problem zu finden bevor es auftritt
  • Kontinuierlich im Projekt auszuführen
  • Ziel Risiken zu kontrollieren, nicht zu vermeiden
  • Zusätzlicher Aufwand der geplant sein muss
158
Q

Was sind die Vorteile von Risikomanagement?

A
  • Verbessert Qualität und Vorhersehbarkeit
  • Entkriminalisiert Risiken
  • Proaktives Handeln
159
Q

Wie läuft der Prozess des Risikomanagements ab?

A
  • Identifizieren
  • Bewerten
  • Abschächen
  • Verfolgen

.. -VON VORNE

160
Q

Was geschieht im Schritt 1 “Risiken identifizieren” des Prozesses des Risikomanagements?

A
  • Risiken müssen systematisch identifiziert werden
  • Risiken in Risikoarten einteilen
  • Über Risiken sprechen
  • Oft wiederholen sich gleiche Risiken, daher auf die wichtigsten konzentrieren (Standardrisiken)
161
Q

Was für Risikoarten gibt es?

A
  • Technische Risiken (Neue Technik, Externe, Patente)
  • Implementierungsrisiken (schlechter Entwurf, Anforderung unerfüllbar)
  • Wirschaftliche Risiken (Ressourcen nicht verfügbar, Cash-Flow zu gering) -industrielle Risiken (Lieferantenausfall, Preisänderung)
  • Geschäftsrisiken (bessere Wettbewerber, schlechte Marktforschung)
  • Operative Risiken (Kurzfristige! Unsicherheit, Zeitrahmen,Kosten)
  • Strategische Risiken (Langfristige! Auswirkungen die eine Gefahr werden)
162
Q

Welche Techniken zur Risikoidentifizierung werden im Schritt 1 “Risiken identifizieren” des Prozesses des Risikomanagements genutzt?

A
  • Brainstorming (Nie alleine) -Bedrohungsszenario (“Was wäre wenn?”)
  • SWOT-Analyse (Strenghts, Weaknesses, Oppurtunities, Threats) Wurde das richtige Produkt entwickelt?
  • Frühere Probleme/Erfahrungen
  • Interviews
  • Checklisten
163
Q

Was sind Standardrisiken in der Softwareentwicklung?

A
  • Falsche Funktionen werden entwickelt (Klar Ziele, Verschiedene Interessen, Anforderung in Benutzersprache)
  • Falsche Benutzerschnittstelle (Bedürfnisse erkannt?, Nutzbarkeit?, Sprachen?)
  • Over-Engineering (Unnötige Funktionen, Wirtschaftlichkeit?, Nutzen?)
  • Ständige Änderung an Anforderungen
  • Unzureichende Qualität externer Komponenten (Werden Komponenten abgenommen? Versionierung?)
  • Lieferantenverzug (Alle Lieferanten bekannt?)
  • Unzureichende Performance (Wie modelliert?, Zeitvorageben? Test?, Backups?)
  • Unzureichende Ressourcen (Fähigkeiten, Zahl, Verfügbarkeit Mitarbeiter, Störungen)
  • Unrealistische Zeit/Budgetplanung (Termine ohne Prüfung/Analyse, Budget für Wartung)
164
Q

Wie kann man ein Risiko korrekt aufnehmen?

A

-Tabellarisch durch Risikoliste

Inhalt Beschreibung Beispiel

Identifikation Name KiKa_2009_Risk_1

Beschreibung Wie passiert? Tests nicht verfügbar

Folgen Was passiert? Verzögerung Projekt Eintrittswahrscheinlichkeit %? hoch

Auswirkungen Kosten, Verzögerung? hoch

Priorität % und Auswirkung 1..9

Maßnahmen Abschwächen Backup ab 2000

Status Statusklasse offen

Verfolgung Zeitplan gefunden am 07.07 durch Max

165
Q

Was ist beim Pflegen der Risikoliste wichtig?

A
  • Risikoliste laufend aktualisieren!
  • Verantwortlichen benennen (PL, QS-Manager)
  • Risiken sind von allen Beteiligten zu erfassen
166
Q

Was geschieht im Schritt 2 “Risiken bewerten” des Prozesses des Risikomanagements?

A

-Risiken in Klassifikationen aufteilen

Wert = Eintrittswahrscheinlichkeit x Auswirkungen

1 (gering)

Es ist wenig wahrscheinlich, dass das Risiko eintritt. Der Schaden wird kaum merklich sein:

  • Geringe Einschränkung der Leistungen
  • Geringe Zeitverzögerung
  • Geringe Überschreitung der Kosten

2 (mittel)

Es wäre nicht überraschend, wenn das Risiko eintritt. Der Schaden ist beträchtlich:

  • Merkliche Einschränkung der Leistung
  • Merkliche Zeitverzögerung
  • Merkliche Überschreitung der Kosten

3 (hoch)

Es ist damit zu rechnen, dass das Risiko eintritt. Der Schade ist groß:

  • Zentrale Funktionen sind betroffen
  • Lange Zeitverzögerung
  • Starke Überschreitung der Kosten
167
Q

Was geschieht im Schritt 3 “Risiken abschwächen” des Prozesses des Risikomanagements?

A
  • Risiken abschwächen durch:
  • Vermeidung
  • Reduktion/Optimierung (Wahrscheinlichkeit oder Auswirkung minimieren) -Abwälzen auf Dritte
  • Ignorieren
168
Q

Häufige Beispiele für Risiken und Maßnahmen des Risikomanagements?

A

Zu Wenig gute Leute

-> Gute Leute einstellen, Arbeitsklima verbessern

Schlechte Kosten/Zeitpläne

-> Aufwandsschätzung, Anforderung reduzieren

Falsche Funktionalität

-> Spezifikation, Prototypen, Kunden beteiligen

169
Q

Was geschieht im Schritt 4 “Risiken verfolgen” des Prozesses des Risikomanagements?

A
  • Nur aktiv und regelmäßig verfolgte Risiken verlieren an Gefahr
  • Wirkt die Abschwächung?
  • Risiken noch relevant?
  • Schon Problem geworden oder neue entstanden?
  • Top-Ten Liste der höchsten Risiken erstellen
  • Ziel ist es mit den Risiken umzugehen!
170
Q

Was ist das Change Management im allgemeinen?

A
  • Umgang mit geänderten Anforderungen
  • Unterkategorie von Konfigurationsverwaltung
171
Q

Was ist Konfigurationsverwaltung?

A
  • Ermöglicht die geordnete Zusammenarbeit im Team
  • Technische und organisatorische Vorkehrung
  • Oft unterschätzt
172
Q

Überblick Konfigurationsmanagement

A
  • Versionsmanagement (Wer hat wann was geändert?)
  • Changemanagement (Warum geändert?)
  • Buildmanagement (Wie verarbeiten Abhängigkeiten?)
  • Relesemanagement (Was wird ausgeliefert, was produziert?)
173
Q

Welche Rollen gibt es in der Konfigurationsverwaltung?

A
  • Projektmanager (PM)
  • Entwickler
  • Buildmanager (BM)
  • Releasemanager (RM)
  • Changerequestmanger (CM)
174
Q

Aus welchen Aufgaben besteht das Change Management genau?

A
  • Systematische Verwaltung von Änderungen
  • Software korrigieren, neue Anforderungen, Fehler einordnen
  • Administrativ und finanziell bedeutend!
  • Fehler sind zu beheben -> Kosten sind Fehlerkosten
  • Neue Anforderungen -> Änderungskosten die berechnet werden
  • Software neuorganisieren, neu dokumentieren, wartbarkeit erhalten -> Rücklagekosten
175
Q

Was ist eine Change-Management Meldung und wann braucht man es?

A
  • Jede Änderung beginnt mit Problemmeldung
  • Änderungsantrag CR ist Sonderfall für Änderungs/Erweiterungswunsch
  • Vorlagen zur Erfassung von Problemen/Änderungen nötig
  • Change-Management ist bei Wasserfall besonders nötig
176
Q

Was beinhaltet eine Change-Management Meldung?

A
  • Problemklärung (Worum geht es?)
  • Klassifikation (Irrtum, Fehlermeldung, Änderung)
177
Q

Welche Meldungsklassifikationen gibt es im Change-Management?

A
  • Irrtum (System falsch bedient, falsches erwartet)
  • Fehler (Wann und ob Fehler beheben?)
  • Änderung (Vorteile, Kosten, Risiken!)
178
Q

Wie wird ein Prozess zur Behandlung von Problemmeldungen genannt?

A
  • SPR (sehr schwergängig, aber wenig alternativen) Es entspricht ungefähr einem CR
  • CCB (Change Control Board)
179
Q

Was macht das Fehlermangement?

A
  • Analyse der gemeldeten Fehler
  • Rückmeldung für den Anwender
  • Klassifikation der Fehler (1-3 sind Bugs)
  • 1 Mangel an Dokumentation
  • 2 leichte Fehler
  • 3 schwere Fehler
  • 4 Fehler mit Zerstörung des Nutzens der Software
  • Klasse 1-3 Fehler einplanen; Klasse 4 sofort bearbeiten
180
Q

Welche Prozessmodelle gibt es?

A
  • Code & Fix
  • Wasserfallmodell
  • Prototyping
  • V-Modell
  • Rational Unified Process
  • Agile(Scrum, XP)
181
Q

Was sind die Vor und Nachteile des Prozesmodelles Code & Fix?

A

Vorteile:

  • Schnell vorankommen/Produkt
  • Tätigkeiten (Code/Test) einfach gehalten

Nachteile:

  • Projekt nicht planbar, keine Qualitätsentscheidung
  • Fehlerbehebung führt zu Umstrukturierung
  • Benutzer kann Software ablehnen, da nicht zusammen abgesprochen
  • Fehler schwer zu finden

-> Code & Fix sabotiert Qualität

182
Q

Was sind die Vor und Nachteile des Prozessmodelles Wasserfallmodell?

A

Besteht aus:

  • Lastenheft, Pflichtenheft
  • Systemenwurf
  • Code

Vorteile:

  • Geht sehr schnell an die Entwicklung
  • Bei abschätzbaren komplett klaren Entwicklungen effektiv

Nachteile:

  • Kein weiterer Kundenkontakt
  • Sehr schlecht für komplexe Systeme
  • Terminverzögerungen
  • Bigbang-Programmeinführung
183
Q

Aufwandsverteil und Kostenentstehung von Fehlern

A
  • Frühe Kosten sind die schlimmsten, da sie noch weiter steigen werden
  • Hoher Aufwand diese zu beseitigen
184
Q

Wie ist das Prozessmodelles V-Modell aufgebaut?

A
  • Nach Boehm
  • Ziel ist es das Wasserfallmodell und Qualitätssicherung zu integrieren anhand von Entwicklung und Verifikation
185
Q

Wie ist das Prozessmodelles Protyping aufgebaut?

A

Horizontaler Prototyp

-Realisiert Funktion einer Systemebene vollständig

Vertikaler Prototyp

  • Realisiert ausgewählte Teile des Systems durch alle Ebenen Ebenen
  • Gui, Anwendungskern/Logik, Persistenz
186
Q

Was sind die Vor und Nachteile des Prozessmodelles Prototyping?

A

Vorteile:

  • Reduktion Entwicklungsrisiko
  • Benutzer
  • Auftragsgeber Kommunikation
  • Schnell, da Qualität nicht wichtig

Nachteile:

  • Zusätzlicher Aufwand
  • Beschränkung und Grenzen unbekannt
  • Protyp darf nicht für Vorversion des endgültigen Produktes gehalten werden
187
Q

Was ist das Prozessmodell Spiralmodell (Nach Boehm)?

A
  • Generisches Modell einer Projektfortschrittes, welches in einer Spirale auftritt
    1. Ziele, Alternativen
    2. Risikoanalyse
    3. Entwickeln, Prüfen
    4. Planung der nächsten Phase
188
Q

Was sind die Vor und Nachteile des Prozessmodelles Spiralmodell?

A

Vorteile:

  • Flexibel, Modell nicht für ganze Entwicklung festgelegt
  • Fehler und schlechte Alternativen werden durch Risikoanalyse beseitigt Nachteile:
  • Keine genaue Planung, sondern Etappenweise
189
Q

Was ist das Prozessmodell Unified Proccess (UP) / Rational Unified Process (RUP) ?

A
  • Gibt Rollen/Aufgaben/Artefakte für Entwicklung vor
  • Angepasst für Objektorientierte Software
  • RUP ist konkrete Ausprägung von UP
  • Bietet Tools an, enthält Templates für Dokumente
190
Q

Was sind die Eigenschaften von des Prozessmodells Unified Process (UP)?

A
  • Besteht auf 4 Phasen mit jeweils einem Milestone
  • Entwicklung ist iterativ und inkrementell
  • Eine Phase kann aus Iterationen bestehen
  • Jede Iteration ein MiniWasserfall
  • Jede Iteration ausführbar
  • Bietet Flexibilität gegenüber Änderungen und reduziert Risiken
  • Anwendungsfallbasiert (Beschreiben Anforderung)
  • Architekturzentriert (Basis für Entwicklung)
191
Q

Wie sieht der Prozessüberblick über die Phasen beim Prozessmodell UP/RUP aus?

A
  • Iterativer Ansatz
  • Anfangs viel gegen Ende weniger
  • Start,Architektur,Coaching,Zum Kunde
192
Q

Welche Phasen gibt es in dem Prozessmodell UP/RUP?

A

Inception

-Projektfokus finden MS: Wie soll das Projekt durchgeführt werden?

Elaboration

  • Anforderungen finden
  • Architektur, Prototyp MS: Lebenszyklus-Architektur

Construction

  • Implementation auf Basis Architektur
  • Integration/Test
  • Dokumentation MS: Beta Version; Stabil genug?

Transition

  • Alle Dokumente/Systeme verbessern durch Rückmeldungen
  • Deployment/Datenbank MS: Product Release; Ist der Nutzer zufrieden?
193
Q

Was sind die Vor und Nachteile des Prozessmodelles Rational Unified Process (RUP)?

A

Vorraussetzung

  • Kenntisse Objektorientiere Programmierung
  • Mangement-Fhigkeiten (Iterationen planen etc) Vorteile
  • Gute Darstellung in HTML
  • Gute Details Nachteile
  • Schwierige Anpassung an Ereignisse
  • Softwareentwicklung ist von Projekt zu Projekt unterschiedlich; Algorithmische Lösungen gibt es nicht
194
Q

Was sind die Aufgaben im ProjektControlling?

A
  • Fortschritte beobachten
  • Maßnahmen ergreifen, wenn es in die falsche Richtung geht
  • Festhalten der Vorgaben und Erwartungen (Soll)
  • Erfassen und Bewerten was im Projekt erreicht wird (Ist)
  • Vergleich der Erwartungen und Bewertung (Soll-Ist-Vergleich)
  • Konsequenzen ziehen
195
Q

Was für Stufen gibt es im ProjektControlling?

A

Auftraggeber (Externes Controlling)

-Beim Erreichen von Milestones -Qualität, Risiken, Ziele

Projekteigentümer (Internes Controlling)

  • Monatlich Controlling
  • Kosten, Risiken, Ziele

Projektleiter (Steuerung innerhalb Projekt)

  • Wöchentlich Controlling
  • Stand, Qualität, Probleme, Restaufwand

Projektteam

196
Q

Was sind die Aufgaben des ProjektLeiters in der Projektdurchführung im Controlling?

A
  • Erfassen des Ist-Zustandes durch den PL der sich Restaufwände (RA) wöchentlich holt
  • Restaufwand wird eingetragen in den Projektplan und ändert diesen
  • Entscheidung über Änderung von Soll/Ist
  • In SCRUM - Daily Standup
197
Q

Was hat es mit Arbeitspaketen in der Projektdurchführung im Controlling auf sich?

A
  • Arbeitspakete stehen im MIttelpunkt
  • Mitarbeitern ordnen Arbeitsstunden in Arbeitspakete
  • Abweichung entsteht sobald Schätzung falsch, Arbeit ineffizient, Aufgabe abgewichen
  • Freies Berichten ist zu vermeiden, da das 90% Syndrom auftreten kann. (Am Anfang leicht und viel berichten, bei schwerem kein Durchblick nichts berichten)
  • Den Grad wie weit etwas fertiggestellt ist kann man schwer messen, falls noch schwerere Aufgaben übrig sind
198
Q

Wie wird der Fertigungsgrad beim Projektcontrolling am besten gemessen?

A
  • Nicht über IstAufwand / Geschätzer Aufwand
  • Sondern über IstAufwand / IstAufwand + Restaufwand
  • Hier wird die aktuelle Aufwandsschätzung genutzt
  • Abweichungen sind Aufforderungen zum Handeln
  • Ist sehr gängig so zu schätzen!
199
Q

Wie wir der Fertigstellungsgrad des Gesamtprojektes gemessen?

A
  • Anzahl abgeschlossener Arbeitspakete / Anzahl Arbeitspakete
  • naiv
  • Pakete mit 0,5 auch berücksichtigen! (gerade bei wenig Paketen)
200
Q

Wie können Restaufwände erfasst werden?

A
  • In strukturierter Form (Excel)
  • Durch Absprache mit Mitarbeiter wie seine Zahlen entstanden sind
201
Q

Wie erfolgt die Budgetierung der Projektdurchführung im Controlling?

A
  • Jeder Posten der Stückliste (Arbeitspaket) ist ein Budgetkonto (Komponente entwerfen, Reisekosten)
  • Mitarbeiter buchen während der Arbeit am Projekt auf diesen Konten
  • Getrennte Konten für getrennte Tätigkeiten des PSP (Fachliches Datenmodell ist anders als Review)
  • Nicht zu viele Konten; QS-Konto für alle Teilreviews (Gute Einteilung)
  • Gebuchte Zeiten ermöglichen Controlling
  • Darstellung im Zeitplan
202
Q

Was ist eine Meilenstein-Trend-Analyse (MTA)

A
  • Projekterfahrung charakterisiert Stand des Projektes
  • Informationen müssen veranschaulicht werden (Schwächen erkennen)
  • Oft Timedrift-Diagramme oder MTA -Idee: Zeitachsen real vs geplant um Änderungen zu zeigen
203
Q

Wie sieht ein Timedrift-Diagramm aus bei zögerlicher Prognose?

A
204
Q

Wie sieht ein Timedrift-Diagramm aus bei sorgloser Planung oder falscher Prognose?

A
205
Q

Intepretiere folgende MTA-Diagramme

A
206
Q

Was sind Maßnahmen bei Problemen im Projektcontrolling?

A

Unmittelbare Maßnahmen: Schadenseindämmung und Anpassung
Bei Terminüberschreitung ->Weniger liefern, Lieferung verzögern
Bei Kostenüberschreitung -> Nachverhandeln, Verrechnen mit anderen Leistungen

Mittelbare Maßnahmen: Lokalisierung und Behebung der Ursachen
Schlechte Leistung, Technische Probleme, Schlechte Planung

Schlechte Maßnahmen:

  • Vergrößerung des Projekteams (Brooks Law: More Manpower to a late project makes it even later)
  • Hoffen auf ein Wunder
  • Vertuschen des Problems
207
Q

Was sind die Regeln für das Controlling?

A
  • Ohne Planung kein Controlling
  • Berichterstattung muss bindend sein
  • Berichterstattung braucht Kontrollmechanismen (Bewertung von Reviews und Test)
  • Verwendette Begriffe müssen von allen Beteiligten gleich interpretiert werden
  • Bei Planabweichung müssen Maßnahmen durchgeführt und überwacht werden
  • Der Projekteigentümer bekommt nur die Informationen die er haben will

-Der Übereigner einer Nachricht darf nicht für diese bestraft werden

208
Q

Was macht das Teammeeting und die Statusrunde im Controlling?

A
  • Regelmäßige wöchtenliche Besprechung des Projektteams
  • Berichte über Arbeitsfortschritte und Probleme
  • Beschließen Maßnahmen
  • Protokoll mit ToDo-Liste anfertigen

-SCRUM: Daily Standup

209
Q

Was ist ein Jour Fixe?

A
  • Teilnehmer: Beide Projektleiter, Mitarbeiter des Auftraggebers, evtl einige Mitarbeiter des Auftragnehmers (Kunde mit dabei!)
  • Ähnlich wie Teammeeting
  • Auftragnehmer berichtet über Fortwschritte und Probleme, sowie Vorschläge und Anpassungen des Projektplans
  • Auftragnehmer stellt sicher, dass Auftraggeber Verpflichtungen einhält (Lizenzenkauf, Unterlagenkauf)
210
Q

Wie sieht der Projektabschluss im ProjektControlling aus?

A

-Oft fehlt ein Abschluss

  • Keine Dokumentation über Miss/Erfolge
  • Keine subjektive Wahrnehmung fertig zu sein

Nötige Abschlussarbeiten

  • Archivierung der Resultate/Unterlagen
  • Auflösung der Projektorganisation/Neuzuweisung
  • Kennzahlen festhalten für weitere Projekte(Kosten/Termine)
  • Dokumentation vervollständigen
  • Success Story festhalten

-Für die Zukunft daraus lernen (Was war gut, was weniger, was beachten?)

Es sollte ein Gegensatz zum Kick Off geben, als Abschlussritual, damit es jedem bewusstgemacht wird

211
Q

Was ist das magische Dreieck des Projektmanagements

A
  • Man kann nicht auf alle Ziele gleich priorisiert eingehen
  • Zeit begrenzt, Kosten begrenzt, Qualität nicht umsetzbar

-

212
Q

Was sind die Ziele und Schwerpunkte des Projektmanagement?

A

-Projekte sollen ERFOLGREICH durchgeführt und abgeschlossen werden, daher definierte Resultate in Qualität, Zeit, Kosten mit gewissen Ressourcen einhalten

Weitere Ziele:
-Besserer Ruf/Branding

  • Kentnisse aneignein
  • Wiederverwendbarkeit von Komponenten

-Arbeitsklima attraktiv halten

213
Q

Was sind die Aufgaben eines Projektleiters?

A
  • Planen (Planung ist essentiell, Planung ist wertlos) (Kommt eh anders)
  • Bewertung und Kontrollierung ob man im Plan ist

-Kommunizieren zwischen Mangement, Kunden, Marketing und Mitarbeitern

Ansprechpartner sein:
Für Management zuständig für Projekt, Für Kunde Herstellerfirma, für Marketing die Technikumsetzung, für Mitarbeiter die Leitung (Für alle zuhören und weitergeben!)

  • Das Projekt vor Störungen schützen wie schlechten Kunden, unklare Ziele, Sparmaßnahmen, Mitarbeiterstehlen etc.
  • Mitarbeiter führen und motivieren(Ordnung, Bestätigung)
  • Schwierigkeiten früh erkennen und bekämpfen
214
Q

Welche Fähigkeiten muss ein Projektleiter besitzen?

A
  • Soft Skills: Soziale Kompetenz
  • Kommunikation: Engagiert, Ergebnissorientiert, Stellt fragen
  • Kooperation: Enge Kundenbeziehung, Beratung
  • Teamfähigkeit: Anpassung, Respekt
  • Motiviation: Unterstützt Kollegen, Setzt Ziele
  • Konfliktfähigkeit: Konstruktiv, Erkennt Störungen
215
Q

Messen der Führungsstille eines Projektleiters und Scoring

A
216
Q

Welche Formen der Teamorganisation gibt es?

A
  • An einem Projekt gibt es mehrere Personen unterschiedlicher Rollen
  • Der Projektmanager muss das Projektteam organisieren
  • Unteteilung des Teams in kleinere Teams von 5-7 Personen

Formen
-Kleine Teams und Einzelkämpfer:
(Ausfall?, Einarbeitung Nachfolger?, Mehraufwand in Kauf nehmen zur Integration in Gruppe)

-Anarchische Teams:
(Entwickler arbeiten im Wesentlichen autonom, Hierarchie wird ignoriert, keine Normen/Standard) -> Resultat ist Glückssache

Demokratische Teams:
(Gemeinsame Ziele, Disziplin, Konsensprobleme eine gewählte Person trifft Entscheidung) Fähigkeiten gut eingesetzt, aber viel Kommunikationsaufwand

Hierarchische Teams (traditionell):
-Projektleiter kontrolliert und entscheidet
  • Große Teams mit Unterabteilungen
  • Fest Zuständigkeiten und Pflichten/Übersicht
  • Hierachie erschwert Kommunikation, Infos zu spät, Projektleiter trägt Verantwortung

Chief Programmar Teams(bei großen Projekten unmöglich):

  • Form von Hierarchischen Teams
  • Projektleiter führt technisch konstruktiv, entwirft, implemtiert, testet
  • Chief ist hier “Vorarbeiter”
  • Ist effizient, aber hat sehr hohe Ansprüche an den Chief
217
Q

Welche Phasen durchläuft ein Projekt?

A
  • Akquisition (Kundensuche, Teamsuche)
  • Angebot (Aufforderung, Preis, Features)
  • Initialisierung
  • Durchführung
  • Abschluss (Abnahme)
218
Q

Was geschieht in der Angebotsphase der Projektphasen?

A
  • Abstimmung der Zielsetzung des Lastenhefts (Anforderungen, Ausgrenzung, Annahme) /Zentrale User Stories
  • Kostenschätzung
  • Erstellung eines Angebotes
  • Unterteilung in Start, Workshop, Konsolidierung, Ende
  • Angebotspräsentation, Fragen, Verhandlung
219
Q

Was geschieht in der Initialisierungsphase der Projektphasen?

A

-Zusammenstellung des Teams
-Planung der Pakete/Ressourcen/Berichtswesen/Budget
-Unterbeauftragten planen
Kick-Off planen
-Risikomanagement einrichten

220
Q

Was geschieht in der Durchführungsphase der Projektphasen?

A
  • Analyse, Entwurf, Implementierung, QS/Test, Dokumentation (agil, nicht agil)
  • Planung und Kontrolle
  • Meetings mit Kunden und Team
221
Q

Was geschieht in der Abschlussphase der Projektphasen?

A
  • Finale Lieferung
  • Abnahmetest durch Kunden
  • Touch-Down Workshop(Kick-Off)
  • Ergebnisse intern festhalten
222
Q

Wie sieht die Angebots und Vertragsgestaltung in der Angebotsphase des Projektes aus?

A
  • BT = Bearbeitungstage
  • BM = Bearbeitungsmonate
  • BzI = Bereit zur Integration

Projektanfang:
AG Ist doch alles klar
AN Aufgabe viel zu ungenau
Projektende:
AG Alles ist fertig
AN Hätte anders sein müssen war auch besprochen

  • Solche Risiken können durch eine präzise Angebotsformulierung vermieden werden.
  • Ein offen und ehrliches Angebot, welches das Verständnis zeigt ist ideal.
223
Q

Was sind die Aufgaben eines Angebotmanagers/PL?

A
  • Termingerechte Erstellung des Angebots
  • Steuerung des Angebotsteams(Aufwandsschätzung, Angebotstext)
  • Wirtschaftlichkeitsrechnung
  • Juristische Prüfung
  • Projektplan im groben (Demonstration von Verständis über Aufgabe, Ressourcen des Arbeitgebers, Meilensteine)
224
Q

Was sind gängie Top-Ten-Fehler in der Angebotsphase?

A
  1. Projektziel nicht genau definiert
  2. Aufwandsschätzung ungenau
  3. Aufgaben oder Zusatzkosten werden vergessen
  4. Zu gering geschätzter Aufwand
  5. Lieferbenstandteile nicht genau definiert
  6. Ansprechpartner nicht klar
  7. Verantwortlichkeiten zwischen AG und AN unklar
  8. Abnahme unreguliert
  9. Sich runterhandeln lassen, man muss zum Preis stehen
  10. Es wird schon irgendwie klassen ohne sicher zu sein
225
Q

Wann beginnt die Initialisierungsphase der Projektphasen und was beinhaltet sie?

A
  • Sobald die Auftragerteilung erfolgt ist
  • Nun wird das Team zusammengestellt
  • Projektplan wird im Detail besprochen
  • Unterbeauftrage planen
  • Vorbereitung auf Kick-Off Veranstaltung mit dem Projektleiter des Auftraggebers
226
Q

Wie sieht ein Kick-Off in einer Initialisierungsphase aus?

A

Teilnehmer am Kick-Off:
Projektleiter des Arbeitgeber und Arbeitnehmers
Projektmitarbeiter der Arbeitgeberseite und wichtigsten Mitarbeiter der Arbeitnehmerseite

  • Gemeinsame Vision
  • Kennenlernen
  • Einvernehmen über Ziele (quantifizierbar, Grundlage für Abnahme)
  • Organisatorisches: Jour Fixe/Meetings, Projektverzeichnis, Wiki, Werkzeuge, Vorlagen
  • Erzeugen von Aufbruchsstimmung
  • Dauer des Kick-Offs Stunden bis 1 Tag
227
Q

Wo findet die Projektplanung statt?

A
  • In der Angebotsphase (Kostenschätzung)
  • In der Initialisierungsphase (Planung der Aufgaben, Ressourcen, Berichtswesen, Termine/Budgets)
  • In der Durchführungsphase (Planung und Kontrolle)
228
Q

Wozu plant man überhaupt?

A

-Ein Plan ist die geistige Vorwegnahme des zukünftigen Handelns, aber auch nutzlos, da es eh anders kommt!

229
Q

Was sind Aspekte der Projektplanung?

A

-Planung heißt mit wie vielen Mitteln das Projekt auf Basis des Wissensstands durchzuführen ist

Aspekte:
Aufgabenplanung (Ergebnis Arbeitspaket)
Terminplanung (Meilensteine, Releases, Endtermin)
Ressourcenplanung (Aufwand Mitarbeiter in Personentagen, Kosten für Hard/Software)

-Kann in einem Gantt Chart erfasst werden

230
Q

Wie geschieht die Aufwandsschätzung innerhalb einer Projektplanung und wozu benötig man diese?

A

-Wichtigste Frage vor Projektbeginn: Wie hoch wird der Aufwand?

Daraus ableitend:
Wie Lange wird die Entwicklung dauern?
Und wieviele Leute benötigt man?

Die Ergebnisse der Aufwandsschätzung werden:

  • Kalkulation der Angebotserstellung (grobe Planung)
  • Personalplanung
  • Vorbereitung der Entscheidung “Entwickeln oder Einkaufen?”
  • Nachkalkulation

=> Neue Projekte kann man nie komplett abschätzen

  • Je früher man schätzt, desto unsicherer ist man
  • Später kann man durch abgeschlossene Arbeitspakete besser schätzen
231
Q

Worauf basiert eine Aufwandsschätzung?

A

-Lastenheft bzw. ersten Backlog
(Anforderungen müssen gute Qualität haben)
-Frühe Anforderungsqualität kann mit Workshops geschehen

-Bei einem Wasserfallprojekt ist die Bekanntheit ALLER Anforderungen nötig (unmöglich), daher auf frühes Lastenheft und Formulierungen achten oder Projekttyp agil abändern

232
Q

Welche Phasen werden bei der Aufwandsschätzung geschätzt?

A

Komplettes Projekt:

  • Analyse, Design, Implementierung, Test
  • Hohes Risiko für Auftragnehmer (Spezifikation steht noch nicht fest)

Teile des Projektes:

  • Angebot für Spezifikation, Entscheidung des Kunden durch wen Umsetzung geschehen soll
  • Angebot für Entwurf, Implementierung, Test, Abnehmetest

Bei Agil:

  • Kernfunktionalität
  • Ausbaustufe 1
233
Q

Wie berechnet man die Projektkosten bei einer Aufwandsschätzung?

A
  • Geschätzte Stunden * Stundensatz
  • Stundensatz definiert sich auf Skill-Level (PL mehr als Entwickler)
  • Stundensatz enhält Kosten für Fremdleistung * Faktor x
  • Weite Kosten wie Reisekosten einberechnen

-Die Schätzung sollte durch jemanden des Teams geschehen, der Technik Know-How hat (PL, Product Owner)

234
Q

Was für Aufwandsschättzverfahren gibt es?

A
  • Analogieschätzung: Auf Basis vorhandener Projekte
  • Expertenschätzung: Durch Fachleute
  • Algorithmische Schätzung: Kosten aus Größen berechnen die bekannt sind und genauer als der Aufwand geschätzt werden
  • Auch eine Kombination der Schätzung ist möglich
235
Q

Wie funktioniert die Analogieschätzung der Aufwandsschätzung?

A
  • Idealerweise aus Datenbank
  • Verteilung der Kosten auf Analyse, Spezifikation, Architektur, Implementierung, Test auf neues Projekt hochrechnen
  • Auf Phasenschätzung den Rest hochrechnen
236
Q

Wie funktioniert die Expertenschätzung der Aufwandsschätzung?

A
  • Experten: PL, fachlicher Experte, technischer Experte
  • Vorsicht vor zu leicht getroffenen Prognosen
  • Dokumentation wichtig: Voraussetzungen, Zeitpunkt, Personen, Vorbehalte
  • Schätzworkshop mit höchsten 3-4 Teilnehmern
  • Schätzung des Aufwands der Stückliste in Bearbeiterstunden oder Tagen
  • Entweder alle Posten schätzen oder einige Phasen schätzen und hochrechnen
237
Q

Was ist die Expertenschätzung/Delphimethode?

A

-Ist eine Schätzungmethode ohne Diskussion

Beinhaltet:

  • Projektbeschreibung mit Teilprodukten
  • Ziele des Gesamtprojektes vorstellen
  • Jeder Experte schätzt im Arbeitsformular die Arbeitspakete alleine
  • Unterschiede werden dargestellt und Experten bekommen diese zurück
  • Solange bis alle Schätzungen im Toleranzabweichbereich liegen
  • Mittelwert ist der finale Wert

-Die Breitband-Delphimethode ist mit Diskussionen

238
Q

Welche Mitte der algorithmische Schätzung der Aufwandsabschätzung gibt es?

A
  • Constructive Cost Model (CoCoMo I+2)
  • Function Point
239
Q

Was ist die CoCoMO algorithmische Aufwandsschätzung?

A

-Berechnung des Aufwands und Entwicklungsdauer aus geschätzten Lines of Code

  • Man muss also trotzdem schätzen!
  • Beinhaltet spezielle Umstände (Sicherheitsanforderungen, Projektteamerfahrung)
240
Q

Was ist die Function Point algorithmische Aufwandsschätzung?

A
  • Aufwand hängt von Schwierigkeitsgrad und Umfang ab
  • Es werden die wesentlichen Geschäftsvorfälle gesammelt und in leicht/mittel/komplex klassifiziert
241
Q

Wie lauten die Funktionskriterien der Function Point algorithmischen Schätzung zur Aufwandsschätzung?

A
  • Eingaben (Unterschiedliche Logik/Format, Anzahl Datenelemente, Eingabeprüfung)
  • Ausgaben (Bildschirm, Interface, gedruckte Berichte, Komplexität des Berichtes in Zeilen, Spalten, Elementen)
  • Abfragen (Nur fest implementierende Online-Abfragen, keine Endbenutzerabfragen)
  • Anwenderdateien (Jeder gepfegte Bestand auf Basis DB-Design, Klassifikation nach Komplexität, Änderungsnotwendigkeit der DB)
  • Referenzdateien (Informationen, read-only)

Einflussfaktoren:

  • Bewertung mit Polaritätsprofil 0..5
  • Liste der Einflussfaktoren
  • Function Points zu Mann-Monate umrechnen

Bewertung:

  • Prognosen und Einflussgrößen abhängig von Entwicklungsmethodik
  • Statistische Arugmentation benötigt Datenbasis (kein wirrer Haufen)
  • Schätzung ist firmenspezifisch
  • Ziel der Weiterentwicklung zu einer firmen-spezifischen Kostendatenbank
  • Tools gibt es dafür am Markt

-Wird selten verwendet in der Wirtschaft

242
Q

Projektplanung 3 - Terminplanung

Auf die zeitliche Anordnung der Arbeitspakete folgt der Terminplan (Was zeigt dieser? 3 Punkte)

A

Einteilung des Projekts in Phasen

Die zeitliche Anordnung der Arbeitspakete

Meilensteine (also zentrale Projektergebnisse)

243
Q

Projektplanung 3 - Terminplanung

Wie lassen sich Phasen definieren?

Wodurch wird das Ende einer Phase markiert?

Wann ist eine Phase erfolgreich beendet?

A
  • Phase: zusammenhängender Zeitraum, in dem bestimmte Arbeiten durchgeführt werden.
  • Ende einer Phase: wird durch Meilenstein markiert.
  • Phase erfolgreich beendet: wenn Kriterien des Meilensteins erfüllt werden.
244
Q

Projektplanung 3 - Terminplanung

Phasen erleichtern die Kontrolle von was?

(3 Punkte)

A

Phasen erleichtern Kontrolle

  • Für separate Finanzierungen (Spezifikation, dann Umsetzung)
  • Einteilung des Projekts in Iterationen
  • An Prüfungen (Meilensteinen) ist der Kunde beteiligt
245
Q

Projektplanung 3 - Terminplanung

Balkendiagramm (Gantt-Chart):

Was macht es? (1 Punkt)

Was sind die Vor- und Nachteile? (6 Punkte)

Erweiterungsmöglichkeiten des Gantt-Diagramms? (3 Punkte)

A

Was mach es?:

  • Darstellung der Aufgaben und Termine in graphischer Form

Vorteile

  • weit verbreitet
  • übersichtlich
  • einfach
  • zeigt Parallelität auf

Nachteile

  • Änderungsaufwand groß
  • Übersichtlichkeit nur bei grober Granularitärt

Erweiterungmöglichkeiten:

  • Zuordnung zu Ressourcen
  • Graphische Darstellung des jeweiligen Bearbeitungszustandes
  • Aktionen ohne Dauer (Ereignisse: Meilensteine)
246
Q

Projektplanung 3 - Terminplanung

Nenne eine weitere Darstellungsmöglichkeit für den Terminplan. (Punkt 1)

A
  • Netzplan
248
Q

Projektplanung 3 - Terminplanung

Kritischer Pfad - Was ist das? (1 Punkt)

Was passiert, wenn sich eine Aktivität auf einem kritischen Pfad verzögert? (2 Punkte)

A

Kritischer Pfad?

  • = Folge von Aktivitäten, zwischen denen kein zeitlicher Puffer existiert

Was passiert, wenn sich eine Aktivität auf einem kritischen Pfad verzögert?

  • Hat Auswirkungen auf Gesamtdauer des Projekts
  • Kritischer Pfad braucht daher besondere Aufmerksamkeit
249
Q

Projektplanung 3 - Terminplanung

Wir unterscheiden zwischen internen und externen Meilensteinen. (Definiere beide kurz)

(2 & 1 Punkt)

A

Externe Meilensteine

  • Ergebnisse die aus Auftraggebersicht bedeutend sind
  • (Z.B. Vorliegen, Spezifikation, Implementierung, Tests,… ,Fertigstellung einer Iteration in Agilen Projekten)

Interne Meilensteine

  • Zwischenkontrollpunkte ohne Kundenbeteiligung
    • Und ohne Wissen des Kunden
250
Q

Projektplanung 3 - Terminplanung

Kriterien für das Erreichen eines Meilensteins (1 Punkt)

Welche Punkte gehören zur Definition eines Meilensteins? (4 Punkte)

Durch was sind Meilensteine meistens festgelegt? (1 Punkt)

A

Kriterien:

  • Kein Raum für Subjektivität und Willkür!

Definition eines Meilensteins:

  1. Definition der Ergebnisse, die vorliegen müssen
  2. Die geforderten Qualitätseigenschaften dieser Ergebnisse
  3. Die Instanz, die entscheidet, ob ein MS erreicht ist
  4. Der Vorgegebene Zeitpunkt für das Erreichen

MS festgelegt durch Prozessmodelle (Bsp. siehe Bild)

251
Q

Projektplanung 3 - Terminplanung

Was ist noch bei der Planung zu berücksichtigen?

(2 Punkte)

(Hier wird einer von 3 zu berücksichtigenden Punkten angesprochen das Bild gibt dir einen Tipp welcher)

A

Was ist noch bei der Planung zu berücksichtigen?

  • Logische Abhängigkeiten zwischen Arbeitspaketen
  • Arten von Anhängigkeiten
    • Ende-Anfang-Beziehung
    • Anfang-Anfang-Beziehung
    • Ende-Ende-Beziehung
252
Q

Projektplanung 3 - Terminplanung

Was ist noch bei der Planung zu berücksichtigen?

(1 Punkt)

(Hier wird einer von 3 zu berücksichtigenden Punkten angesprochen das Bild gibt dir einen Tipp welcher)​

A

Was ist noch bei der Planung zu berücksichtigen?:

  • Aufwand für die Arbeitspakete
    • Automatisiert durch
      • “Tool” oder
      • “von Hand”
254
Q

Projektplanung 3 - Terminplanung

Warum ist die Granularität der Phasengliederung kritisch anzusehen? (2 Punkte)

Was muss daher eingeplant werden? (1 Punkt)

A

Granularität ist kritisch denn:

Entwerder zu kurz:

  • Kunde andauernd in Anspruch genommen, keine ruhige Entwicklung möglich

Oder zu lang:

  • Verzögerungen die erst am Phasenende auffallen

Was muss eingeplant werden?

Es müssen Verzögerungen durch Puffer eingeplant werden

256
Q

Projektplanung 4 - Ressourcen

Bei der Terminplanung (1 Punkt)

A

Bei der Terminplanung:

  • Auslastung und Verfügbarkeit von Mitarbeitern und Betriebsmitteln
257
Q

Projektplanung 4 - Ressourcen

Konfliktfaktoren bei der Ressourceneinteilung

(Du kannst bis zu 16 Punkte nennen, es reichen aber vielleicht 4)

A
262
Q

Projektplanung 3 - Terminplanung

Was ist noch bei der Planung zu berücksichtigen?

(1 Punkt 3 Unterpunkte)

(Hier wird einer von 3 zu berücksichtigenden Punkten angesprochen.)

A

Was ist noch bei der Planung zu berücksichtigen?:

  • Einflüsse von Außen
    • Lieferung von Software und Hardware
    • Bereitstellung von Daten, Algorithmen, usw.
    • Bestätigung der Abnahme von Zwischenresultaten
263
Q

Projektplanung 3 - Terminplanung

Was ist bei der Planung zu berücksichtigen?

(Alle 3 Punkte nennen)

A

Was ist bei der Planung zu berücksichtigen?:

  • Logische Abhängigkeiten zwischen Arbeitspaketen
  • Aufwand für die Arbeitspakete
  • Einflüsse von Außen
264
Q

Projektplanung 4 - Ressourcen

Nenne Zwei eigenschaften Von Ressourcen (2 Punkte)

Warum sollten Ressourcen bei der Planung berücksichtigt werden? (2 Punkte)

A

Nenne Zwei eigenschaften Von Ressourcen:

  • Knappheit
  • Kosten Geld

Warum sollten Ressourcen bei der Planung berücksichtigt werden?

  • Zur Einhaltung der Termine
  • Aus kostengründen (Keine Unnötigen mehrkosten)
267
Q

Projektplanung - Zusammenfassung

Wie geht der Projektleiter bei der Planung vor?

(3 Punkte)

A

Wie geht der Projektleiter bei der Planung vor?:

  • PSP
  • Schätzmethoden
  • Termin- und Recourcenplanung
268
Q

test

A

test

269
Q

Warum ist die Dokumentation beim Software engeneering wichtig?

A

Software-Entwickeln ist Dokumentation.

270
Q

Allgemeines zu “Dokumentation”

A
  • Dokumentation gilt als ewiges Sorgenkind und ist eine Daueraufgabe
  • Nachträgliche Dokumentation ist eine unzureichende Notlösung (​Denn Info ist vergessen)
271
Q

Begriffe der Dokumentation

A
  • Integrierte Dokumenttion

(enthaltene Komentare, Bezeichner des Layouts)

  • Separate Dokumentation

(Teil der Software, die nicht im Programm enthalten sind)

272
Q

Ist die Form der Dokumente festgelegt (bei der Dokumentation)?

A

Nein, nur stabilität ist geforgert!

(Es gibt keine Dokumentation im Kopf)

273
Q

Integrierte Dokumentation

A
  • Ist leichter zu bearbeiten und kann eher nachgeführt werden
  • Reicht in keinem Falle aus!
274
Q

Integrierte Dokumentation (Was muss unbedingt vorher entstehen?)

A
  • Glossar
  • Spezifikation (Wireframes, Use Cases, Datenmodell,…)
  • Architektur-Entwurf
275
Q

Integrierte Dokumentation (Warum müssen Glossar, Spezifikationen und Architektur-Etwurft´vorher entstehen?)

A
  • Sie können nicht in Code-Komponenten abgelegt werden

(Die Projektdokumentation ganz zu schweigen)

276
Q

Separate Dokumentation (Ist sie gefährdet?)

A
  • Ist grundsätzlich gefährtdet und kann nur unter gewissen Bedingungen funktionieren?
277
Q

Seperate Dokumentation kann nur funktionieren wenn?

A
  1. Anforderung an Dokumente müssen klar sein
  2. Verantwortlichkeiten klären
    • (Wer erstellt, prüft, gibt frei)
  3. Dokumentaion soll hoch bewertet und anerkannt sein
  4. Inhaltsverzeichnis (Struktur) muss von Anfang an klar sein
  5. Werkzeugunterstützung muss verfügbar sein
  6. Prüfung der Dokumente nach Ändereung/Fertigstellung
  7. Dokumente werden effektiver Konfigurationsverwaltung unterstellt
278
Q

Ziele einer guten Dokumentation?

A
  • Wissenstransfer und Kommunikation zwischen Auftraggeber- und Nehmer
  • Dokumentation bewahrt das Wissen über Programm, Entwicklung, Wartung
  • Dokumentation erlaubt systematische Prüfung (Review) und belegt diese (revisionsfest)
  • Dokumentation spiegelt Projektfortschritt wider (Liegt Test vor?-> nachgucken)
279
Q

Nachteile einer Dokumentation?

A
  • Nutzen ist verteilt und fern
  • Kosten treten sofort sichtbar auf
  • Oft wird daher an der Doku gespart
280
Q

Nutzen von Dokumentation

A
  • Vermeiden (,rasches finden) von Fehlern
  • Software kann einfacher erweitert & wiederverwendet werden
281
Q

Faustformeln für die Kosten

A
  • Produktivität im Ø –> 4 Seiten pro Tag
  • Diese Arbeit ist 1000 € Wert
  • 40 Seiten Starkes Dokument 40.000€
  • (Produktivität hier eher hoch geschätzt)
282
Q

Taxonomie (Alle Dokumente gehören zu einer der 4 Kategorien –> Welche sind dies??)

A
  1. Systemdokumentation
  2. Projektdokumentation
  3. Qualitätsdokumentation
  4. Prozessdokumentation

(Möglicher Wiki-Aufbau)

283
Q

Taxonomie (Welche Dokumente fallen unter den Bereich Systemdokumentation?)

A

Dokumente die für die Konstruktion/ Betrieb/ Wartung der Software benötigt werden. (unterscheidung techn./fachl.)

284
Q

Taxonomie (Welche Dokumente fallen unter den Bereich Projektdokumentation?)

A
  • Alle Dokumente die benötigt werden, um das Entwicklungsprojekt zu planen/zu leiten/abzuschließen.
285
Q

Taxonomie (Welche Dokumente fallen unter den Bereich Qualitätsdokumentation?)

A

Alle Dokumente in denen die Maßnahmen zur analytischen Qualitätssicherung dokumentiert sind.

286
Q

Taxonomie (Was ist Prozessdokumentation?)

A
  • Beschreibt den Entwicklungsprozess und seine konkrete Umsetzung im Projekt.
287
Q

Kategorien im Überblick

A
289
Q

Was umfasst die Benutzungsdokumentation?

A
  • Dokumentiert wie sie installiert, betrieben und bedient wird.

(Notwending, damit Software eingesetzt werden kann)

290
Q

“Adressaten der Dokumente”

Wie du weißt, werden Dokumente für verschiedene Adressaten erstellt, die sehr unterschiedliche Information benötigen.

Nenne die 4 vers. Adressaten.

A
291
Q

Welchen Zweck hat die Dokumentation für den Kunden? Und Welche Dokumente bekommt er?

A
292
Q

Welchen Zweck hat die Dokumentation für den Admin? Und Welche Dokumente bekommt er?

A
293
Q

Welchen Zweck hat die Dokumentation für den unerfahrenen Anwender? Und Welche Dokumente bekommt er?

A
294
Q

Welchen Zweck hat die Dokumentation für den erfahrenen Anwender? Und Welche Dokumente bekommt er?

A
295
Q

Gib Beispiele für Benutzungsdokumentation.

A
  1. Benutzungshandbuch
  2. Tutorial
  3. Installationshandbuch
  4. Kontextsensitive Hilfe
  5. Onlineinformationen
299
Q

Das Wasserfallmodell

A
300
Q

Die Probleme des Wasserfallmodells

A
  1. Unklare Zielvorstellungen/Anforderungen des Kunden
  2. Häufige Änderungen Während des Projekts (Change Requests)
  3. Arbeitsprozesse außerhalb des kurzfristigen Planungshorizontes bergen zu viele Unsicherheiten
  4. Zu viele abgegrenzte Aktivitäten/Teams (“Teilprodukte über die Mauer werfen”)
  5. Tests des Produktes am Ende ist viel zu spät
303
Q

Agiler Ansatz

A
  • Geisteshaltung durch agiles Manifest populär geworden
  • Umgesetz durch “agile Methoden”
304
Q

Nenne 3 Folgen schlechter Dokumentation

A
  1. Wartungsingenieure arbeiten als Archäologen
  2. Grundlagen für die Handbücher fehlen
  3. Retrospektive Analysen sind nicht möglich (Keine Möglichkeit für Organisation aus Projekt zu lernen)
305
Q

Warum gehört Dokumentation in der Praxis meist zu den Problemzonen des Software-Engeneerings?

A
  • Software-Entwickler haben dies nicht gelernt (Weder in Ausbildung noch in Praxis)
  • Priorität 1, 2 und 3 ist einhaltung des Liefertermins
    • FOLGE: –> Zeit für Doku fehlt
306
Q

Sollte man automatisch generierte Dokumentationen nutzten?

A

Eher nicht denn:

  • Keine Abstraktion
  • Stellt Code direkt dar
    • Lieber anders herum
  • Keine Gedanken vorher gemacht

(Wenn man automatisch generierte Dokumentation nutzt dann vielleicht über arc42.de)

307
Q

Top 10 Risiken nach Boehm

A
  1. Personalprobleme (mangelnde Qualifikation durch Neueinstellung, Umschichtung, mangelhafte Fortbildung)
  2. Unrealistische Pläne/Budgets (Z.B durch Unterprisangebote wegen hohem Wettbewerbsdruck)
  3. Entwickeln der falschen Funktionen & Eigenschaften (Bsp.: Onlineshop gemacht mit schlechter Kundenanalyse)
  4. Entwickeln der falschen Benutzungsschnittstelle (z.B. komplizierte Oberfläche)
  5. “Goldverzierungen” (z.B graphisch verzierte Oberfläche–> Schnickschnack)
  6. Ständiger Wechsel der Anforderungen (Z.B. durch unzureichend ausgearbeitetes Lastenheft,…)
  7. Versagen externer Komponenten (Z.B. Fehler einer zugelieferten Komponente)
  8. Versagen externer Aufträge (Z.B. erxterner Lieferant für Datenbanklösung geht in Konkurs)
  9. Zu geringe Leistungen (Z.B. Überlastung von Servern)
  10. Fehleinschätzung des Standes der Technik (Z.B. Performance neu entwickelter Datenbanktechnik wird überschätzt)
310
Q

Der traditionelle Ansatz

A
  • Prozessmodelle wie (Wasserfallmodell, V-Modell (später), Unternehmenseigene Modelle)
  • Anforderungen erheben
  • Architektur erstellen
  • Dokumente verfassen
  • Planung, Verträge
311
Q

Kritik am traditionellen Ansatz

A
  • Software-Bürokratie
  • Kunde zu spät eingebunden
  • Vertrags- statt Kundenorientierung
  • Kein Spaß
  • Träge und teuer

(Begründung dieser Kritik nicht wissenschaftlich sondern begründet durch Beobachtung, “gesunder Menschenverstand”)

313
Q

Werte des Agilen Manifests ( 4 Stück)

A
  • Individuals and Interactions (over processes and tools)
  • Working Software (over comprehensive documentation)
  • Customer collaboration (over contact negotiation)
  • Responding to change (over following a plan)
314
Q

Agiles Manifest - Prinzipien

A

Kunden zufriedenstellen und Software ausliefern

Auf änderungswünsche des Kunden zu jeder Zeit eingehen

Software regelmäßig abfliefern

Leute aus Buiseness und Entwicklung müssen zusammenarbeiten

Gutes Arbeitsklima schaffen und Unterstützung geben

Face to Face conversation zum Infoweitergeben

Funktionierende Software definiert Entwicklungsfortschritt

Agile Prozesse –> Gut für Entwicklung, sollen in einer konstanten Geschwindigkeit geschehen

Wertlegen auf technische Perfektion

Einfachheit

Selbst-organisierte teams erzielen die Besten Ergebnisse

Wiederholende Selbstreflektion des Teams

315
Q

Agile ist ein Oberbrgriff für Methoden die dessen Werten und Prinzipien folgen, z.B. : (2 Beispiele)

A
  • XP - Extreme Programming → Fokus auf teaminterne Engeneering-Praktiken (“Von Programierern für Programierer)
  • SCRUM - Framework mit Fokus auf Struktur und Kommunikation (“Management”)
316
Q

Agile Methoden (Viele techniken und Prinzipien sind nicht neu, nämlich z.B.:)

A

Iterationen → Boehms’ Spiralmodell

Story Points → Function Points

Continious Integration → “Daily Build” bei Microsoft (1995)

Retrospective → Aus CCMI, KAIZEN (Kontinuierliche Verbesserung)

317
Q

Beschreibe den Scrumprozess

Nenne die Stationen des Scrumprozess

A
318
Q

Beschreibe den Scrum Prozess an dem Folgenden Bild

A

Weiter gehts, ich hab dich lieb!

319
Q

Wann wurden die meisten agilen Methoden entwickelt?

A
  • In den 80/90ern
320
Q

Voraussetzungen für den agilen Ansatz

A
  • Verantwortlich arbeiten können nur hochqualifizierte Teams
  • Kleine Teams (bis 10 Pers) (Sonst zu viel Kommunikation)
  • Gemeinsamer Raum für alle Teammitglieder!
  • Wir brauchen keine: Star-Architekten, Gurus, Alleinarbeiter
  • Management-Akzeptanz bei Auftragnehmer und -geber
321
Q

Agile Softwareentwicklung - Gemeinsame Kernmerkmale

(8 Stück)

A

Kurze Zyklen bis zur Auslieferung

  • Nach ca. 1 Monat ausliefern
  • Realease abnehmen/bewerten lassen von Kunden

Evolutionäre Entwicklung

  • Keine große Architektur sondern mit klein & angemessen beginnen und dann refactoring

Testgetriebene Entwicklung

  • Automatisierte Tests vor dem Code schreiben
  • Testen aller features (User-Stories statt tradit. Anforderungen)

Teamarbeit

  • Pair Programming, Collective Code Ownership

Dokumentation verliert an Wichtigkeit

  • Nicht “keine Dokumentation”!
  • Kommunikation ersetzt Dokumentation

Kunde als Teil des Teams

  • Spart Zeit
  • Kunde bestimmt Umfang des Wertesnach seinen Prioritäten

Vertrauen

  • Kunde hat vertrauen in Team/Vorgehen
  • Statt Festpreis variabler Preis (oder variabler Umfang)

Änderungen Willkommen

  • Kein Change-Request-Verfahren, sonder Änderungen für neues Release immer möglich
322
Q

Sprint, was ist das?

(Gibt es während eines Sprints Kundeninteraktion)

A

Ist Iteration in SRCRUM

Hat fixe Längen (2 Wochen, 4 Wochen)

Ergebnis von Sprint soll lauffähige Software sein

Wird Kunden am Sprintende zur Evaluation präsentiert

Während eines Sprints ist keine Kundeninteraktion (Product Owner) erlaubt

  • Konsequenz: Features/Anforderungen währen Sprint fixiert
  • Keine Störung von “außen”
323
Q

Artefakt - Sprint Backlog

(Was beinhaltet Sprint Backlog)

A

Enthält (technischen) Aufgaben die notwendig sind um das Sprint Ziels zu erfüllen

Charakterisierung: “Aufgabe”

  • eine nicht länger als 16 Std dauern
  • längere in Teilaufgaben zerlegen
  • bei Planung Arbeitsgeschwindigkeit (Team) bdenken
  • Teams aktualisieren Aufwände während Sprint
  • Jedes Teammitglied kann Pakete:
    • ergänzen, ändern, löschen
324
Q

Rollen im Scrum: “Product Owner

A

Representiert Endkundenbedürfnisse

  • (traditionell machte dies der Prokejt manager)

Für erreichung der wirtschaftl. Ziele verantwortlich

  • Steuert diese durch priorisierte Produckt Backlog und den Release Plan

Erstellt Produktkonzept und das Product Backlog

  • Dies wird kontinuierlich bearbeitet
  • Neue Anforderungen kommen hinzu, werden neu priorisiert
  • hochpriorisierte Anforderungen werden in neue verfeinert
  • enge Kommunikation mit Kunden

Erstellt/Aktualisiert Releaseplan

⇒ Wichtige Projektmanagementaufgaben führt er also selbst durch!

325
Q

Rollen im Scrum: “Team”

  • Was macht das Team?
A

Das Team führt die Arbeiten zur Produkterweiterung aus

Team entscheidet selbst, wie viele Anforderungen es im nächsten Sprint in Producktinkrekremente umwandeln kann.

  • 5-9 Mitarbeiter
  • Team entscheidet über Arbeitschritte/Organisation
    • (Entgegen trationellen Management)
326
Q

Rollen im Scrum: “Scrum Master”

  • Was macht der Scrum Master? (4 Punkte)
A

Ist Coach → hilft Team Scrum richtig einzusetzen

Überwacht einhaltung der Scrum Regeln

Moderiert Meetings

Sollte versuchen sich schnell überflüssig zu machen

327
Q
A
328
Q

Scrum - Aufwandsschätzung mit Product Backlog

A
  • Aufwand ist relativ zu anderen Aufwenden abschätzbar
  • Beginn mit klarer u. kleiner Anforderung
  • Anhand kleiner Anforderungen große abschätzen
  • Gleichgroße Anforderungen gruppieren
  • Product Backlog bei Disskursion benutzen
  • Schätzungen möglichst realistisch
    • genau - ist unmöglich
329
Q

Wofür steht Scrum wörtlich und was ist dessen Annahme?

A
  • Scrum = “Gedränge” (Aus dem Rugby)

Annahme

  • Entwicklungsprozesse sind so komplex, dass sie sich kaum vorausplanen lassen
330
Q

Scrum - Projektfortschrittverfolgung

  • Berichterstattung
  • Burndown-Bericht
  • Aufwandsschätzung
A

Berichterstattung in Scrum schafft Transparenz

  • Verzögerungen/Fortschritt schnell einsehbar

Burndown-Bericht

  • beschreibt aktuellen Projektfortschritt
  • führt Summe aller Aufwände im Spring-Backlog auf
  • Zeigt Änderungen der Aufwände an
  • Führt Summe aller Aufwände im Product Backlog am Ende jedes Sprints auf (zeigt Änderungen über Sprint-Grenzen hinweg auf)

Burndownchart

  • Verfolgung der Restaufwände für Gesamtprojekt

Aufwandsschätzung (Product Backlog) in Jira

  • Mittels Comulative Flow Diagramm
331
Q

Idee hinter SCRUM

A

Es gibt groben Ramen vor

  • Darin organiesiert Team sich selbst, Produktivität soll dadurch steigen

Team übernimmt gemeinsam Verantwortung für Tätigkeiten

Keine Kontrolle von “Oben”

Keine konkreten Use-Cases und Entwürfe werden vorgegeben

332
Q

Srcum im Überblick

  1. Was ist Scrum
  2. Rollen
  3. Product Backlog & Sprint
A

Ist ein agiles Managementframework zur Entwicklung von Software mit wenigen klar definierten Regeln

Anwndung von 3 Rollen

  • Product owner
  • Team
  • Scrum Master

Das Product Backlog enthält priorisierte Anforderungen

Erstellung von Produktinkrementen innerhalb kurzer Arbeitszyklen, genannt Sprint

  • ​Jedes Produktinkrement ist getestet und dokumentiert
  • Jeder Sprint beinhaltet Analyse, Design, Implementierung, Test, Bugfixing, Dokumentation
333
Q

Verkörpert Scrum die Werte des agilen Manifests?

A

Ja, als agiles Framework tut es das.

334
Q

Scrum - Velocity - Entwicklungsgeschwindigkeit berechnen

  • Wie berechnet man die Entwicklungsgeschwindigkeit?
A
  • Punkte verrechnen
335
Q

Scrum - Daily Scrum / Statusrunde

  • “Daily Scrum/Statusrunde/Daily stand up meeting” was ist das?
A

Statusmeeting des Teams (max. 15 min im Stehen)

Dient Informationsaustausch der Teammitglieder

Jedes Teammitglied beantwortet:

  • Welche Arbeitspakete hab ich seit letztem Meetig fertiggestellt
  • Welche Arbeitspakete wirst du bis zum nächsten Meetig bearbeiten
  • Gibt es behindernde Probleme bei deinen Aufgaben

Hindernisse nimmt der Scrum Master ins Impediment Backlog auf und beseitigt sie

336
Q

Scrum - Sprint Review

  • Sprint Review, was ist das und wer führt es durch?
A

Sprint Ergebnis wird einem Review unterzogen

  • Durch Team und Kunden
  • Z.B. Präsentation der laufenden Software

Was wird gemacht?:

  • Kunde prüft ob seine Anforderung erfüllt sind
  • Eventuelle Änderungen werden im Product Backlog dokumentiert
337
Q

Scrum - Velocity im Verlauf

“Häuprigkeiten”

A
338
Q

Scrum - Sprint Retrospective

  • Was wird hiert gemacht?
A
  • Betrachtung der zurückliegenden Sprintphase
  • “Was war gut”/ “was hat Verbesserungspotential”?
    • Eventuelle Anpassung des Impediment Backlogs
    • Eventuelle Anpassung des Product Backlogs
  • 15-30 Min
339
Q

Gib einen Überblick über das Scrum verfahren.

A
340
Q

Empfehlung für Scrum-Ablauf

A
341
Q

Scrum und XP (- Extreme Programming)

A
342
Q

Scrum als Wundermittel?

A

Scrum fördert die enge zusammenarbeit ist aber kein Wundermittel!

Das erfolgreiche Anwenden ist ein Lernprozess (dieser braucht Zeit und Geduld)

  • Oft sind die ersten Sprints (Iterationen) schwierig
344
Q

Lean, Agile, Scrum, XP, Kanban,…

A
345
Q

Bewertung Agiler Softwareentwicklung (Nach Meyer)

“The Brilliant”

A
347
Q

Bewertung Agiler Softwareentwicklung (Nach Meyer)

“The Good”

A

Anmerkung: Immer auch die anderen “alten” Tests durchführen

348
Q

Artefakt - Produckt Backlog

A

Enthält Features/Anforderungen des zu entwickelnden Produktes

  • Grundlage (erster Fassung) bilden Lastenheft, User-Stories, Interviews, Workshops
  • Umfasst alle Funktionen die Kunde wünscht
  • Vor jedem Sprint neu bewertet/priorisiert
  • Aber auch Bugs, technische Zwischenaufgaben,..
349
Q

Bewertung Agiler Softwareentwicklung (Nach Meyer)

“The Ugly”

A
  • Ablehnung traditioneller Projektleitungsaufgaben
    • Geht für meisten Teams nicht
    • Niemand will “Hilfs- Projektleiter sein”
  • Ablehnung von Hilfs-/Zwischenprodukten/ nicht auslieferbaren Produktteilen
  • Ablehnunf von Softwarearchitekturen
  • Ablehnung von Wiederverwendbarkeit als Entwicklungsziel
  • Kunde im Team
    • (In Praxis Kunde schwierig) (Product-Owner gut)
350
Q

Produckt Baglock

“hoch priorisierte Features für den nächsten Sprint”:

“niedrig priorisiete Features”:

A

hoch prioris.

  • stehen am Anfang
  • werden im Aufwand geschätzt (von ENtwicklern)
  • in Sprint Backlog übernommen und in Unteraufgaben zerlegt

niedrig prioris.

  • nicht detailiert beschrieben
  • Zeit wird für wesentlichen Elemente verwendet
351
Q

Produckt Baglog

Faktoren die über priorisierung Entscheiden:

A

Vertrautheit mit der fachlichen Domäne?

Homogene bearbeitung der Geschäftsprozesse/Anwendungsfälle von vers. Benutzern?

Fachliche Varianten, Ausnahmen zu berücksichtigen?

Ist Ablauf neu/verändert?

Wie viele vers. personen als Anforderungsgeber sind zu beachten?

Gibt es Risiko durch zu wenig Requirements-Engeneering in verzögerung, mehrkosten zu kommen?

Folgen bei vergessen von fachlichen Varianten/Details

357
Q

Scrum -Schätzworkshops

Was ist das?

A
  • Teilnehmer, Team, Product Owner & Srcum Master
  • Geht 2 Std lang
  • Soll alle Einträge des Product Backlog abschätzen
  • Ist bei Veränderungen während des Sprints nötig
  • Team schätzt gemeinsam ab (durch Diskursionen)
359
Q

Scrum - “Sprint-Planung”

Sprint Planungstreffen Teil 1

&

Sprint Planungstreffen Teil 2

A

Sprint Planungstreffen Teil 1

  • Product Owner erklärt Team die Anforderungen an Backlog Einträge
  • Einigung über “Sprint-Ziel” (Basis für Abnahme)

Sprint Planungstreffen Teil 2

  • Eigenverantwortliche Planung durch Team
  • Zerlegung der Backlog-Einträge in Arbeitspakete (AP)
  • Verteilung der Aufgaben an Teammitglieder
  • Erstellung des Sprint Backlog (+Schätzung der AP in std)
  • Schätzung im BacklogProduct ergänzen/anpassen
361
Q

Scrum - Velocity

Was ist Velocity?

A

Velocity = Entwicklungsgeschwindigkeit (in Scrum)

Für bessere Planung Einschätzung der Velocity

Velocity = Summe aller Aufwände der von Sprintende vom Product Owner abgenommenen Arbeitsergebnisse

  • Unfertige Ergebnisse (99,9% fertig) werden im Scrum nie abgenommen –> Es gibt daher keine “Anteilspunkte” für teilhafte Ergebnisse
362
Q

Scrum - Velocity (Entwicklungsgeschwindigkeit)

  • Wie können wir die Entwicklungsgeschwindigkeit bestimmen?
A
  • Erfahrungen aus vorhergehenden/ähnlichen Projekten
  • 2-3 Sprints durchführen und den erzielten Mittelwert nehmen
363
Q

Scrum - Velocity ⇒ “DoD”

  • Wofür steht Dod?
A

DoD = Definition of Done

  • Ist das Fertigstellungskriterium eines Product Backlog Eintrags
  • Variiert von Scrum zu Scrum Team
  • Sollte innerhalb eines Scrum Teams konsequent sein
372
Q

“Lean”

Was ist das

Vergleich mit Agile

Lean Software Developement Prinzipien

A

Westlicher Begriff für das TPS (“Toyota Production System”)

“Lean” stammt aus Produktion

“Agile” stammt aus Softwareentwicklung

Lean Software Developement Prinzipien

  • Müll beseitigen
  • Besser werden
  • Enscheiden so spät wie möglich
  • Liefern so schnell wie möglich
  • Das Team stärken
  • Qualität einbauen
  • Alles optimieren
373
Q

“Agile vs. Lean”

A

Agile: Fokus auf Produkt

  • “Agile” stammt aus Softwareentwicklung
  • Wollen auf veränderte Anforderungen reagieren können, daher bei ihnen sehr flexible Vorhergehensweise

Lean: Fokus auf Prozess

  • “Lean” stammt aus Produktion
  • Kombination aus Fokussierung auf beteiligte Menschen & Anspruch der stetigen Verbesserung
  • Wollen Prozesse standardisieren & vereinfachen
    • So lange bis nur noch die Elemente da sind, die wesentlich für Wertschöpfung sind
376
Q

Bewertung Agiler Softwareentwicklung (Nach Meyer)

A
  • Bertrant Meyer
    • Bewertung agile Entwicklungsmethodik aus entspannter wissenschaftlicher Sichtweise
    • Er deffiniert agile Methoden
    • Unterscheidet in
      • The “Good”
      • The “Bad”
      • The “Ugly”
378
Q

Bewertung Agiler Softwareentwicklung (Nach Meyer)

“The Indifferent”

A
  • Pair Programming
    • = 2 gleich kompetente Programmierer arbeiten gleichzeitig (Dies ist manchmal sinnvoll)
  • Ein “Open-space”-Büro
  • Selbstorganisierende Teams
    • Bedenke (Fast kein Orchester kann ohne Dirigent arbeiten)
  • Verträgliche Arbeitszeiten einhalten (:/ Deadlines)
  • Erstellung von minimaler Funktionalität
  • Planning game, planning poker (Aufwände schätzen)
  • Jeder im Team kann alles (Anmerkung: unrealistisch)
380
Q

Plattitüden im Agilen Manifest

A

Reaktion auf Plattitüden –> Anmerkung

Anmerkung

  • kritisch mit neuen Vorhergehensweisen umgehen
381
Q

“Agile & Lean” - Fazit

A
  • Entwickeln sie Software systematisch und verbessern sie stetig
  • Benutzen sie projektspezifische, gut angepasste Methoden (Manchmal Agil, manchmal nicht
  • Kommunizieren sie
  • Softwareentwicklung ist nicht rein technisch
  • Bleiben sie am Ball den SE und Informatik entwickeln sich stetig
  • Keine unnötige Laberei
  • Kein certified Geldverfdiener-Master
  • Keine Religion statt Wissenschaft

Anmerkung

  • Zertifikate heißen nicht dass du gut bist
  • Sind aber gut für den Lebenslauf