Methoden zum Softwareentwurf Flashcards

1
Q

Welche Methoden- und Modelltypen gibt es in der Software-Definition und Software-Entwurf?

A
•	Statische Methoden und Modelle
o	Datenorientierte Methoden/Modelle
o	Funktionsorientierte Methoden/Modelle
o	Objektorientierte Methoden/Modelle
•	Dynamische Methoden und Modelle
o	Prozessorientierte Methoden/Modelle
o	Zustandsorientierte Methoden/Modelle
•	Logische Methoden und Modelle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die Ziele der Methoden und Modelle in der Software-Definition und Software-Entwurf?

A
  • Detaillierte/formalisierte Modellierung und Dokumentation des Ist- und Soll-Zustands
  • Grundlage für eine detaillierte Definition von Anforderungen
  • Ermittlung und Festlegung der Umgebungs- und Randbedingungen des Software-Systems
  • Festlegung der Softwaremodule (Modularisierung) des Software-Systems (Funktions- und Datenmodule
  • Grundlage für die Spezifikation des Funktions- und Lösungsumfangs jedes Softwaremoduls
  • Beschreibung der Schnittstellen und Wechselwirkungen zwischen den Softwaremodulen des Software-Systems
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Welche statischen Methoden/Modelle gibt es?

A
•	Datenorientiert:
o	Entity-Relationship-Diagramme (ER)
•	Funktionsorientiert:
o	Hierarchische Funktionsgliederung
o	Funktionsbäume
o	Use-Case-Diagramme
•	Objektorientiert:
o	Klassendiagramme
o	Objekt-Diagramme
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Wo finden Entity-Relationship (ER)-Diagramme Anwendung?

A

• Aufbau eines formellen Modells für die Entwicklung von Software zur Speicherung, Verwaltung und Verarbeitung von Daten ( Datenbank-Software)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Was versteht man unter Entität (entity)?

A
  • Gegenstand (Sachverhalt/Exemplar/Begriff) der realen oder der Vorstellungswelt dessen Informationen gespeichert und verwaltet werden sollen.
  • Eine Entität hat eine eindeutige Identität und mehrere Eigenschaftswerte (Attributswerte)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Was sind Attribute bei ER?

A

• Eigenschaften von Entitätstypen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Was versteht man bei ER unter Attributswerten?

A

• Konkrete Ausprägung der Eigenschaften

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Was ist ein Entitätstyp?

A

• Mehrere Entitäten mit gleichen Eigenschaften

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Was versteht man unter der Entitätsmenge?

A

• Menge aller Entitäten eines Entitätstyps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was versteht man bei ER unter Relationship?

A

• Beziehung/Relation zwischen Entitätstypen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist der Inhalt von ER-Diagrammen

A

• Formelle Abbildung für die Entwicklung einer Datenbank relevanter Entitätstypen, Attribute und deren Beziehungen (Relationships)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Wie sieht das Vorgehen bei der Erstellung von ER-Diagrammen aus? (ER-Methode)

A
  1. Identifikation aller zu betrachteten Entitätstypen
  2. Identifikation beschreibender Eigenschaften (Attribute) jedes Entitätstyps
  3. Identifikation und Beschreibung der Beziehungen zwischen verschiedenen Entitätstypen
  4. Darstellung der Entitätstypen, Attribute und Beziehungen zwischen den Entitätstypen in einem ER-Diagramm
  5. Festlegung der Mengenbeziehungen zwischen verschiedenen Entitätstypen in das ER-Diagramm
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Nennen Sie Vor- und Nachteile der ER-Methode.

A

• Vorteile:
o Anwendungsorientierte Sichtweise
o Einfache Symbolik
o Eignet sich für komplexe Aufgabenstellungen, bei denen sich das Datenmodell nicht automatisch aus dem Lösungsverfahren ergibt
o Sehr weit verbreitet
• Nachteile:
o Ausschließlich Datenorientierung
o Keine Darstellung funktionaler Abhängigkeiten
o Fehlende Erfassung dynamischer Änderungen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wo findet die Hierarchische Funktionsgliederung Anwendung?

A
  • hierarchische funktionsorientierte Zerlegung eines Problems in Teilfunktionen
  •  bis einzelne unabhängige Programmmodule sichtbar werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Nenne Sie Vor- und Nachteile der hierarchischen Funktionsgliederung.

A

• Vorteile:
o Leicht verständliche Symbolik
o Klare Gliederung
o Gute Kombinierbarkeit mit anderen Entwurfsmethoden
• Nachteile:
o Algorithmische Sicht des problems mit Bedingungen, Auswahlschritten, Schleifen und den bearbeiteten Daten nicht darstellbar
o Teilfunktionen können nur verbal beschrieben, nicht jedoch in ihrem Ablauf festgelegt werden
o Geeignet nur für einen ersten Einstieg in ein komplexes Problem und zur Dokumentation der Software und ihrer Teilfunktionen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Nennen Sie Objektorientierte Grundkonzepte.

A
•	Grundelemente
o	Objekte
o	Klassen
o	Attribute
o	Operationen
•	Element-Beziehungen
o	Statische Beziehungen
o	Botschaften
•	Grundprinzipien
o	Kapselung
o	Abstraktion
o	Vererbt
o	Polymorphismus
17
Q

Wie sieht ein Objekt aus in OOP?

A

• Ein Objekt ist ein reales oder abstraktes Phänomen oder ein Gegenstand, welches/-er über eine Objektidentität, ein Zustand (Merkmale/Attribute mit Attributswerte) und ein spezifisches Verhalten (Operationen) verfügt.

18
Q

Beschreiben Sie eine Klasse nach OOP.

A
  • Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamen Merkmalen/Attributen und Verhalten.
  • Aus einer Klasse wird ein Objekt erzeugt, indem die vorgesehenen Attribute mit Inhalten, den Attributswerten, gefüllt werden (Istanziierung).
19
Q

Was ist eine Objektidentität in OOP?

A

Die Objektidentität stellt eine Eigenschaft dar, die ein Objekt eindeutig von anderen unterscheidet. Objekte der gleichen Klasse mit zufällig gleichen Attributwerten sind gleich, aber nicht identisch.

20
Q

Was sind Attribute nach OOP?

A
  • Attribute sind die Merkmale bzw. Eigenschaften eines Objektes, die den Zustand eines Objektes bestimmen.
  • Klassenattribut: wenn nur ein Attribut für alle Objekte einer Klasse existiert
  • Abgeleitetes Attribut: kann aus anderen Attributwerten abgeleitet werden
21
Q

Welche Attributspezifikationen gibt es nach OOP?

A
  • Name
  • Typ (z.B. numerische Zahlen (int), Gleitkommazahl (float/double), Zeichen (char), Zeichenkette (String), Wahrheitswert (Bool),…)
  • Sichtbarkeit (öffentlich +, geschützt #, privat -)
  • Anfangswert (default)
  • Klassenattribut (class attribute)
22
Q

Was sind Operationen und Methoden nach OOP?

A

• Operationen/Methoden spezifizieren eine Fähigkeit oder Verantwortlichkeit eines Objektes und bestimmen somit das Verhalten eines Objektes. Operationen verändern den Zustand eines Objektes und können von fremden Objekten aufgerufen werden, indem Nachrichten bzw. Botschaften zwischen Objekten ausgetauscht werden.

23
Q

Welche Operationstypen gibt es in OOP?

A
  • mit lesendem Zugriff = accessor operation
  • mit schreibenden Zugriff = update operation
  • zur Durchführung von Berechnungen
  • zum Erzeugen = constructor operation und Löschen = destructor operation von Objekten
  • Operationen zum selektieren = query operation, select operation
  • zum Erstellen von Verbindungen zwischen Objekten = connect operation und zum Abbau von Verbindungen
24
Q

Beschreiben sie die Sichtbarkeit von Operationen in OOP.

A

• jedes Attribut und jede Methode eines Objektes hat eine Sichtbarkeit, die Festlegung ob auf die entsprechende Eigenschaft von außen zugegriffen werden kann.
• Sichtbarkeiten:
o public (öffentlich „+“) – auf öffentliche Eigenschaften kann von außen zugegriffen werden
o protected (geschützt „#“) – auf geschützte Eigenschaften kann nicht von außen zugegriffen werden
o private (privat „-„) – auf private Eigenschaften kann nicht von außen und nicht von Subklassen zugegriffen werden

25
Q

Was ist eine Assoziation nach OOP?

A
  • beschreibt stets Beziehungen zwischen Objekten, nicht zwischen Klassen.
  • können mit Namen versehen werden. Dieser beschreibt nur eine Richtung der Assoziation. schwarzes Dreieck zeigt die Richtung an. Name kann fehlen wenn Assoziation offensichtlich.
  • Assoziationsname beschreibt die Semantik
  • Rollenname bzw. Rolle enthält Informationen über die Bedeutung der Klasse bzw. ihrer Objekte in der Assoziation
26
Q

Was sind Uni- und bidirektionale Assoziationen nach OOP?

A

• unidirektional:
o Kennzeichnung durch Pfeilspitze
o Navigation der Assoziation
o Nur von einer Richtung zugriff
• Bidirektional:
o Assoziationen in beide Richtung implementiert
o entweder durch zwei Pfeile oder keine Pfeile gekennzeichnet

27
Q

Was sind Aggregation und Komposition in OOP?

A

• Aggragation:
o besondere Form der Assoziation
o wenn Rangordnung zwischen beteiligten Klassen gilt („teil von“ oder „besteht aus“)
o Teilobjekt kann zu einem Zeitpunkt mehreren Aggregatobjekten zugeordnet werden
o Darstellung unausgefüllte Raute
• Komposition:
o starke Form der Aggregation
o „ist Teil von“- Beziehung muss vorliegen
o Jedes Objekt der Teilklasse kann nur zu einem Zeitpunkt nur Komponente eines einzigen Objektes der Aggregatklasse sein
o kann zu anderem Zeitpunkt auch anderen Ganzen zugeordnet werden
o wird das Ganze kopiert dann auch seine Teile
o wird das Ganze gelöscht auch seine Teile
o Darstellung mit ausgefüllter Raute

28
Q

Was sind Kardinalitäten einer Assoziation in OOP?

A

Die Kardinalität spezifiziert mit wie vielen Objekten der gegenüberstehende Klasse ein bestimmtes Objekt einer Klasse assoziiert werden kann oder muss.

29
Q

Was sind Klassendiagramme?

A
  • Ein Klassendiagramm ist ein Graph, in dem eine bestimmte Menge korrelierter Klassen mit ihrem Inhalt und deren statischen Beziehungen zu anderen Klassen dargestellt werden.
  • Die Namen von Klassen sind Nomen im Singular (Plural durch Kardinalitäten)
  • Klassendiagramme sind Teil der Unified Modeling Language (UML)
30
Q

Was sind die Grundelemente von Klassendiagrammen?

A
  • Klassen (einschließlich Attribute, Operationen), Assoziationen, Aggregationen, Kompositionen
  • Relationen/Beziehungen (einschließlich der Kardinalitäten)
31
Q

Wie sieht die Vorgehensweise bei der Analyse und dem Entwurf von Klassendiagrammen aus?

A
  1. Identifikation der relevanten Klassen
  2. Identifikation von Assoziationen
  3. Identifikation und Spezifikation von Attributen und Operationen
  4. Erstellen eines Klassendiagramms und ggf. Spezifikation der Vererbstrukturen
  5. Assoziationen vervollständigen
32
Q

Was sind Objektdiagramme

A
  • Ein Objekt-Diagramm beschreibt die Beziehungen zwischen Objekten zu einem speziellen Zeitpunkt
  • Grundelemente: Objekte, Attribute, Assoziationen
33
Q

Was ist ein Anwendugsfalldiagramm?

A
  • auch Use Case Diagramm
  • beschreibt die Interaktion zwischen externen Objekten (Akteuren) und Vorgängen (Anwendungsfällen) im Softwaresystem
  •  Überblick über Struktur der Nutzungsfälle und den beteiligten Akteuren
34
Q

Nennen Sie die Ziele der Use Case-Analyse

A
  • Abstimmung des Systemverhaltens zwischen Systemnutzern und SW-Entwicklern
  • Formalisierung der Nutzeranforderungen im Rahmen der Anforderungsanalyse
  • Dokumentieren des Systemumfanges für den Softwareentwicklungsvertrag, als Teil des Pflichtenheftes
  • Strukturierung des künftigen SW-Systems
  • Basis für die Gestaltung der Benutzeroberfläche der SW