Podcast
Questions and Answers
Welches der folgenden Diagramme gehört zu den dynamischen Diagrammen?
Welches der folgenden Diagramme gehört zu den dynamischen Diagrammen?
Aktivitätsdiagramme sind in der dynamischen Modellierung nicht relevant.
Aktivitätsdiagramme sind in der dynamischen Modellierung nicht relevant.
False
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.
Signup and view all the answers
Ordnen Sie die Diagrammtypen ihren Beschreibungen zu:
Ordnen Sie die Diagrammtypen ihren Beschreibungen zu:
Signup and view all the answers
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?
Signup and view all the answers
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.
Signup and view all the answers
Was passiert mit einem Arbeitnehmer nach Ablauf seiner Beurlaubung?
Was passiert mit einem Arbeitnehmer nach Ablauf seiner Beurlaubung?
Signup and view all the answers
Ein Arbeitnehmer kann das Unternehmen verlassen, indem er eine __________ abgibt.
Ein Arbeitnehmer kann das Unternehmen verlassen, indem er eine __________ abgibt.
Signup and view all the answers
Ordne die folgenden Aussagen den richtigen Wahrheitswerten zu:
Ordne die folgenden Aussagen den richtigen Wahrheitswerten zu:
Signup and view all the answers
Welche der folgenden Vorteile sind mit der objektorientierten Programmierung verbunden?
Welche der folgenden Vorteile sind mit der objektorientierten Programmierung verbunden?
Signup and view all the answers
Vererbung ermöglicht es, neue Klassen von bestehenden Klassen abzuleiten.
Vererbung ermöglicht es, neue Klassen von bestehenden Klassen abzuleiten.
Signup and view all the answers
Was beschreibt das Baukastenprinzip in der objektorientierten Programmierung?
Was beschreibt das Baukastenprinzip in der objektorientierten Programmierung?
Signup and view all the answers
Ein Gebrauchtwagen hat eine ______, einen Hersteller und eine Fahrgestellnummer.
Ein Gebrauchtwagen hat eine ______, einen Hersteller und eine Fahrgestellnummer.
Signup and view all the answers
Ordnen Sie die Begriffe den passenden Erklärungen zu:
Ordnen Sie die Begriffe den passenden Erklärungen zu:
Signup and view all the answers
Was ist ein Beispiel für eine Methode in der Klasse Gebrauchtwagen?
Was ist ein Beispiel für eine Methode in der Klasse Gebrauchtwagen?
Signup and view all the answers
Eine klare Schnittstelle zwischen Objekten ist ein Nachteil der objektorientierten Programmierung.
Eine klare Schnittstelle zwischen Objekten ist ein Nachteil der objektorientierten Programmierung.
Signup and view all the answers
Was muss ein Gebrauchtwagen tun, um verkauft zu werden?
Was muss ein Gebrauchtwagen tun, um verkauft zu werden?
Signup and view all the answers
Was ist ein wichtiges Merkmal der objektorientierten Sichtweise?
Was ist ein wichtiges Merkmal der objektorientierten Sichtweise?
Signup and view all the answers
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.
Signup and view all the answers
Was bedeutet Kapselung in der objektorientierten Programmierung?
Was bedeutet Kapselung in der objektorientierten Programmierung?
Signup and view all the answers
Objekte interagieren durch das Versenden von __________.
Objekte interagieren durch das Versenden von __________.
Signup and view all the answers
Ordnen Sie die Begriffe den korrekten Beschreibungen zu:
Ordnen Sie die Begriffe den korrekten Beschreibungen zu:
Signup and view all the answers
Welche Aussage beschreibt am besten die Beziehung zwischen Objekten und Klassen?
Welche Aussage beschreibt am besten die Beziehung zwischen Objekten und Klassen?
Signup and view all the answers
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.
Signup and view all the answers
Was beschreibt das Verhalten eines Objektes in der objektorientierten Programmierung?
Was beschreibt das Verhalten eines Objektes in der objektorientierten Programmierung?
Signup and view all the answers
Was bedeutet UML?
Was bedeutet UML?
Signup and view all the answers
Die UML wird von der Object Management Group (OMG) entwickelt.
Die UML wird von der Object Management Group (OMG) entwickelt.
Signup and view all the answers
Wie viele unterschiedliche Diagrammtypen gibt es in der UML?
Wie viele unterschiedliche Diagrammtypen gibt es in der UML?
Signup and view all the answers
UML ist ein internationaler Standard, der durch _____ standardisiert ist.
UML ist ein internationaler Standard, der durch _____ standardisiert ist.
Signup and view all the answers
Welches der folgenden Diagramme stellt die statische Struktur eines Systems dar?
Welches der folgenden Diagramme stellt die statische Struktur eines Systems dar?
Signup and view all the answers
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.
Signup and view all the answers
Nenne einen Gründer der UML.
Nenne einen Gründer der UML.
Signup and view all the answers
Ordne die folgenden Konzepte den richtigen Typen zu:
Ordne die folgenden Konzepte den richtigen Typen zu:
Signup and view all the answers
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.
Signup and view all the answers
Die UML ist als Vorgehensmodell für die objektorientierte Softwareentwicklung zu betrachten.
Die UML ist als Vorgehensmodell für die objektorientierte Softwareentwicklung zu betrachten.
Signup and view all the answers
Welche der folgenden Aussagen beschreibt UML korrekt?
Welche der folgenden Aussagen beschreibt UML korrekt?
Signup and view all the answers
UML unterstützt nur statische Modelle von Software.
UML unterstützt nur statische Modelle von Software.
Signup and view all the answers
Was sind die zwei Haupttypen von Diagrammen, die in UML unterschieden werden?
Was sind die zwei Haupttypen von Diagrammen, die in UML unterschieden werden?
Signup and view all the answers
UML ist eine Notation, um Softwaresysteme zu __________.
UML ist eine Notation, um Softwaresysteme zu __________.
Signup and view all the answers
Ordnen Sie die Diagrammtypen den entsprechenden Beschreibungen zu:
Ordnen Sie die Diagrammtypen den entsprechenden Beschreibungen zu:
Signup and view all the answers
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?
Signup and view all the answers
Use Cases sollten nummeriert sein.
Use Cases sollten nummeriert sein.
Signup and view all the answers
Nennen Sie ein Beispiel für ein UML-Modellierungstool.
Nennen Sie ein Beispiel für ein UML-Modellierungstool.
Signup and view all the answers
Die ___________diagramme in UML zeigen die statische Struktur des Systems.
Die ___________diagramme in UML zeigen die statische Struktur des Systems.
Signup and view all the answers
Welcher Diagrammtyp ist ein Beispiel für ein dynamisches Modell?
Welcher Diagrammtyp ist ein Beispiel für ein dynamisches Modell?
Signup and view all the answers
Signup and view all the answers
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.