Podcast
Questions and Answers
Welches der folgenden Diagramme gehört zu den dynamischen Diagrammen?
Welches der folgenden Diagramme gehört zu den dynamischen Diagrammen?
- Klassendiagramm
- Erstellungsdiagramm
- Zustandsdiagramm (correct)
- Komponentendiagramm
Aktivitätsdiagramme sind in der dynamischen Modellierung nicht relevant.
Aktivitätsdiagramme sind in der dynamischen Modellierung nicht relevant.
False (B)
Nennen Sie die drei Arten von dynamischen Diagrammen, die im Lernziel erwähnt werden.
Nennen Sie die drei Arten von dynamischen Diagrammen, die im Lernziel erwähnt werden.
Zustandsdiagramme, Aktivitätsdiagramme, Sequenzdiagramme
In einem _____________-Diagramm wird die zeitliche Abfolge von Nachrichten dargestellt.
In einem _____________-Diagramm wird die zeitliche Abfolge von Nachrichten dargestellt.
Ordnen Sie die Diagrammtypen ihren Beschreibungen zu:
Ordnen Sie die Diagrammtypen ihren Beschreibungen zu:
Welche Aussage beschreibt am besten die Freistellungsregelung für Arbeitnehmer, die länger als 5 Jahre im Unternehmen beschäftigt sind?
Welche Aussage beschreibt am besten die Freistellungsregelung für Arbeitnehmer, die länger als 5 Jahre im Unternehmen beschäftigt sind?
Die Betätigung einer Taste ist immer ein externes Ereignis ohne zusätzliche Informationen.
Die Betätigung einer Taste ist immer ein externes Ereignis ohne zusätzliche Informationen.
Was passiert mit einem Arbeitnehmer nach Ablauf seiner Beurlaubung?
Was passiert mit einem Arbeitnehmer nach Ablauf seiner Beurlaubung?
Ein Arbeitnehmer kann das Unternehmen verlassen, indem er eine __________ abgibt.
Ein Arbeitnehmer kann das Unternehmen verlassen, indem er eine __________ abgibt.
Ordne die folgenden Aussagen den richtigen Wahrheitswerten zu:
Ordne die folgenden Aussagen den richtigen Wahrheitswerten zu:
Welche der folgenden Vorteile sind mit der objektorientierten Programmierung verbunden?
Welche der folgenden Vorteile sind mit der objektorientierten Programmierung verbunden?
Vererbung ermöglicht es, neue Klassen von bestehenden Klassen abzuleiten.
Vererbung ermöglicht es, neue Klassen von bestehenden Klassen abzuleiten.
Was beschreibt das Baukastenprinzip in der objektorientierten Programmierung?
Was beschreibt das Baukastenprinzip in der objektorientierten Programmierung?
Ein Gebrauchtwagen hat eine ______, einen Hersteller und eine Fahrgestellnummer.
Ein Gebrauchtwagen hat eine ______, einen Hersteller und eine Fahrgestellnummer.
Ordnen Sie die Begriffe den passenden Erklärungen zu:
Ordnen Sie die Begriffe den passenden Erklärungen zu:
Was ist ein Beispiel für eine Methode in der Klasse Gebrauchtwagen?
Was ist ein Beispiel für eine Methode in der Klasse Gebrauchtwagen?
Eine klare Schnittstelle zwischen Objekten ist ein Nachteil der objektorientierten Programmierung.
Eine klare Schnittstelle zwischen Objekten ist ein Nachteil der objektorientierten Programmierung.
Was muss ein Gebrauchtwagen tun, um verkauft zu werden?
Was muss ein Gebrauchtwagen tun, um verkauft zu werden?
Was ist ein wichtiges Merkmal der objektorientierten Sichtweise?
Was ist ein wichtiges Merkmal der objektorientierten Sichtweise?
In der objektorientierten Programmierung können Daten eines Objektes direkt ohne die Verwendung von Methoden bearbeitet werden.
In der objektorientierten Programmierung können Daten eines Objektes direkt ohne die Verwendung von Methoden bearbeitet werden.
Was bedeutet Kapselung in der objektorientierten Programmierung?
Was bedeutet Kapselung in der objektorientierten Programmierung?
Objekte interagieren durch das Versenden von __________.
Objekte interagieren durch das Versenden von __________.
Ordnen Sie die Begriffe den korrekten Beschreibungen zu:
Ordnen Sie die Begriffe den korrekten Beschreibungen zu:
Welche Aussage beschreibt am besten die Beziehung zwischen Objekten und Klassen?
Welche Aussage beschreibt am besten die Beziehung zwischen Objekten und Klassen?
Es gibt eine begrenzte Anzahl an Objekten und Klassen in der objektorientierten Programmierung.
Es gibt eine begrenzte Anzahl an Objekten und Klassen in der objektorientierten Programmierung.
Was beschreibt das Verhalten eines Objektes in der objektorientierten Programmierung?
Was beschreibt das Verhalten eines Objektes in der objektorientierten Programmierung?
Was bedeutet UML?
Was bedeutet UML?
Die UML wird von der Object Management Group (OMG) entwickelt.
Die UML wird von der Object Management Group (OMG) entwickelt.
Wie viele unterschiedliche Diagrammtypen gibt es in der UML?
Wie viele unterschiedliche Diagrammtypen gibt es in der UML?
UML ist ein internationaler Standard, der durch _____ standardisiert ist.
UML ist ein internationaler Standard, der durch _____ standardisiert ist.
Welches der folgenden Diagramme stellt die statische Struktur eines Systems dar?
Welches der folgenden Diagramme stellt die statische Struktur eines Systems dar?
In der UML gibt es Diagramme, die nur für die Entwurfsphase verwendet werden können.
In der UML gibt es Diagramme, die nur für die Entwurfsphase verwendet werden können.
Nenne einen Gründer der UML.
Nenne einen Gründer der UML.
Ordne die folgenden Konzepte den richtigen Typen zu:
Ordne die folgenden Konzepte den richtigen Typen zu:
In einer 1-zu-many-Assoziation kann ein Objekt _____ mehrere Objekte zugeordnet sein.
In einer 1-zu-many-Assoziation kann ein Objekt _____ mehrere Objekte zugeordnet sein.
Die UML ist als Vorgehensmodell für die objektorientierte Softwareentwicklung zu betrachten.
Die UML ist als Vorgehensmodell für die objektorientierte Softwareentwicklung zu betrachten.
Welche der folgenden Aussagen beschreibt UML korrekt?
Welche der folgenden Aussagen beschreibt UML korrekt?
UML unterstützt nur statische Modelle von Software.
UML unterstützt nur statische Modelle von Software.
Was sind die zwei Haupttypen von Diagrammen, die in UML unterschieden werden?
Was sind die zwei Haupttypen von Diagrammen, die in UML unterschieden werden?
UML ist eine Notation, um Softwaresysteme zu __________.
UML ist eine Notation, um Softwaresysteme zu __________.
Ordnen Sie die Diagrammtypen den entsprechenden Beschreibungen zu:
Ordnen Sie die Diagrammtypen den entsprechenden Beschreibungen zu:
Welche UML-Version ist die aktuellste, die seit März 2015 verfügbar ist?
Welche UML-Version ist die aktuellste, die seit März 2015 verfügbar ist?
Use Cases sollten nummeriert sein.
Use Cases sollten nummeriert sein.
Nennen Sie ein Beispiel für ein UML-Modellierungstool.
Nennen Sie ein Beispiel für ein UML-Modellierungstool.
Die ___________diagramme in UML zeigen die statische Struktur des Systems.
Die ___________diagramme in UML zeigen die statische Struktur des Systems.
Welcher Diagrammtyp ist ein Beispiel für ein dynamisches Modell?
Welcher Diagrammtyp ist ein Beispiel für ein dynamisches Modell?
Flashcards
Zustandsdiagramm
Zustandsdiagramm
Ein Diagramm, das alle möglichen Zustände eines Objekts und die Übergänge zwischen diesen Zuständen darstellt.
Ereignisse
Ereignisse
Ereignisse sind Auslöser, die dazu führen, dass eine Methode in einem Objekt ausgeführt wird.
Objektverhalten
Objektverhalten
Eine Klasse kann auf verschiedene Weise auf ein Ereignis reagieren, abhängig von ihrem aktuellen Zustand.
Dynamisches Verhalten modellieren
Dynamisches Verhalten modellieren
Signup and view all the flashcards
Endknoten in Zustandsdiagrammen
Endknoten in Zustandsdiagrammen
Signup and view all the flashcards
Dynamische Modellierung
Dynamische Modellierung
Signup and view all the flashcards
Aktivitätsdiagramm
Aktivitätsdiagramm
Signup and view all the flashcards
Sequenzdiagramm
Sequenzdiagramm
Signup and view all the flashcards
Interaktion zwischen Objekten
Interaktion zwischen Objekten
Signup and view all the flashcards
Datenkapselung
Datenkapselung
Signup and view all the flashcards
Klare Schnittstellen
Klare Schnittstellen
Signup and view all the flashcards
Vererbung
Vererbung
Signup and view all the flashcards
Polymorphie
Polymorphie
Signup and view all the flashcards
Klassenhierarchie
Klassenhierarchie
Signup and view all the flashcards
Klassenbibliothek
Klassenbibliothek
Signup and view all the flashcards
Flexibilität
Flexibilität
Signup and view all the flashcards
Codewiederverwendung
Codewiederverwendung
Signup and view all the flashcards
Was ist UML?
Was ist UML?
Signup and view all the flashcards
Wozu dient UML?
Wozu dient UML?
Signup and view all the flashcards
Welche UML Version ist aktuell?
Welche UML Version ist aktuell?
Signup and view all the flashcards
Was sind Strukturdiagramme?
Was sind Strukturdiagramme?
Signup and view all the flashcards
Was sind Verhaltensdiagramme?
Was sind Verhaltensdiagramme?
Signup and view all the flashcards
Was sind Klassendiagramme?
Was sind Klassendiagramme?
Signup and view all the flashcards
Was sind Use Case Diagramme?
Was sind Use Case Diagramme?
Signup and view all the flashcards
Was sind Sequenzdiagramme?
Was sind Sequenzdiagramme?
Signup and view all the flashcards
Was sind Aktivitätsdiagramme?
Was sind Aktivitätsdiagramme?
Signup and view all the flashcards
Was sind Zustands-Transitionsdiagramme?
Was sind Zustands-Transitionsdiagramme?
Signup and view all the flashcards
Objektorientierte Sichtweise
Objektorientierte Sichtweise
Signup and view all the flashcards
Kapselung der Daten
Kapselung der Daten
Signup and view all the flashcards
Softwareanwendung aus Objekten/Klassen
Softwareanwendung aus Objekten/Klassen
Signup and view all the flashcards
Daten und Methoden in Objekten/Klassen
Daten und Methoden in Objekten/Klassen
Signup and view all the flashcards
Zugriff auf Daten über Methoden
Zugriff auf Daten über Methoden
Signup and view all the flashcards
Objekte kommunizieren über Methoden
Objekte kommunizieren über Methoden
Signup and view all the flashcards
Verhalten eines Objekts durch Methoden
Verhalten eines Objekts durch Methoden
Signup and view all the flashcards
Nur Objekte/Klassen existieren
Nur Objekte/Klassen existieren
Signup and view all the flashcards
Wer entwickelt UML?
Wer entwickelt UML?
Signup and view all the flashcards
Was zeigen UML Diagramme?
Was zeigen UML Diagramme?
Signup and view all the flashcards
Was ist eine 1-zu-1-Verbindung?
Was ist eine 1-zu-1-Verbindung?
Signup and view all the flashcards
Was ist eine 1-zu-viele-Verbindung?
Was ist eine 1-zu-viele-Verbindung?
Signup and view all the flashcards
Was ist eine viele-zu-viele-Verbindung?
Was ist eine viele-zu-viele-Verbindung?
Signup and view all the flashcards
Was ist Vererbung in UML?
Was ist Vererbung in UML?
Signup and view all the flashcards
Was ist Aggregation in UML?
Was ist Aggregation in UML?
Signup and view all the flashcards
Was ist Multiplizität in UML?
Was ist Multiplizität in UML?
Signup and view all the flashcards
Study Notes
Software Engineering (I) - Teil 2: Prinzipien
- Software Engineering (I), Teil 2, behandelt Prinzipien.
- Dozenten sind Prof. Dr. Isabel John und Prof. Dr. Anne Heß.
Prinzipien der Software Engineering
- Ein Prinzip ist eine allgemeine Regel oder Wahrheit, die im Leben angewendet wird.
- Die Mehrheit der Menschen folgt meist diesen Regeln (aber nicht immer alle).
- Beispiele für Prinzipien wurden in "echtem Leben" erfragt.
Einige "zufällige" SE-Prinzipien mit ausgefallenen Namen
- KISS (Keep It Simple, Stupid)
- DRY (Don't Repeat Yourself)
- YAGNI (You Aren't Gonna Need It)
- BDUF (Big Design Upfront)
- SOLID
- Occam's Razor
- Gesetz von Demeter (LoD)
Unsere 15 Prinzipien
- Abstraktion
- Strukturierung
- Hierarchisierung
- Modularisierung
- Information Hiding/Geheimhaltungsprinzip
- Lokalisierung
- Wiederverwendbarkeit
- Standardisierung
- Dokumentation
- Verbalisierung
- SOLID (11-15)
1. Prinzip der Abstraktion
- Abstraktion bedeutet, Komplexität durch Weglassen von Details zu reduzieren.
- Ziel ist die Abstraktion eines Modells eines Themas (z.B. eines Systems).
Merkmale von Modellen
- Alle Modelle erfüllen zwei Merkmale:
- Repräsentation (preskriptiv/deskriptiv)
- Bewertung der Qualität, bezogen auf dargestellte Realität
- Vereinfachung
Übungsaufgaben
- Übungsaufgaben wurden vorgestellt, um die Prinzipien zu üben.
- Dabei wurde die Abstraktion/ein Modell des Hörsaals besprochen.
2. Prinzip der Strukturierung
- Strukturierung ist die Reduzierung einer komplexen Darstellung, um den Charakter des Gesamten darzustellen.
- Strukturierung von Systemen wird durch Hierarchisierung und Modularisierung erfolgen.
3. Prinzip der Hierarchisierung
- Ein System hat eine Hierarchie, wenn seinen Elementen eine Rangordnung zugeordnet ist.
- Elemente gleicher Rangordnung bilden eine Hierarchieebene.
- Kriterien für die Bildung von Hierarchien sind:
- Einheitliche Bedeutung
- Vergleichbare Eigenschaften der Elemente
- Zeitliche Zusammenhänge
- Mögliche hierarchische Formen sind baumartige und netzartige Hierarchien (mit Beispielen).
4. Prinzip der Modularisierung
- Modularisierung bedeutet, ein Softwareprodukt aus einzelnen Bausteinen zusammenzusetzen.
- Die Bausteine (Module) haben bestimmte Eigenschaften.
- Eigenschaften (die ein Modul haben muss) sind: eine feste Bindung, Kontextunabhängigkeit, entwickelbar, übersetzbar, prüfbar, wartbar, verständlich.
- Es existiert eine Schnittstellenbeschreibung.
- Alle Internas des Moduls sind dem Anwender verborgen.
- Alle Informationen befinden sich an einer Stelle (Lokalitätsprinzip).
- Eine geringe Kopplung zwischen den Modulen.
5. Geheimnisprinzip
- Das Geheimnisprinzip bedeutet, dass der Benutzer einer funktionalen Abstraktion nicht weiß, wie die Implementation funktioniert.
6. Prinzip der Lokalität
- Optimale Lokalität liegt vor, wenn alle Informationen für die Lösung eines Problems an einer Stelle zu finden sind. Nicht benötigte Informationen gehören nicht zur Lokalität dazu.
7. Prinzip der Wiederverwendbarkeit
- Wiederverwendbarkeit ist aus ökonomischer Sicht sinnvoll, um Zeit und Kosten bei der Systementwicklung zu sparen.
8. Prinzip der Standardisierung
- Standardisierung durch Anwendung von Richtlinien, Normen, Guidelines etc.
- Bereiche der Standardisierung sind: Namensvergabe, Pflichtenhefterstellung, Verwendung von Standardgliederungen, Einhaltung von Programmierstandards, Oberflächenstandards, Einheitliches Fehlermanagement, Einheitliche Verwendung von Funktionstasten.
- Standardisierung ist in allen Unternehmen notwendig.
- Standisierungsvorgaben müssen allen Mitarbeitern bekannt sein.
9. Prinzip der integrierten Dokumentation
- Ein Softwareprodukt besteht aus Programmcode und Dokumentation.
- Qualität eines Softwareprodukts hängt von der Dokumentation ab.
- Verschiedene Arten von Dokumentationen.
- Dokumentation sollte Adressatengerecht, aktuell, Diktatgerecht, Umfangsgerecht, vollständig, formgerecht sein.
10. Prinzip der Verbalisierung
- Verbalisierung heißt, Gedanken und Vorstellungen in Worte zu fassen.
- Gute Verbalisierung kann durch aussagekräftige, mnemotechnische Namensgebung erzielt werden.
- In komplexen Softwaresystemen müssen Zehntausende an Namen vergeben werden.
- Geeignete Kommentare, selbstdokumentierende Konzepte, Methoden und Sprachen.
Software Engineering (I) - Teil 3: UML (Einführung)
- Die Unified Modeling Language (UML) ist eine Modellierungssprache.
- Die objektorientierte Sichtweise soll kennen gelernt werden.
- Verschiedene UML-Diagrammtypen.
- Einfache UML-Diagramme zeichnen und interpretieren.
- Herkömmliche, strukturierte Sichtweise. Geschichte der objektorientierten Softwareentwicklung. Grundlagen der objektorientierten Analyse.
Aufbau der Vorlesung - Teil UML
- Objektorientierung
- Einführung
- Statische Modellierung (Klassendiagramme, Objektdiagramme)
- Use Cases
- Dynamische Modellierung (Zustands-, Sequenzdiagramme)
Weitere Informationen
- UML (Unified Modeling Language) ist eine Modellierungssprache zur Analyse und zum Entwurf von Softwaresystemen.
- Zusammenhang der Diagramtypen mit den verschiedenen Entwicklungsphasen.
- UML-Modellierungstools wie Draw.io/Diagrams.net, Lucidchart, Creately, Gliffy, PlantUML und Visual Paradigm.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Description
Testen Sie Ihr Wissen über dynamische Diagramme und objektorientierte Programmierung. Beantworten Sie Fragen zu Aktivitätsdiagrammen, Wahrheitswerten und Regelungen im Arbeitskontext. Lernen Sie die Vorteile der objektorientierten Programmierung kennen.