Softwaretechnik 1, Vorlesung, SS2015
Softwaretechnik 1, Vorlesung, SS2015
Karlsruher Institut für Technologie (KIT)
Softwaretechnik 1, Vorlesung, SS2015
Softwaretechnik I, SS 2015, gehalten am 06.07.2015, Lektion 22
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)
Feb 8, 2016
1 hr 28 min
Video
Softwaretechnik I, SS 2015, gehalten am 13.07.2015, Lektion 24
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
Feb 4, 2016
1 hr 23 min
Video
Softwaretechnik I, SS 2015, gehalten am 19.06.2015, Lektion 17
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)
Feb 4, 2016
1 hr 32 min
Video
Softwaretechnik I, SS 2015, gehalten am 15.06.2015, Lektion 16
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
Jan 21, 2016
1 hr 28 min
Video
Softwaretechnik I, SS 2015, gehalten am 26.06.2015, Lektion 19 (Übung)
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
Jan 19, 2016
1 hr 12 min
Video
Softwaretechnik I, SS 2015, gehalten am 22.06.2015, Lektion 18
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
Jan 18, 2016
1 hr 17 min
Video
Softwaretechnik I, SS 2015, gehalten am 29.06.2015, Lektion 20
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)
Jan 18, 2016
38 min
Video
Softwaretechnik I, SS 2015, gehalten am 22.05.2015, Lektion 11
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
Jan 15, 2016
1 hr 23 min
Video
Softwaretechnik I, SS 2015, gehalten am 26.05.2015, Lektion 12
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.
Jan 15, 2016
1 hr 30 min
Video
Load more