23 | 0:00:00 Starten 0:00:48 Erinnerung: Wettläufe 0:11:49 Aufgabe 1b: Parallelisierung von HDrize 0:30:54 Aufgabe 2: Parallelisierungswettberwerb 0:34:23 Aufgabe 3: Äquivalenzklassen 0:46:43 Aufgabe4: KFG-orientiertes Testen 1:05:51 Blöcke zeichnen
24 | 0:00:00 Starten 0:00:10 Analogiemethode 0:02:22 Basismethoden: Multiplikatormethode 0:06:48 Die Schätzmethode COCOMO II 0:13:34 COCOMO II Multiplikative KostenFaktoren 0:20:27 COCOMO II - Quelle und Anwendung 0:22:27 Konsens-Schätzmethoden 0:22:42 Delphi-Schätzmethode 0:24:15 Planungspoker: Variation der Delphi-Methode 0:31:04 Prozessmodelle 0:31:55 Programmieren durch Probieren 0:34:32 Wasserfallmodell 0:40:54 V-Modell 97 0:43:05 Vorgehensmodell 0:45:12 Produktzustände 0:50:24 Prototypemodell 0:54:26 Iteratives Modell 1:00:16 Synchronisiere und Stabilisiere 1:16:21 Agile Prozesse 1:16:33 Agiles Manifest 1:20:09 Praktiken des Extreme Programming(XP) 1:32:58 Effizientes Testen
22 | 0:00:00 Starten 0:00:05 Übersichtsmatrix: Was kommt im Folgenden? 0:01:02 Integrationstest 0:01:57 Integrationsstrategien 0:09:55 Systemtest 0:10:54 Klassifikation der Systemtests 0:11:55 Definition: Regressionstest 0:15:34 Abnahmetests 0:17:21 Hinweis 0:18:59 Kapitel 6 – Die Abnahme, Einführungs-, Wartungs- und Pflegephase 0:20:01 Die Abnahmephase 0:24:22 Die Einführungsphase 0:40:27 Die Wartungs- & Pflegephase 0:43:47 Wartung & Pflege: Aufgaben und ihr Aufwand 0:51:19 Planbarkeit von Wartung und Pflege 0:52:37 Wartung und Pflege vs. Entwicklung 0:55:24 Verbesserung der Pflege 0:57:08 Software-Sanierung 1:00:59 Organisation der Wartung 1:01:27 Vorteile eigenständiger Wartungsorganisation 1:02:48 NAchteile eigenständiger Wartungsorganisation 1:05:24 Organisation der Wartung 1:06:21 Kapitel 7 – Schätzmethoden 1:06:48 Lernziele 1:07:43 Aufwandsschätzung 1:15:28 Einflussfaktoren 1:18:21 Das ""Teufelsquadrat"" 1:20:07 Einflussfaktoren: Quantität 1:21:02 Einflussfaktoren: Qualität 1:21:54 Einflussfaktoren: Entwicklungsdauer 1:22:49 Einflussfaktoren: Produktivität 1:23:47 Wie kommt man auf geschätzte LOC oder PM? 1:24:43 Analogiemethode: Beispiel
21 | 0:00:00 Starten 0:00:22 Programmierrichtlinien 0:00:51 Wozu Programmierrichtlinien? 0:02:33 Welche Programmierrichtlinie soll ich nehmen? 0:04:11 Werkzeugunterstützung 0:06:30 Selbstkontrolliertes Programmieren 0:08:22 Typische Programmierfehler 0:09:16 Falsche Hypothesen 0:11:11 Tücken der Maschinenarithmetik 0:16:02 Irreführende Namen 0:17:07 Unverhoffte Variablenwerten 0:17:34 Wichtige Nebensachen 0:18:18 Trügerische Redundanz 0:22:10 Fehlerlogbuch 0:24:50 Zeitlogbuch 0:31:55 Grenzwertanalyse 0:31:58 Zufallstest 0:36:47 Verwendung von Testhelfern 0:38:51 Beispiel 0:40:41 Beispiel: Nachahmung 0:45:15 Test von Zustandsautomaten 0:50:35 Leistungstests: Lasttests 0:52:31 Stresstest 0:58:22 Manuelle Prüfung - Anmerkungen 1:00:46 Software-Inspektionen 1:03:10 Abgrenzung 1:05:48 Definition: Inspektion 1:10:56 Phasen einer Inspektion 1:23:08 Rollen
19 | 0:00:00 Start 0:00:05 Übung 5 0:01:00 Aufgabe 1: Architekturstile 0:02:41 Aufgabe 1: Architekturmuster - Architektur 0:09:43 Aufgabe 1: Architekturmuster - Entwurfsmuster 0:15:47 Aufgabe 2: Jäger des verlorenen Entwurfsmusters 0:25:21 Aufgabe 3: Entwurfsmuster umsetzen 0:31:42 Aufgabe 3: Iterator erstellen 0:32:50 Aufgabe 3b: Hauptreihenfolge 0:37:08 Aufgabe 3c: Ebenenweise 0:39:46 Aufgabe 3e: Runner 0:42:10 Aufgabe 3f: Kommandozeilenschnittstelle 0:43:26 Aufgabe 4: Implementierung umgekehrt 0:46:17 AUfgabe 4: Entwurfsmuster angewandt 0:56:56 Aufgabe 5: Zustandsdiagramm umsetzen 0:57:37 Aufgabe 5: Implementierung eines Zustandsautomaten 0:58:31 Aufgabe 5: Entwurfsmuster angewandt 1:04:56 Aufgabe 6: Git
20 | 0:00:00 Starten 0:00:05 Kapitel 4.2.2 - Parallele Algorithmen 0:00:43 Bewertung von parallelen Algorithmen 0:07:49 Herleitung des Amdahlschen Gesetzes 0:12:11 Berechnung eines invertierten Index 0:16:35 Dateiindizierung: Ohne Daten geht's nicht 0:18:24 Erster Parallelisierungsversuch 0:20:24 Zweiter Versuch 0:23:16 Dritter Versuch 0:25:25 Dateiindizierung, beste Konfiguration 0:26:41 Ausblick 0:27:52 Wo kann man mehr dazu lernen? 0:28:39 Inhalt der Parallel Vorlesungen 0:31:10 Kapitel 5.1 - Testen und Prüfen 0:34:16 Fehleraufdeckung ist das Ziel der Testverfahren 0:38:19 Arten von Fehlern 0:40:39 Arten von Testhelfern 0:43:56 Fehlerklassen 0:46:37 Testphasen und -verfahren 0:57:09 Beispieltransformation 1:01:26 Kontrollflussgraph 1:10:12 Anweisungs- und Zweiüberdeckung 1:16:13 Pfadüberdeckung 1:19:02 Subsumieren 1:19:28 Hierarchie der KFO Teststrategien 1:22:12 Funktionale Tests 1:24:30 Funktionale Äquivalenzklassenbildung 1:27:55 Grenzwertanalyse
18 | 0:00:00 Start 0:00:05 Funktionsweise von Wait-Notify 0:03:41 Koordination: Konstrukte für Warten und Benachrichtigung 0:03:52 Koordination: Sicherheitshinweise & Faustregeln 0:07:12 Unterbrechung 0:10:00 Verklemmungen 0:18:47 Beispiel: Vektoraddition 0:27:05 Ergänzungen in der Java-Bibliothek java.util.concurrent 0:45:59 Matrix-Vektor-Multiplikation: Problemstellung 0:46:41 Matrix-Vektor-Multiplikation: Parallelisierung 0:53:29 Matrix-Vektor-Multiplikation: Parallele Implementierung 0:58:09 Matrix-Matrix-Multiplikation: ijk-Algorithmus 0:58:53 Matrix-Matrix-Multiplikation: Nachteil des ijk-Algorithmus 1:03:11 Matrix-Matrix-Multiplikation:: Optimierung: ikj-Algorithmus 1:07:10 Matrix-Matrix-Multiplikation:: ijk- vs. ikj-Algorithmus 1:09:09 Numerische Integration 1:11:17 Bewertung von parallelen Algorithmen
17 | 0:00:00 Start 0:00:05 Prozesse und Kontrollfäden 0:05:22 Gemeinsamer Speicher 0:06:47 Java Puzzlers - Wer zuerst kommt ... 0:06:51 Wer zuerst kommt ... - Quelltext 0:10:48 Wer zuerst kommt ... - Ausgabe 0:23:15 Korrektur 0:30:43 Überblick 0:32:07 Konstrukte zum Erzeugen von Parallelität 0:34:13 Konstrukte zum Erzeugen von Parallelität - Beispiel 0:38:35 Runnable vs. Thread 0:39:19 Koordination 0:40:59 Koordination: Beispiel 0:41:25 Koordination: Wofür? 0:43:50 Koodination: Kritische Abschnitte 0:47:50 Koordination: Monitor 0:49:59 Koordination: Monitore & Synchronisation 1:02:39 Koordination: Monitore & Signalisierung 1:12:40 Koordination: Konstrukte für Warten und Benachrichtigung 1:14:08 Funktionsweise von Wait-Notify 1:25:38 Koordination: Sicherheitshinweise & Faustregeln
15 | 0:00:00 Start 0:00:05 Übung 4 0:00:29 Risks to the Public: Heute: Das Automatisierungsparadoxon 0:01:05 Air Malaysia Flug 124 0:01:35 Über den Wolken (1): Was geschah... 0:03:43 Über den Wolken (2): Die (gute) Reaktion des Piloten... 0:05:20 Über den Wolken (3): Fehlertoleranz?!? 0:06:22 Ironie und Paradoxon der Automatisierung 0:07:39 Sachverhalt im Juni 1995 0:08:09 Was zuvor geschah... 0:09:00 Lehre 0:10:49 Übung 4 0:11:17 Aufgabe 1: Grafische Benutzeroberfläche für iMagie 0:13:09 Aufgabe 1: GBO für iMagie »iCatcher« – Aufbau 0:35:22 Aufgabe 2: Diagramme überführen: Aktivitätsdiagramm 0:36:14 Aufgabe 2: Diagramme überführen: Zustände 0:43:57 Aufgabe 3: Geheimprinzip 0:44:44 Aufgabe 3: Geheimprinzip – java.io.Closeable 0:45:46 Aufgabe 3: Geheimprinzip – javalang.Comparable<T> 0:46:12 Aufgabe 3: Geheimprinzip – java.io.Closeable 0:46:54 Aufgabe 3: Geheimprinzip – java.util.List 0:47:40 Aufgabe 3: Geheimprinzip – java.util.Locale 0:50:31 Aufgabe 4: Benutzrelation 0:51:36 Aufgabe 4: Benutzrelation – Relationstypen 0:52:37 Aufgabe 4: Benutzrelation – Blatt 1 iMage JMJRST 0:53:07 Aufgabe 4: Benutzrelation – Blatt 3 Einschübe und Bündel. 0:53:28 Aufgabe 4: Benutzrelation – Blatt 4 GBO 0:55:01 Aufgabe 4: Benutzrelation – (nicht so) externe Abhängigkeit 0:55:31 Aufgabe 4: Benutzrelation – Externe Abhängigkeiten 1:00:56 Aufgabe 5: Entwurfsmuster 1:01:18 Aufgabe 5: Entwurfsmuster – A 1:01:42 Aufgabe 5: Entwurfsmuster – A: Auflösung 1:02:11 Aufgabe 5: Entwurfsmuster – A: Umsetzung 1:06:06 Aufgabe 5: Entwurfsmuster – B 1:06:56 Aufgabe 5: Entwurfsmuster – B: Auflösung 1:07:25 Aufgabe 5: Entwurfsmuster – B: Umsetzung (Schablonenm.) 1:13:12 Aufgabe 5: Entwurfsmuster – C 1:14:20 Aufgabe 5: Entwurfsmuster – C: Auflösung 1:14:49 Aufgabe 5: Entwurfsmuster – C: Umsetzung
16 | 0:00:00 Start 0:00:05 Die Implementierungsphase 0:00:15 Wo sind wir gerade? 0:00:32 Einführung und Überblick 0:07:11 Abbildung von UML-Modellen auf Code 0:07:33 Abbildung von Klassen: OO-Sprachen 0:08:36 Abbildung von Klassen: Nicht-OO-Sprachen 0:18:26 Unidirektionale Eins-zu-Eins-Assoziation 0:21:43 1:N-Assoziationen 0:26:00 M:N-Assoziationen 0:27:27 Zusammenfassung 0:32:09 Sonderfälle 0:33:25 Qualifizierte Assoziation 0:35:37 Assoziationsklassen 0:38:07 Abbildung und Implementierung von Zustandsautomaten 0:38:23 Speicherung des Zustands eines Objektes 0:39:44 Beispiel für implizite Speicherung des Zustands 0:41:33 Beispiel für explizite Speicherung des Zustands 0:43:05 Vergleich implizite/explizite Speicherung des Zustands 0:44:58 Alternativen der Implementierung expliziter Speicherung der Zustände 0:45:15 Beispiel für eingebettete explizite Speicherung 0:50:19 Ausgelagerte explizite Speicherung 0:50:26 Vorgehensweise 0:55:21 Implementierung der Methoden der abstrakten Klasse CZustand 1:01:51 Grundlagen zur Parallelverarbeiung 1:01:55 Warum Parallelverarbeitung? 1:05:47 Die Mooresche Regel (Moore's Law) 1:10:46 Mehrkern-Architekturen 1:16:37 Was sind die Folgen? 1:17:44 Grundlagen der Parallelverarbeitung 1:17:47 Grundbegriffe 1:23:32 Prozesse und Kontrollfäden
14 | 0:00:00 Start 0:00:07 Strategie: Struktur 0:03:51 Abstrakte Fabrik: Struktur 0:10:39 Besucher (engl. visitor) 0:18:11 Kompositum: Beispiel 0:23:21 Dekorierer: Struktur 0:27:46 Einzelstück: Struktur 0:36:05 Fliegengewicht: Struktur 0:40:04 Memento (engl. memento) 0:49:10 Prototyp: Struktur 0:55:58 Zustand: Struktur 1:03:56 Befehl: Ablage von Befehlen 1:11:07 Master/Worker: Struktur 1:20:41 Null-Objekt: Struktur
13 | 0:00:00 Start 0:00:08 Definition 0:00:38 Varianten-Muster 0:00:58 Strategie 0:01:33 Struktur 0:02:40 Verwendung der Strategie 0:04:04 Beispiel 1 0:07:22 Beispiel 2 0:09:02 Beispiel 3 0:09:18 Warteschlangen-Simulation 0:12:03 Lösung: Man nehme das Strategiediagramm und ändere die Bezeichner 0:14:04 Strategie: Anwendbarkeit 0:15:12 Switch-less Programming 0:22:47 Schablonenmethode 0:30:56 Schablonenmethode: Anwendbarkeit 0:33:17 Alternative 1 0:36:08 Alternative 2: Generische Klassen 0:41:20 Fabrikmethode 0:48:01 Abstrakte Fabrik 0:57:20 Besucher 0:58:49 Beispiel für einen abstrakten Syntaxbaum 1:03:41 Beispiel für Besucher 1:13:41 Besucher: Struktur 1:16:40 Kompositum
12 | 0:00:00 Start 0:01:03 MV-22 Osprey 0:03:08 The Risks 0:04:32 Aufgabe 1 0:12:19 Aufgabe 2 0:19:38 Aufgabe 3 0:27:16 Aufgabe 4 0:51:14 Aufgabe 5 0:57:27 Aufgabe 6 1:08:36 Aufgabe 7
11 | 0:00:00 Start 0:02:33 Definition 0:05:27 Wozu überhaupt Entwurfsmuster? 0:13:11 Apollo 13: ""Houston, we've had a problem!"" 0:17:18 ""Was nicht passt, wird passend gemacht"" 0:19:27 Entwurfsmuster: Kategorien 0:22:52 Komplexes Beispiel ""Entensimulation"" 0:25:14 Adapter 0:33:35 Adapter: Anwendbarkeit 0:35:30 Beobachter 0:38:22 Beobachter: Motivation 0:42:43 Beobachter: Interaktionsdiagramm 0:45:31 Beobachter: Konsequenzen 0:47:29 Beobachter: Implementierung 0:52:46 Brücke 1:02:01 Brücke: Anwendbarkeitsbeispiel 1:05:01 Iterator 1:08:51 Iterator: Anwendungsbeispiel 1:11:20 Iterator: Enumerator vs. Iterator in Java 1:13:14 Stellvertreter 1:17:25 Fernzugriffsstellvertreter 1:22:21 Vermittler
10 | 0:00:00 Start 0:00:05 3.3 Objektorientierter Entwurf (OOD) 0:07:21 Kapitel 3.4 – Architekturstile 0:08:21 Abstrakte / virtuelle Maschine (engl. Abstract | Virtual Machine) 0:10:44 Abstrakte Maschine 0:12:28 Beispiele für abstrakte Maschinen 0:14:36 Weitere Beispiele für abstrakte Maschinen 0:18:01 Programmfamilie / Software-Produktlinie (engl. Program Family / Software Product Linie) 0:19:42 Programm / Software-Produktfamilie 0:20:58 Wie unterscheiden sich Mitglieder einer Programmfamilie? 0:21:39 Programmfamilie / SW-Produktlinie 0:24:28 Architekturstile 0:25:18 Der Klassiker: Die Schichtenarchitektur (engl. Layered Architecture) 0:26:12 Schichtenarchitektur 0:27:15 Schichten 0:28:04 Intransparente Schichtenarchitektur 0:29:06 Transparente Schichtenarchitektur 0:31:40 Schichtenarchitektur 0:34:21 3-Schichten-Architektur (1) 0:35:26 4-stufige Schichtenarchitektur 0:37:54 Schichtenarchitektur und das Entwurfsmuster Fassade (engl. Facade) 0:41:12 Klient / Dienstgeber (engl. Client / Server) 0:45:27 Klient / Dienstgeber: Beispiel 0:48:10 Partnernetze (engl. Peer-to-Peer Networks) 0:48:52 Partnernetz vs. Klient / Dienstgeber 0:51:54 Partnernetz – Eigenschaftren (1) 0:52:51 Partnernetz – Eigenschaftren (2) 0:53:30 Partnernetz – Beispiel 0:54:35 Datenablage, Depot (engl. Repository) 0:56:03 Datenablage: Beispiel (2) 0:58:13 Model / View / Controller (MVC) 1:01:49 Modell-Präsentation-Steuerung (engl. Model-View-Controller, MVC) 1:05:15 Mehr zu MVC 1:10:03 Fließband (engl. Pipeline, Pipe and Filter) 1:11:13 Fließband 1:14:00 Beipiel für Fließband 1:15:15 Fließband: Anwendbarkeit 1:17:30 Rahmenarchitektur (engl. Framework) 1:19:01 Rahmenarchitektur: Struktur (1) 1:19:53 Rahmenarchitektur: Struktur (2) 1:21:14 Rahmenarchitektur: Beispiel (1) 1:21:48 Rahmenarchitektur: Beispiel (2) 1:25:06 Rahmenarchitektur: Beispiel (4) 1:26:12 Rahmenarchitektur: Beispiel (5) 1:26:32 Rahmenarchitektur: Anwendbarkeit 1:28:01 Dienstorientierte Architekturen (engl. Service Oriented Architecture, SOA) 1:29:36 Dienstmodell als der Kern einer SOA 1:31:47 Merkmale und Ziele der Dienstorientierung
09 | 0:00:00 Start 0:00:06 Überblick 0:01:56 Kapitel 3: Entwurf 0:04:40 3.1 Einführung und Überblick 0:17:55 3.2 Modularer Entwurf 0:32:02 Beispiel: Klasse für eine Strecke 0:49:10 3.2.5 Fallstudie: KWIC-Index 1:07:56 Beispiel: java.awt.Component 1:10:03 Das Modul in Programmiersprachen 1:16:20 Gestaltung der Benutztrelation
08 | 0:00:00 Start 0:02:17 Gefangenenverwaltungssystem 0:11:16 Aufgabe 1 0:19:24 Aufgabe 2: Klassendiagramm 0:34:44 Aufgabe 3: Durchführbarkeitsuntersuchung 0:43:27 Aufgabe 4: Matrix-Implementierung 0:47:50 Aufgabe 4: Matrix-Berechnungen 0:52:26 Aufgabe 4: HDR-Bild zusammensetzen 1:01:28 Aufgabe 5: commons-cli in Maven einbinden 1:05:33 Aufgabe 5: Kommandozeilenprogramm 1:17:20 Aufgabe 6: Schnittstelle für Filter in iMage
07 | 0:00:00 Start 0:00:05 Rückblick: Elemente eines Aktivitätsprogramms 0:01:41 Beispiel 0:12:09 Methode von Abbott: syntaktische Analyse 0:14:59 Beispiel 0:22:36 (1) So finden Sie Klassen - Bewertung der Kandidaten 0:25:18 (2) So finden Sie Assoziationen 0:30:00 Zulässige Kardinalitäten 0:30:51 Beispiel: Assoziationen finden 0:33:35 (3) So finden Sie Attribute 0:40:53 (4) Erstellen von Vererbungsstrukturen 0:45:47 Beispiel: Seminaroganisation 0:47:56 (5) Dynamisches Modell erstellen 0:49:15 Analyse und Prüfung 0:49:23 (6) Objektlebenszyklus bestimmen 0:53:15 (7) Operationen festlegen 0:53:57 Subsysteme: Modellierung im Großen 0:54:59 Starke Bindung 0:55:28 Schwache Kopplung 0:59:44 vollständiges Pflichtenheft
06 | 0:00:00 Start 0:00:05 Noch ein Beispiel zu Ko-/Kontravarianz 0:08:04 Was es bein Klassendiagramm noch gibt... 0:10:18 Sichtbarkeit/"Zugriffsschutz" 0:14:57 Kapitel 2.2 – Weitere UML-Diagrammtypen 0:15:50 Beispiel 0:19:12 Elemente eines Aktivitätsdiagramms 0:22:28 Ausführungssemantik - Aktionen 0:25:48 Ausführungssemantik - Beispiel 0:28:37 Elemente eines Aktivitätsdiagramms 0:33:09 UML-Diagramme 0:36:21 Interaktionsdiagramme 0:37:01 Sequenzdiagramm 0:38:03 Beispiel 0:40:43 Elemente Sequenzdiagramm 0:42:08 Weitere Notationselemente 0:45:04 Operatoren 0:48:36 Zustandsdiagramm 0:50:17 Beispiel "Flugreservierung" 0:56:53 Zustandsdiagramm 0:58:37 Aktionen 0:59:23 Weitere Möglichkeiten 1:12:13 Paketdiagramm 1:12:53 Beispiel 1:15:36 Kapitel 2.3 – Objektmodellierung 1:16:17 Wo sind wir überhaupt? 1:16:58 Wir sind doch jetzt in der Definitionsphase! 1:18:19 Und wozu braucht man die übrigen Diagrammtypen? 1:18:46 1. "So finden Sie Klassen" 1:21:00 Beispiel "Seminarorganisation" 1:26:49 Zur syntaktischen Analyse
05 | 0:00:00 Start 0:00:05 Assoziation vs. Verknüpfung 0:02:08 Standardattribute von Assoziationen und Assoziationsenden 0:03:21 Standardattribute von Assoziationsenden: Multiplizität 0:04:17 Interpretation der Multiplizität 0:04:29 Beispiel 0:07:23 Interpretation der Multiplizität 0:08:50 Wofür? Mehrstellige Assoziationen! 0:09:43 MUltiplizität bei mehrstelligen Assoziationen 0:12:18 Beispiele für Restriktionen 0:14:39 Standardattribute von Assoziationsenden: Navigation 0:16:04 Zusätzliche Attribute für Assoziationen 0:18:03 Assoziationsklassen 0:23:09 Spezialformen von Assoziationen 0:28:10 Multiplizität bei qualifizierten Assoziationen 0:29:33 Multiplizität bei qualifizierten Assoziationen – Beispiel 0:31:38 Klassenattribute und -methoden 0:33:07 Konstruktoren 0:34:25 Kurze Fragerunde... 0:35:27 Vererbung 0:35:51 Vererbung – Begriffe und Synonyme 0:43:01 Ist-ein Beziehung 0:44:28 Praxis 0:45:41 Liskovsches Substitutionsprinzip 0:51:42 Unterscheide! 0:54:23 Überschreiben – Beispiel 0:55:27 Lösung: Abstrakte Methoden 0:58:32 Schnittstelle 1:00:47 Verwendung von Schnittstellen 1:01:34 Schnittstelle – Beispiel 1:02:07 ""Vererbung"" bei Schnittstellen 1:07:45 Beispiel Ko-/Kontravarianz 1:10:41 Kontravarianz und Substitutionsprinzip - Beispiel 1:13:49 Kurze Fragerunde... 1:15:11 Folgerung aus dem Substitutionsprinzip 1:22:28 Polymorphie 1:23:06 Beispiel: ""Dynamische Polymorphie""