DiscoverSoftwaretechnik 1, Vorlesung, SS2015
Softwaretechnik 1, Vorlesung, SS2015
Claim Ownership

Softwaretechnik 1, Vorlesung, SS2015

Author: Karlsruher Institut für Technologie (KIT)

Subscribed: 6Played: 9
Share

Description

Beschreibung:
Ziel dieser Vorlesung ist es, das Grundwissen über Methoden und Werkzeuge zur Entwicklung und Wartung umfangreicher Software-Systeme zu vermitteln. Themen: Projektplanung, Systemanalyse, Kostenschätzung, Entwurf, Implementierung, Validation und Verifikation, Software-Wartung, Software-Werkzeuge, Programmierumgebung und Konfigurationskontrolle. Vorlesungsaufzeichnung: http://webcast.kit.edu
25 Episodes
Reverse
22 | Vorlesung 00:00:10 Swing-Nebenläufigkeitsbeispiel 00:04:44 Kapitel X – Blockierende Methoden in Swing 00:04:49 Schaltflächen: JButton 00:07:58 Arten von Testhelfern 00:09:49 Fehlerklassen 00:12:40 Modul-/Softwaretestverfahren 00:15:20 Testphasen 00:16:47 Klassifikation testender Verfahren (1) 00:23:29 Klassifikation testender Verfahren (2) 00:26:23 Definition: Zwischensprache 00:28:04 Definition: Strukturerhaltende Transformation 00:29:14 Beispieltransformation 00:33:22 Definition: Grundblock (GB) (engl. basic block) 00:34:56 Definition: Kontrollflussgraph (KFG) 00:36:00 Kontrollflussgraph finden 00:40:01 Beispiel Kontrollflussgraph 00:41:25 Kontrollflussgraph vereinfachen 00:43:15 Definition: Anweisungsüberdeckung 00:44:42 Definition: Zweigüberdeckung 00:45:23 Anw.-vs. Zweigüberdeckung 00:48:27 Definition: Pfadüberdeckung 00:49:37 Beispiel für Anweisungs-, Zweig- und Pfadüberdeckung 00:50:11 Aufwand der Pfadüberdeckung 00:52:58 Definition: Subsumieren 00:54:15 Hierarchie der KFO-Teststrategien 00:56:22 Zusammenfassung: KFO Teststrategien (1) 00:59:33 Aufwand der Pfadüberdeckung 01:02:44 Funktionale Tests (Functional Tests) 01:05:28 Funktionale Äquivalenzklassenbildung 01:07:18 Äquivalenzklassenbildung: Beispiel (1) 01:09:15 Äquivalenzklassenbildung: Beispiel (2) 01:09:45 Äquivalenzklassenbildung: Beispiel (3) 01:12:20 Grenzwertanalyse 01:13:43 Zufallstest (random testing) 01:16:44 Verwendung von Testhelfern (1) 01:18:35 Verwendung von Testhelfern (2) 01:19:58 Beispiel: Attrappe (dummy) (1) 01:20:42 Beispiel: Attrappe (2) 01:21:29 Beispiel: Attrappe (3) 01:21:59 Beispiel: Attrappe (4) 01:24:36 Beispiel: Nachahmung (mock object) (1) 01:26:27 Beispiel: Nachahmung (mock object) (2) 01:26:57 Beispiel: Nachahmung (mock object) (3) 01:27:57 Beispiel: Nachahmung (mock object) (4)
24 | Vorlesung 00:00:07 Test von Zustandsautomaten 00:02:51 Test von Zustandsautomaten: Beispiel »Uhr mit zwei Tasten« 00:02:59 Leistungstests: Lasttests 00:04:21 Leistungstests: Stresstest 00:06:10 Übersichtsmatrix: Was kommt im Folgenden? 00:06:14 Manuelle Prüfung – Anmerkungen 00:08:26 Software-Inspektionen (Überblick) 00:09:25 Abgrenzung 00:12:39 Definition: Inspektion 00:12:55 Vor- und Nachteile von Inspektionen 00:14:21 Zahlen über Nutzen und Kosten 00:16:02 Warum Inspektionen effektiv sind 00:17:08 Phasen einer Inspektion 00:18:11 1. Vorbereitung 00:18:30 2. Individuelle Fehlersuche 00:19:52 3. Gruppensitzung (Dauer: 2h) 00:21:14 4. Nachbereitung 00:22:32 5. Prozessverbesserung (nur gelegentlich) 00:22:43 Rollen 00:23:07 Formular für Problempunkte (typisch) 00:23:50 Defektklassifikation 00:24:21 Lesetechniken – Überblick (1) 00:25:47 Lesetechniken – Überblick (2) 00:25:54 Lesetechniken – Prüflisten (1) 00:26:18 Lesetechniken – Prüflisten: Beispiel (1) 00:27:04 Lesetechniken – Prüflisten: Beispiel (2) 00:28:57 Lesetechniken – Perspektiven od. Szenarien (engl. perspectives, scenarios) (1) 00:29:05 Werkzeuge zur Inspektionsunterstützung (1) 00:29:09 Lesetechniken – Perspektiven – Beispiel (2) 00:30:23 Werkzeuge zur Inspektionsunterstützung (2) 00:31:22 Werkzeuge zur Inspektionsunterstützung (3) Beispiel Agile Review 00:33:34 Werkzeuge zur Inspektionsunterstützung (4) Beispiel Agile Review 00:33:58 Werkzeuge zur Inspektionsunterstützung (6) Beispiel Agile Review 00:34:21 Übersichtsmatrix: Was kommt im Folgenden? 00:34:37 Prüfprogramme 00:36:26 Integrationstest (engl. integration test) 00:37:20 Integrationsstrategien 00:43:15 Systemtest 00:44:29 Klassifikation der Systemtests 00:45:00 Definition: Regressionstest 00:45:51 Abnahmetests (engl. acceptance test) 00:46:53 Literatur 00:48:03 Prozessmodelle 00:48:26 Programmieren durch Probieren 00:51:14 Wasserfallmodell 00:55:08 »V-Modell 97« – das »handelsübliche« 00:56:57 V-Modell XT (Vorgehensmodell) 00:58:46 V-Modell XT: Rollen 00:58:58 V-Modell XT: Abbildung Submodelle/Vorgehensbausteine 00:59:09 V-Modell XT: Produktzustände 00:59:41 Prototypmodell 01:01:22 Prototypmodell 1 01:02:13 Prototypmodell 2 01:04:48 Iteratives Modell 01:08:34 Synchronisiere und Stabilisiere 01:11:10 Synchronisiere und Stabilisiere, Planungsphase 01:13:03 Synchronisiere und Stabilisiere, Entwicklungsphase 01:15:12 Synchronisiere und Stabilisiere, Stabilisierungsphase 01:16:34 Synchronisiere und Stabilisiere, Zeitplan 01:17:32 Synchronisiere und Stabilisiere 01:23:31 Synchronisiere und Stabilisiere, Vergleich mit Phasenmodell
17 | Vorlesung Java Puzzlers: Da war doch was … 00:00:07 Quelltext 00:01:12 Ausgabe 00:01:50 DGrund 00:02:17 Behebung 00:02:28 Lehre 00:03:38 Bidirektionale Eins-zu-Eins Assoziation 00:04:03 1:N-Assoziation 00:08:47 M:N-Assoziation 00:09:38 Zusammenfassung 00:12:09 Sonderfälle 00:13:30 Qualifizierte Assoziationen 00:15:51 Assoziationsklassen 00:19:06 Kapitel 4.1.2 – Abbildung und Implementierung von Zustandsautomaten 00:19:35 Speicherung des Zustands eines Objektes 00:19:57 Beispiel für implizite Speicherung des Zustands 00:22:17 Beispiel für explizite Speicherung des Zustands 00:23:39 Vergleich implizite/explizite Speicherung des Zustands 00:25:32 Beispiel für eingebettete explizite Speicherung 00:31:18 Vorgehensweise 00:35:35 Vorgehensweise: Delegation 00:35:43 Implementierung der Methoden der abstrakten Klasse Zustand 00:36:02 Vorgehensweise: Delegation 00:38:49 Beispiel 00:44:50 Kapitel 4.2 – Grundlagen zur Parallelverarbeitung 00:45:09 Warum Parallelverarbeitung? 00:53:02 Die Mooresche Regel (Moore´s Law) 00:59:52 Strategische Änderung: Multiprozessoren auf einem Chip 01:00:28 Doppelprozessor Intel Core Duo 01:01:00 Mehrkern-Architekturen 01:06:00 Sun Niagara 2: 8 Prozessoren auf 3,42 qcm 01:07:24 Intel Sandy Bridge 2011 01:09:39 Vielkerner in Graphik-Prozessoren 01:11:18 Erstes Mobiltelefon mit Mehrkernprozessor 01:11:34 Samsung, Apple u.a. folgen 01:12:07 1 Jahr später: Das erste 5-Kern Mobiltelefon 01:12:18 Nvidia Tegra 3 01:13:31 Nvidia Tegra 3 Schemadiagramm 01:13:44 Moor´sche Regel, neue Version 01:14:03 Was sind die Folgen? (1) 01:15:05 Was sind die Folgen? (2) 01:15:43 Was sind die Folgen? (3) 01:17:50 Grundbegriffe 01:23:36 Gemeinsamer Speicher (1) 01:27:23 Prozesse und Kontrollfäden 01:32:15 Gemeinsamer Speicher (2)
23 | Übung:
16 | Vorlesung 00:00:09 Die Ausnahme der Schleife – Quelltext 00:03:30 Die Ausnahme der Schleife – Ausgabe 00:04:16 Die Ausnahme der Schleife – Fehler 00:05:52 Die Ausnahme der Schleife – Behebung 00:06:26 Die Ausnahme der Schleife – Lehre 00:08:30 Fliegengewicht (engl. flyweight) 00:09:18 Fliegengewicht: Beispiel (1) 00:12:04 Fliegengewicht: Struktur 00:16:00 Fliegengewicht: Beispiel (2) 00:16:06 Fliegengewicht: Anwendbarkeit 00:19:21 Memento (engl. memento) 00:20:10 Memento: Struktur 00:22:32 Memento: Motivierendes Beispiel (1) 00:23:00 Memento: Motivierendes Beispiel (2) 00:27:22 Prototyp (engl. prototype) 00:27:59 Prototyp: Struktur 00:28:15 Prototyp: Beispiel in Java (1) 00:29:36 Prototyp: Beispiel in Java (2) 00:30:17 Prototyp: Anwendbarkeit 00:32:21 Zustand (engl. state) 00:32:32 Zustand: Anwendbarkeit 00:32:35 Steuerungsmuster 00:33:36 Befehl (engl. command) 00:34:38 Befehl: Struktur 00:37:20 Befehl: Beispiel (1) 00:39:21 Befehl: Beispiel (2) 00:40:12 Befehl: Abfolge von Befehlen 00:41:58 Befehl: Anwendbarkeit 00:45:27 Auftraggeber/-nehmer (engl. master/worker) 00:46:20 Master/Worker: Struktur 00:47:26 Master/Worker: Beispiel 00:52:21 Master/Worker: Anwendbarkeit 00:54:20 Bequemlichkeitsmuster 00:54:30 Bequemlichkeit-Methode: Struktur 00:54:52 Fassade (engl. facade) 00:54:54 Fassade: Anwendbarkeit 00:54:55 Null-Objekt: Struktur 00:54:57 Null-Objekt (engl. null object) 00:55:14 Wo finde ich mehr über Entwurfsmuster? 00:56:57 Zusammenfassung 01:06:20 Wo sind wir gerade? 01:07:36 Lernziele 01:08:01 Inhalt 01:08:46 Einführung und Überblick 01:12:27 Kapitel 4 – Die Implementierungsphase 01:12:49 Kapitel 4.1 – Abbildung von UML-Modellen und Code 01:12:54 Literatur 01:13:06 Kapitel 4.1.1 – Abbildung von Klassendiagrammen 01:13:08 Abbildung von Klassen: oo-Sprachen 01:13:20 Abbildung von Klassen: Nicht-OO-Sprachen (1) 01:14:49 Abbildung von Klassen: Nicht-OO-Sprachen (2) 01:20:03 Abbildung von Klassen: Nicht-OO-Sprachen (3) 01:24:22 Abbildung von Assoziationen 01:24:56 Unidrektionale Eins-zu-Eins-Assoziation 01:26:08 Bidrektionale Eins-zu-Eins-Assoziation
19 | Übung 00:00:07 Risks to the Public 00:00:34 Minuten – Eine Rakete mit Nuklearsprengkopf 00:02:57 »Lösung« des Militärs 00:05:04 Lehre Aufgabe 1 00:06:02 Kreuzworträtsel Aufgabe 2: Pizza-Modellierung 00:10:20 Überblick 00:14:49 a) Kombinieren aller Formen mit allen Rezepten 00:15:16 b) Die Pizza-Konstruktoren 00:18:25 c) Die Reihenfolge der Beläge sicherstellen Aufgabe 3: Entwurfsmuster in der Java-API 00:21:14 java.io.Reader 00:24:50 getInstance() aus java.util.Calendar 00:28:02 valueof(int) aus java.lang.integer Aufgabe 4: Sequenzdiagramm 00:30:02 Quelltext Kapitel 4.3 00:44:28 Programmierrichtlinien 00:45:20 Wozu Programmierrichtlinien? 00:47:35 Welche Programmierrichtlinie soll ich nehmen? 00:48:09 Beispiel Eclipse-Formatierer 00:48:28 Beispiel Eclipse-Formatierer: Einstellungen 00:48:36 Beispiel Eclipse Kaapitel 4.4 00:51:22 Selbstkontrolliertes Programmieren 00:55:09 Typische Programmierfehler (1) 00:56:10 Typische Programmierfehler (2) 00:57:54 Typische Programmierfehler (3) 00:58:52 Typische Programmierfehler (4) 00:59:58 Typische Programmierfehler (5) 01:01:30 Typische Programmierfehler (6) 01:02:35 Typische Programmierfehler (7) 01:03:56 Selbstkontrolliertes Programmieren 01:07:54 Fehlerlogbuch 01:08:22 Zeitlogbuch
18 | Vorlesung Java Puzzlers: Wer zuerst kommt … 00:00:07 Quelltext 00:01:53 Quelltext fortgesetzt 00:03:42 Ausgabe 00:16:31 Fadenverschränkung (Thread Interleaving) 00:16:55 Korrektur 00:17:44 Überblick 00:17:54 Konstrukte zum Erzeugen von Parallelität 00:26:04 Koordination 00:55:35 Wait-Notify 01:10:11 Unterbrechung 01:13:33 Verklemmungen
20 | Vorlesung Beispiel: Vektoraddition 00:00:07 (2) 00:02:16 (1) 00:03:33 (2) 00:05:55 (3) 00:07:37 (4) 00:08:58 Ergänzungen in der Java-Bibliothek java.util.concurrent 00:10:00 java.util.concurrent 00:11:09 java.util.concurrent – ConcurrentCollections 00:14:49 java.util.concurrent – Schlangen (1) 00:15:40 java.util.concurrent – Schlangen (2) 00:16:51 java.util.concurrent – Semaphore 00:18:58 Beispiel: Semaphore 00:21:26 java.util.concurrent – Barrierensynchronisation 00:23:23 Mehr zu diesem Thema … 00:24:12 Kapitel 4.2.2 – Parallele Algorithmen 00:24:17 Überblick Matrix-Vektor-Multiplikation: 00:24:59 Problemstellung 00:25:53 Sequentieller Algorithmus 00:25:56 Parallelisierung (1) bis (7) 00:31:02 Parallele Implementierung (1) bis (4) 00:31:56 Aufteilung der Rechenlast 00:32:07 Mögliche Algorithmen 00:33:02 ijk-Algorithmus 00:34:43 Nachteil des ijk-Algorithmus 00:34:52 Optimierung: ijk-Algorithmus 00:36:59 ijk-Algorithmus (1)
11 | Vorlesung 00:00:19 Java Puzzlers: Ohne Fleiß kein Preis – Quelltext 00:03:23 Java Puzzlers: Ohne Fleiß kein Preis – Ausgabe 00:04:00 Java Puzzlers: Ohne Fleiß kein Preis – Behebung 00:04:27 Java Puzzlers: Ohne Fleiß kein Preis – Lehre 00:05:52 3.2 Modularer Entwurf (MD) 00:10:30 3.2.1 Anforderungen an das Modulkonzept 00:14:16 3.2.2 Das Modul 00:15:55 Beispiel: Klasse für eine Strecke (1). Ohne Kapselung oder Geheimnisprinzip 00:17:02 Beispiel: Klasse für eine Strecke (2). Mit Kapselung – erster Versuch 00:18:34 Beispiel: Klasse für eine Strecke (3). Mit Kapselung – zweiter Versuch 00:20:49 Beispiel: Klasse für eine Strecke (3). Mit Kapselung – Änderung der Interna 00:22:45 3.2.2 Das Modul 00:30:32 3.2.3 Modulführer 00:32:34 3.2.4 Modulschnittstellen 00:36:28 3.2.5 Fallstudie: KWIC-Index 00:59:06 3.2.5 Noch ein Beispiel: java.awt.Component 01:02:11 3.2.6 Das Modul in Programmiersprachen 01:12:10 3.2.7 Gestaltung der Benutztrelationen 01:21:30 Kriterien für die Konstruktion der Benutzthierarchie 01:23:06 3.2.7 Gestaltung der Benutztrelationen
12 | Vorlesung Die Vorlesung vom 29.06.2015 konnte aus technischen Gründen nicht aufgezeichnet werden. Die hier präsentierte Vorlesungsaufzeichnung stammt aus dem SS2014 und deckt nahezu alles ab, was besprochen wurde.
15 | Übung Risks to the Public 00:00:08 Heute: Das Automatisierungsparadoxon 00:00:30 Air Malaysia Flug 124 00:00:49 Über den Wolken (1) Was geschah … 00:02:39 Über den Wolken (2) Die (gute) Reaktion der Piloten … 00:04:13 Über den Wolken (3) Fehlertoleranz?!? 00:05:00 Ironie und Paradoxon der Automatisierung 00:05:56 Kreuzfahrtschiff »Royal Majesty« läuft auf Grund 00:06:29 Sachverhalt im Juni 1995 00:06:52 Was zuvor geschah … 00:09:03 Lehre 00:10:09 Aufgabe 1a: Anforderung 00:11:12 Aufgabe 1b: Border-Layout 00:12:34 Aufgabe 1a: Umsetzung als Swing-Gui 00:14:15 Aufgabe 1: Datei-speichern-Dialog (1) 00:19:25 Aufgabe 1: Datei-speichern-Dialog (2) 00:25:14 Aufgabe 1: Erzeugen des Vorschaubildes 00:27:46 Aufgabe 1: Verkleinern des Vorschaubilds (1) 00:29:55 Aufgabe 1: Verkleinern des Vorschaubilds (2) 00:36:20 Aufgabe 2: Modellierung und Varianzen 00:47:47 Aufgabe 2: Modellierung und Varianzen c) 00:54:47 Aufgabe 3: Überladen und Überschreiben 00:58:34 Kompositum: Implementierung (3) 00:58:55 Strategie (engl. strategy) 01:00:41 Beispiel 1: An assignment far, far away … 01:02:03 Lösung: Man nehme das Strategiediagramm und ändere die Bezeichner 01:03:27 Strategie, Beispiel 2: Beispiel von Zeilenumbrechungsalgorithmen in Klassen 01:07:57 Strategie: Anwendbarkeit (1) 01:13:39 Dekorierer (engl. Decorator) 01:14:46 Dekorierer: Struktur 01:16:37 Dekorierer: Beispiel (2) 01:19:07 Dekorierer vs. Stellvertreter 01:21:18 Zustandshandhabungsmuster 01:21:39 Einzelstück (engl. singleton) 01:24:33 Einzelstück: Struktur 01:24:47 Einzelstück: Anwendbarkeit
13 | Übung 00:00:07 Risks to the Public 00:00:43 Was in den Nachrichten kam … 00:02:04 Hintergründe 00:03:25 Was dann geschah 00:04:29 Was dann geschah II 00:07:52 Übung 3 00:14:43 Aufgabe 1 – Plug-In-Architekturen. Plug-Ins ermitteln 00:18:41 Aufgabe 1 – Plug-In-Architekturen. Menü erweitern 00:24:26 Aufgabe 2 – Plug-In-Architekturen. Hallo-SWT1-Plugin 00:41:28 Aufgabe 4 – UML-Zustandsdiagramm 00:45:25 Umwandeln in nicht-hierarchischen Automaten 00:49:12 Aufgabe 5 – Linguistische Analyse 00:57:07 Kapitel 3.4 – Architekturstile 00:57:08 Datenablage: Beispiel (2) 00:57:10 Datenablage: Beispiel (1) 00:57:13 Datenablage, Depot (engl. Repository) 00:57:15 Model/View/Controller (MVC) 00:59:50 Model-Präsentation-Steuerung (engl. Model-View-Controller, MVC) 01:02:07 Mehr zu MVC 01:03:43 Fließband (engl. Pipeline, Pipe and Filter) 01:09:25 Beispiel für Fließband 01:13:50 Fließband: Anwendbarkeit 01:14:34 Rahmenarchitektur (engl. Framework) 01:17:08 Rahmenarchitektur: Struktur (1) 01:17:33 Rahmenarchitektur: Struktur (2) 01:19:33 Rahmenarchitektur: Struktur (3) 01:20:18 Rahmenarchitektur: Struktur (4) 01:24:03 Rahmenarchitektur: Beispiel (5)
14 | Vorlesung 00:00:07 Java Puzzlers: Was stecht dahinter – Quelltext 00:09:27 Stellvertreter (engl. proxy) 00:22:55 Vermittler (engl. mediator) 00:30:17 Varianten-Muster 00:32:33 Abstrakte Fabrik (engl. abstract factory) 00:42:01 Besucher (engl. visitor) 00:58:33 Schablonenmethode (engl. template method) 01:05:46 Farbrikmethode (engl. factory method) 01:12:00 Kompositum (engl. composite)
21 | Vorlesung Java Puzzlers: 00:00:08 Unsanfte Unterbrechung – Quelltext 00:02:28 Unsanfte Unterbrechung – Ausgabe 00:03:42 public void interrupt() 00:04:39 Unsanfte Unterbrechung – Behebung 00:05:22 Unsanfte Unterbrechung – Lehre 00:06:04 Matrix-Matrix-Multiplikation: Nachteil des ijk-Algorithmus 00:07:02 Matrix-Matrix-Multiplikation: ikj-Algorithmus (1) 00:11:31 Matrix-Matrix-Multiplikation: ijk-vs. ikj-Algorithmus (3) 00:12:51 Matrix-Matrix-Multiplikation: ijk-vs. ikj-Algorithmus (4) 00:17:08 Matrix-Matrix-Multiplikation: ijk-vs. ikj-Algorithmus (5) 00:18:27 Numerische Integration 00:18:42 Numerische Integration: Vorgehen (1) 00:19:19 Numerische Integration: Vorgehen (2) 00:21:58 Numerische Integration: Beispiel (3) 00:22:03 Bewertung von parallelen Algorithmen (1) 00:25:32 Matrix-Matrix-Multiplikation: ijk-vs. ikj-Algorithmus (5) 00:27:25 Matrix-Matrix-Multiplikation: ijk-vs. ikj-Algorithmus (4) 00:28:18 Bewertung von parallelen Algorithmen (1) 00:29:19 Bewertung von parallelen Algorithmen (2) 00:31:27 Bewertung von parallelen Algorithmen (3) 00:33:36 Herleitung des Amdahlschen Gesetzes 00:36:46 Fallstudie: Berechnung eines invertierten Index 00:39:10 Invertierter Index 00:41:34 Dateiindizierung: Ohne Daten geht es nicht! 00:47:58 Erster Parallelisierungsversuch 00:51:16 Zweiter Versuch 00:53:05 Dritter Versuch 00:59:07 Dateiindizierung, beste Konfigurationen 01:00:28 Ausblick 01:04:08 Wo kann man mehr dazu lernen? Am IPD? 01:04:21 Inhalt der Parallel-Vorlesungen (alle im Master) 01:14:38 Kapitel 5.1 – Testen und Prüfen 01:14:58 Wo sind wir gerade? 01:16:05 Literatur 01:16:21 Motivation 01:17:08 Fehleraufdeckung ist das Ziel der Testverfahren 01:22:22 Es gibt 3 Arten von Fehlern … 01:24:48 Zusammenhang der Fehlerarten 01:26:13 Arten von Testhelfern
25 | Vorlesung 00:00:08 Kapitel 8.2 – Agile Prozesse 00:00:44 Agiles Manifest – eine Gegenreaktion zu plangetriebenen Prozessen (Wasserfall) 00:02:22 Agile Prozesse 00:04:24 Praktiken des Extreme Programming (XP) 00:06:43 Paarprogrammierung I 00:08:31 Paarprogrammierung II 00:10:30 Effizientes Testen 00:11:24 Testen bei XP 00:12:25 Komponententests 00:12:45 Akzeptanztests 00:12:55 Testgetriebene Entwicklung 00:14:03 Zustandsdiagramm der testgetriebenen Entwicklung 00:17:16 Test/Implementierung/Umstrukturierung 00:17:23 Rolle der Komponententests 00:18:14 Umstrukturierung I 00:19:22 Umstrukturierung II 00:20:16 Umstrukturierung III 00:21:27 Inkrementelles Design 00:21:44 Planungsspiel 00:24:43 Auslieferungsplanung 00:25:31 Iterationsplanung I 00:26:32 Iterationsplanung II 00:27:12 Kunde vor Ort 00:28:07 Behauptung Kent Becks I 00:28:47 Behauptung Kent Becks II 00:29:08 Kritik an XP 00:31:26 Probleme bei der Einführung von XP 00:33:21 Bewertung von XP 00:35:29 Zusammenfassung 00:36:58 Was wissen wir eigentlich über XP? 00:37:04 Paarprogrammierung versus … 00:37:38 Erfahrungen mit testgetriebener Entwicklung 00:38:32 Quantitative Studien zur testgetriebenen Entwicklung 00:39:10 Scrum 00:41:05 Scrum – Artefakte 00:42:09 Restaufwands-Diagramm (engl. burndown chart) 00:43:14 Und so sieht´s in Wirklichkeit aus. 00:43:34 Scrum – Rollen 00:44:12 Scrum – Treffen (engl. Scrum = Gedränge) 00:45:03 Literatur 00:51:12 Kapitel 7 – Schätzmethoden 00:51:22 Wo sind wir gerade? 00:52:20 Lernziele 00:53:04 Aufwandsschätzung 00:58:06 Einflussfaktoren 01:00:04 Das »Teufelsquadrat« 01:01:19 Einflussfaktoren: Quantität 01:01:39 Einflussfaktoren: Qualität 01:01:56 Einflussfaktoren: Entwicklungsdauer 01:02:06 Einflussfaktoren: Produktivität 01:02:16 Basismethoden: Analogiemehtode 01:02:33 Analogiemehtode: Beispiel 01:04:45 Basismethoden: Relationsmethode 01:04:56 Relationsmethode: Faktoren 01:06:03 Relationsmethode: Beispiel 01:07:21 Multiplikationsmethode: Beispiel 01:07:28 Basismethoden: Phasenaufteilung 01:07:42 Die Schätzmethode COCOMO II 01:07:48 Schätzformel von COCOMO II 01:08:22 COCOMO II Skalierungsfaktoren 01:08:26 COCOMO II – Beispielsrechnung (1) 01:09:13 COCOMO II – Beispielsrechnung (2) 01:10:04 Delphi-Schätzmethode 01:11:01 Planungspoker: Variation der Delphi-Methode 01:12:16 Planungspoker (2) 01:12:40 Und was soll man jetzt benutzen?
09 | Vorlesung 00:00:09 Java Puzzles – Wer zuletzt lacht… – Quelltext 00:00:11 Java Puzzles – Wer zuletzt lacht… – Ausgabe 00:00:14 Java Puzzles – Wer zuletzt lacht… – Behebung 00:00:19 Java Puzzles – Wer zuletzt lacht… – Lehre 00:00:39 Kapitel 2.4 – Beispiel: Pflichtenheft »Seminarorganisation« 00:01:27 Pflichtenheft ist erweitertes Lastenhaft 00:02:07 2.4 Pflichtenheft »Seminarorganisation« 00:12:29 Pflichtenheft ausformuliertes Beispiel 00:16:56 Kapitel 2.5 – Linguistische Analyse von Domänenbeschreibungen 00:18:28 OO-Analyse – Vorgehen 00:20:19 Kompetenzprobleme 00:21:03 Linguistische Analyse von Domänenbeschreibungen 00:21:18 Linguistische Analyse – Aber richtig! 00:23:57 Linguistische Analyse von Domänenbeschreibungen 00:24:59 Gegenbeispiel: Beamten- und Ingenieursdeutsch 00:27:52 Thematische Rollen 00:30:31 Linguistische Analyse mit thematischen Rollen 00:31:38 Thematische Rollen – Syntax vs. Semantik 00:32:55 Thematische Rollen – Syntax vs. Semantik. Was ist realistischer? 00:33:25 Thematische Rollen. UML-Umsetzung 00:35:01 Thematische Rollen. Beispiel mit UML-Umsetzung (1) 00:35:49 Thematische Rollen. Beispiel mit UML-Umsetzung (2) 00:40:30 Thematische Rollen. UML-Umsetzung 00:43:57 Arbeiten am Institut: Beispiel 00:44:47 Arbeiten am Institut: Annotierter Text 00:46:49 Arbeiten am Institut: Übersetzung in UML mit SALEmx 00:48:29 Arbeiten am Institut: Vertiefungsvorlesung im Master 00:52:14 Wo sind wir gerade? 00:53:06 Inhalt 00:55:27 3.1 Einführung und Überblick 00:56:33 Softwaretechnik 01:01:18 Weitere Fragen, die geklärt werden müssen 01:06:02 Nichtfunktionale Anforderungen – Wem sind sie wichtig? 01:08:30 Typische Entwurfs-Abwägungen 01:11:49 3.2 Modularer Entwurf 01:15:20 3.2.1 Anforderungen an das Modulkonzept 01:19:02 3.2.2 Das Modul 01:21:48 Beispiel: Klasse für eine Strecke (1) Ohne Kapselung oder Geheimnisprinzip 01:22:10 Beispiel: Klasse für eine Strecke (4) Mit Kapselung – Änderung der Interna
10 | Übung Beispiel 00:00:07 Was bei der Anforderungsermittlung alles schief gehen kann 00:00:51 Neue Züge bracht das Land 00:01:38 »Ups« 00:02:42 Konsequenzen 00:04:38 Übung 2 00:04:40 Aufgabe 1 – Szenario 00:05:44 Aufgabe 1 – Gliederung 00:06:01 Aufgabe 1 – 1. Zielbestimmung 00:06:29 Aufgabe 1 – 2. Produkteinsatz 00:06:46 Aufgabe 1 – 3. Funktionale Anforderungen 00:07:12 Aufgabe 1 – 4. Produktdaten 00:07:36 Aufgabe 1 – 5. Nichtfunktionale Anforderungen 00:08:09 Aufgabe 1 – Szenarien 00:08:28 Aufgabe 1 – Anwendungsfalldiagramm 00:08:59 Aufgabe 1 – Glossar 00:09:51 Aufgabe 2 – Klassendiagramm, Teil 1 00:12:54 Aufgabe 2 – Klassendiagramm, Teil 2 00:16:57 Aufgabe 3 – Durchführbarkeitsuntersuchung 00:17:40 Aufgabe 3 – common-cli in Maßen einbinden 00:18:11 Aufgabe 4 – Klassenpfad per Magen anpassen (optional) 00:21:14 Aufgabe 4 – Abhängigkeiten automatisch kopieren (optional) 00:22:53 Aufgabe 4 – Bild einlesen, verarbeiten und schreiben 00:24:39 Aufgabe 4 – Muster auf Gültigkeit prüfen 00:25:55 Aufgabe 4 – Zielbild anlegen in SimplePopArtCollage 00:26:31 Aufgabe 4 – Zielbild anlegen in SimplePopArtCollage (Zielbild ist coll) 00:27:04 Aufgabe 4 – Zielbild anlegen in SimplePopArtCollage (Kachel schreiben) 00:27:54 Aufgabe 4 – Filtrier-Vorbereitungen 00:29:27 Aufgabe 4 – Graustufen-Filter 00:30:24 Aufgabe 4 – Sepia-Filter 00:32:06 Aufgabe 4 – RGB-Shift-Filter 00:33:22 Aufgabe 4 – Weichzeichner 00:35:40 Aufgabe 4 – Weichzeichner (Bonusaufgabe) 00:37:36 Aufgabe 4 – Weichzeichner – Übernahme der Ränder aus dem Originalbild 00:38:24 Testen
08 | Übung 00:00:08 Risks to the Public 00:06:31 Aufgabe 1: JMJRST aus dem SVN holen 00:08:21 Aufgabe 1: JMJRST für Magen vorbereiten 00:12:27 Aufgabe 1: JMJRST – maven-jar-plugin 00:17:02 Aufgabe 1: JMJRST – Checkstyle 00:18:15 Aufgabe 1: – der Patch. Neues für Ihre pom.xml 00:19:46 Aufgabe 1: – der Patch (1). Das SWT1-SS2015 pom.xml als Eltern-pom.xml 00:24:52 Aufgabe 1: – der Patch (2). Änderung an der Abgabedatei 00:30:52 Randnotiz zu JMJRST 00:31:15 Aufgabe 2: JUnit – Allgemeines 00:33:37 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2c) 00:34:28 Aufgabe 2: JUnit – Testverzeichnis (Aufgabe 2h) 00:35:39 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2d) 00:36:40 Aufgabe 2: JUnit – Testfallbeispiel (imageEquals) 00:38:15 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2e) 00:39:27 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2f) 00:41:27 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2g) 00:45:38 Aufgabe 2: JUnit – Testfallbeispiel (Aufgabe 2h) 00:46:57 Aufgabe 2: JUnit – Patch erzeugen: Befehl und Meta-Infos 00:47:14 Aufgabe 2: JUnit – Patch erzeugen (2): Wo wurde geändert 00:47:26 Aufgabe 2: JUnit – Patch erzeugen (3): Was wurde geändert 00:47:39 Aufgabe 3: Testüberdeckung – generateImage 00:50:23 Aufgabe 3: Testüberdeckung – rotateimage 00:52:31 Aufgabe 3: Mockito – pom.xml 00:52:43 Aufgabe 3: Mockito – Einbinden in Testklasse 00:53:44 Aufgabe 3: Mockito – Anwendung
03 | Vorlesung Inhalt: Einführung und Überblick - Was ist Software - Charakteristiken von Software - Softwarequalität - Softwarequalitätsprobleme - Was ist Softwaretechnik
07: Vorlesung: Puzzle 00:00:07 Stiller Alarm – Quelltext 00:02:01 Stiller Alarm – Ausgabe 00:05:16 Stiller Alarm – Reparatur Vorlesung 00:06:23 Anwendungsfalldiagramm (eng. use case diagram) 00:06:27 UML-Diagramme 00:06:35 Aktivitätsdiagramm (engl. activity-diagram) 00:06:39 Elemente eines Aktivitätsdiagramms (2) 00:08:41 Ausführungssemantik – Beispiel 00:09:29 Elemente eines Aktivitätsdiagramms (3) 00:10:48 Elemente eines Aktivitätsdiagramms (4) 00:11:55 Elemente eines Aktivitätsdiagramms (5) 00:13:42 UML-Diagramme 00:13:58 Interaktionsdiagramme 00:14:49 Sequenzdiagramm (engl. sequence diagram) 00:16:00 Beispiel 00:19:30 Elemente Sequenzdiagramm 00:19:50 Beispiel 00:20:49 Weitere Notationselemente 00:26:05 Beispiel 00:28:40 Operatoren 00:29:27 UML-Diagramme 00:29:59 Zustandsdiagramm (engl. state machine) 00:31:02 Beispiel »Flugreservierung« 00:34:47 Zustandsdiagramm 00:36:38 Aktionen (engl. action) 00:37:14 Beispiel »Flugreservierung« 00:40:39 Weitere Möglichkeiten 00:50:32 UML-Diagramme 00:51:00 Beispiel 00:53:10 Literatur 00:53:18 Paketdiagramm 00:54:18 Beispiel 00:54:33 Literatur 00:55:53 2.3 – Objektmodellierung. Wie komme i ch zu einem guten Modell? 00:56:24 Wo sind wir überhaupt? Ich habe die Orientierung verloren … 00:57:08 Wir sind doch jetzt in der Definitionsphase! 00:58:03 Und wozu braucht man die übrigen Diagrammtypen? 00:58:35 1. »So finden Sie Klassen«. Finden der Kandidaten. 01:01:17 Beispiel »Seminarorganisation« 01:04:27 Beispiel 01:06:05 Zur linguistischen Analyse 01:15:15 2. »So finden Sie Assoziationen« 01:19:48 Zulässige Kardinalitäten 01:20:20 Beispiel: Finden von Assoziationen 01:22:06 So finden Sie Assoziationen 01:22:50 3. »So finden Sie Attribute 01:28:02 4. »Erstellen von Vererbungsstrukturen«
loading
Comments