Softwaretechnik - Vorgehensmodelle
39 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Welches der folgenden Modelle gehört nicht zu den klassischen Vorgehensmodellen?

  • Rational Unified Process (RUP)
  • Wasserfall Modell
  • V-Modell
  • Scrum (correct)

Welches Agile Vorgehensmodell wurde von Kent Beck entwickelt?

  • Crystal
  • Extreme Programming (XP) (correct)
  • Kanban
  • Adaptive Software Development

Welche der folgenden Aussagen über Vorgehensmodelle ist korrekt?

  • Das Spiral-Modell ist ein Beispiel für agile Vorgehensmodelle.
  • Vorgehensmodelle dürfen nicht individuell angepasst werden.
  • Vorgehensmodelle organisieren Entwicklungsprozesse in strukturierte Abläufe. (correct)
  • Agile Vorgehensmodelle sind immer weniger strukturiert als klassische.

Welches Vorgehensmodell ist nicht spezifisch für agile Entwicklung?

<p>Wasserfall Modell (B)</p> Signup and view all the answers

Welche der folgenden Behörden oder Individuen ist mit dem Rational Unified Process (RUP) verbunden?

<p>Berry Boehm (C)</p> Signup and view all the answers

Welches Attribut wird im Konstruktor der Klasse Account initialisiert?

<p>customer (C)</p> Signup and view all the answers

Was wird als Rückgabewert von der Methode getBalance() definiert?

<p>Immer 0 (A)</p> Signup and view all the answers

Welche Annotation wird verwendet, um die Testmethode zu kennzeichnen?

<p>@Test (A)</p> Signup and view all the answers

Was passiert in der Testmethode testCreateAccount?

<p>Ein neues Konto wird erstellt und getestet. (D)</p> Signup and view all the answers

Welche der folgenden Aussagen ist korrekt bezüglich des Attributs balance?

<p>balance ist ein privates Attribut. (C)</p> Signup and view all the answers

Welche Phase gehört nicht zu den Aktivitäten in der Softwareentwicklung?

<p>Konzeption (C)</p> Signup and view all the answers

Was gehört zu den temporären Aktivitäten in der Softwareentwicklung?

<p>Validierung (C), Analyse (D)</p> Signup and view all the answers

Welche Aktivität folgt typischerweise auf den Test in der Softwareentwicklung?

<p>Deployment (C)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt die Evolution in der Softwareentwicklung?

<p>Anpassung der Software an neue Anforderungen (D)</p> Signup and view all the answers

Was gibt die Methode 'getBalance()' in der Klasse 'Account' zurück?

<p>42 (C)</p> Signup and view all the answers

Welche Vorgehensmodelle sollten in einem Bewerbungsgespräch besprochen werden?

<p>Problemadäquate Modelle (A)</p> Signup and view all the answers

Was bedeutet Übersetzbarkeit in diesem Kontext?

<p>Methoden müssen implementiert sein und Rückgabewerte haben. (B)</p> Signup and view all the answers

Was ist eine Aktivität, die während der Implementierungsphase nicht durchgeführt wird?

<p>Testen (B)</p> Signup and view all the answers

Wie sollten verschiedene Vorgehensmodelle in der Praxis betrachtet werden?

<p>Als problemadäquat (C)</p> Signup and view all the answers

Wie wird die Methode 'testCreateAccount()' in der Testklasse korrekt aufgerufen?

<p>Mit der @Test Annotation (B)</p> Signup and view all the answers

Welche Aussage ist falsch über die Phasen in der Softwareentwicklung?

<p>Phasen sind nicht miteinander verbunden. (D)</p> Signup and view all the answers

Was wird im Test 'assertEquals(

<p>Der Name des Kunden, der erwartet wird, und null wird zurückgegeben. (A)</p> Signup and view all the answers

Welche der folgenden Aussagen ist korrekt in Bezug auf den Zusammenhang zwischen der 'Account' Klasse und der 'AccountTest' Klasse?

<p>Die Account-Klasse kann ohne Tests verwendet werden. (C)</p> Signup and view all the answers

Welche Aussage beschreibt das Wasserfallmodell korrekt?

<p>Aktivitäten sind chronologisch in Phasen unterteilt. (C)</p> Signup and view all the answers

Wie wird der Fortschritt im agilen Prozess typischerweise bewertet?

<p>In kurzen Sprints mit kontinuierlicher Bewertung. (B)</p> Signup and view all the answers

Was ist ein typisches Merkmal der Implementierung im Wasserfallmodell?

<p>Alle Anforderungen müssen vor der Implementierung vollständig definiert sein. (D)</p> Signup and view all the answers

Welches der folgenden Bücher behandelt die Methoden von Agile-Entwicklung?

<p>Extreme Programming Explained (C)</p> Signup and view all the answers

Wie verhält sich die Anwenderfreundlichkeit in den verschiedenen Phasen des Wasserfallmodells?

<p>Sie ist 0% bis zur Testphase verwendbar. (A)</p> Signup and view all the answers

Was definiert die Anzahl der Iterationen im agilen Prozess?

<p>Die verfügbare Zeit und Ressourcen. (C)</p> Signup and view all the answers

Welche Beschreibung passt am besten zu den Aktivitäten in agilen Prozessen?

<p>Aktivitäten bestehen aus vielen kleinen Iterationen. (A)</p> Signup and view all the answers

Was zeichnet den Rational Unified Process (RUP) aus?

<p>Er kombiniert verschiedene Ansätze und Iterationen. (A)</p> Signup and view all the answers

Was ist ein Hauptmerkmale von eXtreme Programming (XP)?

<p>Der Code wird permanent lauffähig gehalten. (D)</p> Signup and view all the answers

Welche der folgenden Aussagen beschreibt den "Test-First"-Ansatz am besten?

<p>Zuerst Anwendertests definieren, dann den Code entwickeln. (C)</p> Signup and view all the answers

Was ist eine der drei Rollen in Scrum?

<p>Product Owner (C)</p> Signup and view all the answers

Welches Artefakt gehört nicht zum Scrum-Prozess?

<p>Code Review Dokument (D)</p> Signup and view all the answers

Was beschreibt den "Burndown Chart" in Scrum?

<p>Ein Chart, das die Ist- und Planung der Zielerreichung anzeigt. (B)</p> Signup and view all the answers

Welches Prinzip gehört nicht zu den drei Prinzipien von Scrum zur Reduzierung der Komplexität?

<p>Effizienz (C)</p> Signup and view all the answers

Warum ist eXtreme Programming hauptsächlich für kleinere Projekte geeignet?

<p>Die Entwicklungszyklen sind sehr kurz und dynamisch. (B)</p> Signup and view all the answers

Was passiert während der Sprint-Retrospektive in Scrum?

<p>Die Teamleistungen werden bewertet. (C)</p> Signup and view all the answers

Flashcards

Testklasse

Eine Testklasse, die die zu testende Klasse testet.

Zu testende Klasse

Eine Klasse, die getestet wird.

Übersetzbarkeit

Überprüfen, ob der Code fehlerfrei kompiliert werden kann.

Methodensignaturen und Standard-Rückgabewerte

Die Methodensignaturen und die Standard-Rückgabewerte müssen vorhanden sein, um die Übersetzbarkeit zu gewährleisten.

Signup and view all the flashcards

Testen

Verarbeiten und ausführen des Codes, um Fehler zu finden.

Signup and view all the flashcards

Phasenmodell

Die Aufteilung der Softwareentwicklung in verschiedene Phasen, die jeweils bestimmte Aktivitäten beinhalten.

Signup and view all the flashcards

Vorgehensmodell

Dient zur Strukturierung und Organisation der Softwareentwicklung.

Signup and view all the flashcards

Anforderungsanalyse

Die Definition der Anforderungen, die die Software erfüllen soll.

Signup and view all the flashcards

Entwurf

Die Erstellung der Architektur und des Designs der Software.

Signup and view all the flashcards

Implementierung

Die Umsetzung des Designs in Code.

Signup and view all the flashcards

Deployment

Die Bereitstellung der Software für den Benutzer.

Signup and view all the flashcards

Evolution

Die kontinuierliche Anpassung und Weiterentwicklung der Software nach der Bereitstellung.

Signup and view all the flashcards

Wasserfallmodell

Das Wasserfallmodell ist ein klassisches Vorgehensmodell, bei dem die Phasen der Entwicklung in einer strengen Reihenfolge abgearbeitet werden, wie ein Wasserfall von oben nach unten.

Signup and view all the flashcards

V-Modell

Das V-Modell ist ein weiteres klassisches Vorgehensmodell, bei dem die Phasen der Entwicklung und Testung parallel verlaufen, wie die beiden Arme eines V.

Signup and view all the flashcards

RUP (Rational Unified Process)

RUP (Rational Unified Process) ist ein iteratives und inkrementelles Vorgehensmodell, bei dem die Entwicklung in mehreren Iterationen erfolgt und dabei kontinuierlich Feedback eingeholt wird.

Signup and view all the flashcards

Agile Vorgehensmodelle

Agile Vorgehensmodelle zeichnen sich durch Flexibilität und iterative Entwicklung aus. Sie legen Wert auf schnelles Feedback und Anpassung an sich ändernde Anforderungen.

Signup and view all the flashcards

Klasse

Eine Klasse, die die Eigenschaften und das Verhalten eines Objektes repräsentiert. Im Beispiel stellt die Klasse "Account" ein Bankkonto dar, das Kundenname (customer) und Kontostand (balance) speichert und Methoden wie getCustomer() und getBalance() bietet.

Signup and view all the flashcards

Objekt

Ein Objekt einer Klasse, das mit einem eigenen Zustand (z. B. Kundenname und Kontostand) und Verhalten (z. B. Methoden, um diese Werte zu ändern) ausgestattet ist.

Signup and view all the flashcards

Attribute

Ein Attribut beschreibt die Eigenschaften eines Objektes. Im Beispiel sind customer und balance Attribute der Klasse Account.

Signup and view all the flashcards

Methode

Eine Methode stellt eine bestimmte Funktionalität zur Verfügung, die auf ein Objekt ausgeführt werden kann. Im Beispiel ist getCustomer() eine Methode, die den Kundennamen zurückgibt.

Signup and view all the flashcards

Initialisieren

Eine Methode, die vor jedem einzelnen Testfall ausgeführt wird, um den Zustand des Objekts auf einen definierten Ausgangszustand zurückzusetzen, z. B. ein neues Bankkonto mit einem Anfangsguthaben von 0.

Signup and view all the flashcards

eXtreme Programming (XP)

Eine agile Methode, die auf kleinen, iterativen Entwicklungsschritten basiert. Tests und Code sind die primäre Form der Dokumentation. Es wird Wert auf automatisiertes Testen, Paarprogrammierung und Refactoring gelegt.

Signup and view all the flashcards

Scrum

Eine agile Methode, die inkrementell und iterativ arbeitet. Es geht darum, Komplexität durch Transparenz, Überprüfung und Anpassung zu reduzieren. Drei Rollen (Product Owner, Entwicklungsteam, ScrumMaster) führen verschiedene Aktivitäten durch, die alle zeitlich begrenzt sind.

Signup and view all the flashcards

Sprint Backlog

Eine Liste von User Stories, die in einem Sprint implementiert werden sollen.

Signup and view all the flashcards

Auslieferbares Produktinkrement

Das Ergebnis eines Sprints, das eine lauffähige und teilweise Version des Produkts darstellt.

Signup and view all the flashcards

Burndown Chart

Ein Diagramm, welches den Fortschritt eines Projekts visualisiert und zeigt, ob die Ziele rechtzeitig erreicht werden.

Signup and view all the flashcards

Sprint

Eine zeitlich begrenzte Phase, in der ein Teil des Produkts entwickelt wird. Die Dauer eines Sprints ist typischerweise zwei bis vier Wochen.

Signup and view all the flashcards

ScrumMaster

Die Rolle im Scrum-Team, die für die Planung und Umsetzung von Sprints sowie für die Kommunikation mit dem Product Owner verantwortlich ist.

Signup and view all the flashcards

Product Owner

Die Rolle im Scrum-Team, die die Produktvision und die Anforderungen repräsentiert.

Signup and view all the flashcards

RUP

RUP (Rational Unified Process) ist ein iteratives und inkrementelles Vorgehensmodell, das eine flexible und effiziente Softwareentwicklung ermöglicht.

Signup and view all the flashcards

Agile Softwareentwicklung

Agile Softwareentwicklung ist ein iterativer und inkrementeller Ansatz zur Softwareentwicklung, der sich durch flexible Prozesse, enge Zusammenarbeit mit dem Kunden und kontinuierliche Verbesserung auszeichnet.

Signup and view all the flashcards

Agile Prozesse

Agile Prozesse ermöglichen es, die Software schrittweise zu entwickeln und frühzeitig Feedback vom Kunden zu erhalten.

Signup and view all the flashcards

Fortschrittsmessung in agilen Prozessen

In agilen Prozessen wird der Fortschritt der Softwareentwicklung in kürzeren Zeiträumen gemessen, zum Beispiel durch die Anzahl der funktionsfähigen Features.

Signup and view all the flashcards

JUnit

JUnit ist ein Testframework für Java, das die Entwicklung von Unit-Tests erleichtert.

Signup and view all the flashcards

Study Notes

Vorlesung Softwaretechnik - Vorgehensmodelle

  • Vorlesung von Prof. Bernhard Rumpe, Software Engineering, RWTH Aachen
  • Webseite: http://www.se-rwth.de/
  • Thema: Software-Entwicklungs-Vorgehensmodelle
  • Unterschiedliche Modelle in der Praxis werden angewendet
  • Wichtige Vertreter von Vorgehensmodellen sollen kennengelernt werden
  • Prozessschritte, Akteure und zeitliche Abläufe der verschiedenen Vorgehensmodelle sind zu betrachten

Warum, Was, Wie und Wozu?

  • Verschiedene, problemadäquate Vorgehensmodelle in der Praxis werden angewandt
  • Die wichtigsten Vertreter von Vorgehensmodellen sind zu kennen
  • Prozessschritte, Akteure und Zeitabläufe der verschiedenen Modelle sollen betrachtet werden
  • Auswahl des geeigneten Modells für ein spezifisches Projekt ist entscheidend
  • Fragen beim Bewerbungsgespräch zu den Modellen stellen und entscheiden, ob man mit einem Modell arbeiten könnte/wollen.

Softwaretechnik - 2.1 Einleitung

  • Literaturhinweis: Sommerville 1.2
  • Einleitende Zusammenfassung der Software-Entwicklung-Aktivitäten
  • Trennung zeitlich abgegrenzter Phasen und inhaltlich bestimmter Aktivitäten (z.B. Analyse, Entwurf, Implementierung, Test, Deployment, Evolution)
  • Wichtig: Detaillierter Prozessabläufe der Entwicklungsphasen

Aktivitäten in der Softwareentwicklung

  • Trennung zeitlich und inhaltlich bestimmter Aktivitäten in der Softwareentwicklung
  • Aktivitäten in der Entwicklungsphase (z.B. Analyse, Entwurf, Implementierung, Test, Deployment, Evolution)
  • Weitere Aktivitäten, wie Versionsmanagement, Reviews, Tooling, Variantenmanagement und Prozessoptimierung
  • Alle Aktivitäten müssen koordiniert sein, um die gewünschte Software zu entwickeln und zu testen.

Vorgehensmodelle

  • Organisieren eines Entwicklungsprozesses in strukturierte Abläufe
  • Methoden und Techniken zur Darstellung von Aufgabenstellungen und Aktivitäten in logischer Reihenfolge
  • Vorgehensmodelle sind organisatorische Hilfsmittel, die an die spezifischen Projektbedürfnisse angepasst werden müssen
  • Ausarbeitung der spezifischen Maßnahmenplanung für die jeweilige Vorgehensweise

Bekannte Vorgehensmodelle

  • V-Modell, RUP, Agile Methoden (Agile Softwareentwicklung, Extreme Programming, Scrum, Kanban, Agile Modeling, Adaptive Software Development)
  • Open Source-Methoden (z.B. Hacken) sind ebenfalls relevant
  • Wichtige Informationen für Auswahl des passenden Vorgehensmodells für das jeweilige Projekt

Arten von Vorgehensmodellen

  • Klassische Modelle (Wasserfallmodell, V-Modell, Rational Unified Process (RUP), Spiralmodell)
  • Agile Modelle (Extreme Programming (XP), Crystal, Kanban, Scrum, Agile Modeling, Adaptive Software Development)

Klassische Vorgehensmodelle (z.B. Wasserfallmodell)

  • Sequenzieller Ansatz mit klar definierten Phasen, die nacheinander abgearbeitet werden
  • Beispielsweise: Analyse, Entwurf, Implementierung, Test, Integration, Wartung.
  • Ungefährer Arbeitsaufwand in den einzelnen Phasen (z.B. 50% Implementierung, 20% Test, 10% Entwurf).

RUP (Rational Unified Process)

  • Vier Phasen: Entstehung (Inception), Ausarbeitung (Elaboration), Erstellung (Construction), Übergang (Transition)
  • Zweidimensionale Darstellung von Zeitlichem Verlauf und Aktivitäten(Analyse, Entwurf, Implementierung, ...) über alle Phasen.
  • Aufwandsverteilung und Schwerpunkte der einzelnen Phasen

Agile Vorgehensmodelle (z.B. Scrum)

  • Iterativer und inkrementeller Ansatz mit kurzen Zyklen (Sprints)
  • Fokus auf Flexibilität und Anpassungsfähigkeit an veränderte Anforderungen während des Entwicklungsprozesses
  • Aktivitäten innerhalb von Sprints (z.B. Sprint Planning, Sprint Review, Daily Scrum, Sprint Retrospective)
  • Visualisierter Überblick über den Fortschritt (z.B. Burndown-Chart)

Continuous Integration

  • Ständiges, automatisiertes Integrieren und Testen des Software-Systems
  • Zerlegung der Integrationsaufgabe in kleine Einheiten
  • Einsatz von Versionsverwaltung, Build-Automatisierung und automatischen Testfallausführung

DevOps

  • Integration von Entwicklung und Betrieb (Development und Operations) in einen gemeinsamen Prozess
  • Prozess zur Bereitstellung, Auslieferung und Wartung von Software in einem Betriebsumfeld.
  • Zusammenarbeit von Entwicklung, IT-Betrieb, Qualitätstechnik und Sicherheit

Vergleich der Vorgehensmodelle

  • Unterschiedliche Aktivitäten-Ablaufmodelle in Wasserfall vs. Agile Prozess
  • Zeitleiste und Abfolge der Aktivitäten in den verschiedenen Modellen (chronologisch vs iterativ, zyklenorientiert).
  • Unterschiede im Fokus von Aktivitäten (z.B. Qualitätssicherung in frühen Phasen vs. iteratives Feedback und Anpassung).

Testen

  • Dynamische Qualitätssicherung
  • Testen ist Prozess, Code zu testen.
  • Test-First Ansatz
  • Testfälle organisieren mit TestSuites

Anwendungsbeispiele (z.B. Konto)

  • Beispiele für Testfälle (z.B. Konto erstellen, Einzahlung, Abhebung)
  • Beschreibung und Erstellung von konkreten Software-Testfällen

JUnit

  • Framework für Java
  • Automatisierung, Organisierung und Wiederholung von Tests.
  • Nutzung von Annotationen (@Test, @Before, @After, @BeforeClass, @AfterClass)

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Dieses Quiz behandelt die verschiedenen Vorgehensmodelle in der Softwaretechnik, die in der Praxis angewendet werden. Lernen Sie wichtige Vertreter dieser Modelle kennen und verstehen Sie die Prozessschritte, Akteure und den zeitlichen Ablauf. Zusätzlich wird erörtert, wie man das geeignete Modell für spezifische Projekte auswählt.

More Like This

Use Quizgecko on...
Browser
Browser