DiscoverSoftwaretechnik 1, Vorlesung, SS2019
Softwaretechnik 1, Vorlesung, SS2019
Claim Ownership

Softwaretechnik 1, Vorlesung, SS2019

Author: Karlsruher Institut für Technologie (KIT)

Subscribed: 17Played: 210
Share

Description

Inhalt der Vorlesung ist der gesamte Lebenszyklus von Software von der Projektplanung über die Systemanalyse, die Kostenschätzung, den Entwurf und die Implementierung, die Validation und Verifikation, bis hin zur Wartung von Software. Weiter werden UML, Entwurfsmuster, Software-Werkzeuge, Programmierumgebungen und Konfigurationskontrolle behandelt.

Vorlesungsaufzeichnung: http://webcast.kit.edu
24 Episodes
Reverse
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""
loading
Comments 
Download from Google Play
Download from App Store