Ralf Strobel, MEE WS2010
Aufgabensammlung zur Prüfung in Software Engineering SWE
1. Nennen Sie mindestens drei Charakteristika vom evolutionären/inkrementellen Modell?
Software-Produkt wird allmählich und stufenweise entwickelt und ausgeliefert Pflegeaktivitäten für das Produkt durch/mit Versionen
Ist gut Anwendbar, wenn der Auftraggeber die Anforderungen an das zu entwickelnde Produkt noch nicht vollständig überblickt
Code getriebene Entwicklung des Produktes
2. Nennen Sie mindestens zwei Eigenschaften des inkrementellen Modells Vermeidet die Nachteile des evolutionären Modells
Vollständige Erfassung und Modellierung der Anforderungen Nur der Anforderungsteil wird entworfen und implementiert
Anschließend folgt die nächste Aufbaustufe
3. Nennen Sie Ebenen der Wiederverwendung vom objektorientierten Modell?
OOA-Modelle (Subsysteme, Klassen, Klassenhierarchie) Technische Entwürfe (OOD-Modelle)
Implementierte Klassen und Klassenbibliotheken
4. Nennen Sie mindestens drei Zeitpunkte der Wiederverwendung beim OO-Modell?
Während der laufenden Entwicklung
Am Ende einer abgeschlossenen Entwicklung Nach Analysierung der Entwicklung
Nach Identifizierung und Überarbeitung der wieder verwendbaren Komponenten
5. Nennen Sie mindestens zwei Charakteristika vom OO-Modell?
Entwicklung des Produktes in voller Breite (WiederverwendungsGesichtspunkte) Fokus geht weg von der Eigenentwicklung, hin zur Wiederverwendung
Ist gut kombinierbar mit:
Evolutionärem/inkrementellen Modell Prototypen Modell
6. Woher Stammt das nebenläufige Modell und welche Abteilungen schließt es ein?
Aus der Fertigungsindustrie mit Fertigung, Marketing, Vertrieb
7. Nennen Sie mindestens drei Charakteristika vom nebenläufigen Modell?
Es besitzt eine Aktivitäten- Parallelisierung Es ist neutral gegenüber anderen Modellen
Fördert die Zusammenarbeit/Erfahrungszusammenbringung der Personengruppen Reduzierung der Zeitverzögerung durch Parallelisierung, wenig ausprobieren,
Wartezeitenreduktion
Ziel: vollständiges Produkt möglichst frühzeitig auszuliefern und eventuelle Vorziehung von Teilprodukten
8. Nennen Sie die 4 Schritte eines Zyklus des Spiral- Modells?
1. Planung 2.Auswertung 3. Auswahl 4. Begutachtung
9. Nennen Sie mindestens drei Charakteristika des Spiral- Modells?
Es ist ein risikogetriebenes Modell
Jede Spirale ist ein iterativer Zyklus der durch die 4 Schritte realisiert wird Zyklusziel eines Zyklus wird aus dem Ergebnis des Vorzyklus entwickelt Separate Zyklen für verschiedene Software-Komponenten möglich Keine Trennung der Entwicklung und Wartung
10. Was ist ein Lastenheft?
Beschreibung der An/-Forderungen eines Produktes eines Auftraggebers an einen Auftragnehmer
11. Was ist ein Pflichtenheft?
Ausformulierung wie und womit der Auftragnehmer das Lastenheft realisieren möchte
12. Nennen Sie mindestens drei wichtige Basiskonzepte der Software-Entwicklung?
ER(Entity Relationship) Modell, PAP(Programm Ablauf Plan), Pseudocode, Petrinetz, Zustandsautomat, Klassendiagramm, Aktivitätsdiagramm
13. Durch welche zwei Merkmale wird ein Objekt definiert?
Durch seine Attribute und Operationen bzw. Methoden
14. Nennen Sie ein Beispiel für eine Basisklasse mit einem Attribut und einer Methode und erstellen sie zwei Objekte dieser Klasse?
Hund mit Rasse und was frisst der Hund, sowie Methode Stock holen Schäferhund mit Trockenfutter und Methode Stock holen Dogge mit Nassfutter und Methode Stock holen
15. Was bedeutet Vererbung und was ist im Vorfeld dabei zu beachten?
Unterklasse erbt Attribute und/oder Methoden von der Basisklasse
Es muss vorher genau, so exakt wie möglich bestimmt werden was in der Basisklasse enthalten ist
16. Was bedeutet Verkapselung/Datenkapselung?
Die Daten eines Objektes sind in seine Methoden eingekapselt, nur durch Methoden erreichbar
Die Daten eines Objektes sind von Außen nicht sichtbar
17. Was heißt UML?
Unified Modeling Language
18. Wie erstellt man allgemein eine Klasse?
Findung von Gemeinsamkeiten (Attribute und Methoden) von Objekten
Die Klasse soll als Schablone/Stempel dienen in der n Objekte ermöglicht werden
19. Wie sieht eine Klasse in UML-Notation aus?
Klasse (KlassenName) Attribut von 1…n Operation() von 1…n
20. Wie ist der Zusammenhang zwischen Klassen und Objekten?
Eine Klasse instanziiert ein Objekt
Ein Objekt existiert meist nur durch seine Klasse
Ein Objekt kann alle Methoden und Attribute seiner Klasse besitzen Eine Klasse beschreibt die Gemeinsamkeiten einer Objektgruppe
21. Was ist ein Klassenattribut?
Ein Attribut was die Klasse beschreibt, was bei den Objekten nicht existiert, also nicht vererbt wird weil es bei allen gleich ist („ReadOnly“, nur die Klasse selbst darf ändern)
22. Welche Attributtypen gibt es?
Standardtypen
Aufzählungstypen (<<Enumeration>>) Strukturierte Typen (<<Structure>>)
23. Was ist und was macht ein Konstruktor?
Definierung eines Objekts vorab, zum Beginn der Laufzeit der Software Z.B. Vorinitialisierung von Objekten mit Standardwerten (NULL), sowie
Speicherfreigabe im Destruktor
24. Was ist eine Abstrakte Methode?
Eine Deklarierung einer Methode ohne Implementierung
Wird zur Laufzeit durch das Objekt implementiert, aber mit der Schablone der Klasse
25. Welche Operationsarten gibt es?
Accessor Operation (readonly) Update Operation
Berechnungsoperation Kon/-Destruktor
Query / Select Operator Connect Operator
Fremdaktivierung von Objekten durch Methoden
26. Was sind Stereotypen?
Gruppierung von Methoden nach Typen z.B. <<Konstruktor>> con1(); con2();…
27. Nennen Sie Beispiele für Verwaltungsoperationen?
new(); delete(); get(); set(); link(); unlink(); update(); erstelleListe(); getLinkKlasse()
28. Was ist allgemein eine Assoziation?
Modelliert Beziehungen zwischen Objekten gleichrangiger Klassen
29. Was ist eine reflexive Assoziation?
Eine Methode() einer Klasse die auf sich selbst, also auf die eigen Klasse zeigt
30. Was sind Multiplizitäten / Kardinalitäten?
Kennungsbezeichnungen von Klassen z.B. *…*; 1…n; 1…*; n…*;…
31. Was setzt eine kann Verbindung voraus?
Multiplizität darf auf der einen Seite der Klassen eine 0 besitzen, sonst ist es eine muss Verbindung
32. Was ist eine Rolle / ein Rollenname?
Beschreibung einer Assoziation von jeder sicht aus (Firma 1 – 1…* Mitarbeiter, die Firma ist Arbeitgeber, der Mitarbeiter ist Arbeitnehmer)
33. Was ist eine Restriktion?
Eine Kardinalität die bei allen Seitenenden genau gleich ist (0…1-0…1)
34. Was ist eine Assoziative Klasse?
Eine Assoziation kann die Eigenschaften der Klasse besitzen
Eine Assoziation wird durch eine Klasse realisiert (aus einer * zu * Beziehung/
Assoziation zweier Klassen wird eine neue Klasse die die Assoziation widerspiegelt)
35. Was ist eine Aggregation?
Dies ist eine schwache Aggregation als Sonderfall einer Assoziation - ist Teil von; - besteht aus
36. Was ist eine Komposition?
Dies ist eine starke Aggregation als Sonderfall einer Assoziation Existenzabhängigkeit
Unterklasse lebt nur wenn Basisklasse lebt
Immer genaue Zuordnung von Unter zu genau einer Basisklasse
37. Was sind mehrstellige Assoziationen?
Werden genutzt für sich ändernde Sachverhalte, d.h. wenn eine Klasse nicht immer auf die gleichen anderen Klassen zugreift, Variabler Klassenzugriff
38. Was beschreibt eine numerische Notation?
Angaben von min und max der Anzahl der einzelnen Assoziationen
39. Bei welchen Assoziationen sind numerische Notationen besonders effektiv und ausdrucksfähig?
Bei mehrstelligen Assoziationen
40. Erklären sie kurz das Prinzip der Vererbung?
Die Unterklasse erbt Eigenschaften, Verhalten, Objekte, Methoden, Attribute von der Basisklasse
41. Wie wird eine Klassenhierarchie dargestellt?
Durch ein Klassendiagramm, es kann Vererbungen und Assoziationen enthalten bzw.
beschreiben
42. Nennen Sie drei Sichtbarkeitsstufen in der Software Entwicklung?
+ public, für alle Klassen sichtbar - public, nicht sichtbar
# protected, nur in Unterklassen sichtbar
43. Was ist ein Diskriminator?
Wie Unterklassen mit ihrer Basisklasse zusammenhängen
Z.B. der Mitarbeiter hat eine Arbeitszeit, der Diskriminator beschreibt dann: - Vollzeit, - Teilzeit, - Kurzarbeit
44. Was ist eine Botschaft?
Ein Server erteilt einem Client eine Aufgabe bzw. eine Dienstleistung Aufforderung zur Ausführung einer Methode
45. Was ist ein Szenario?
Eine unter bestimmten Bedingungen Ausführung von Abfolgen bzw. einer Sequenz von Verarbeitungsschritten
46. Was sind die sechs Grundlegenden Säulen der OOP (objektorientierten Programmierung)?
Objekt, Botschaft, Klasse, Vererbung, Attribut, Assoziation, Operation
47. Welche der Säulen gehören zum statischen Konzept?
Vererbung, Attribut, Objekt , Assoziation
48. Welche der Säulen gehören zum dynamischen Konzept?
Klasse, Botschaft, Operation
49. Nennen Sie die zehn Muster der OOA (objektorientierten Analyse/Ansatz)?
Liste, Exemplartyp, Baugruppen, Stückliste, Koordinator, Rollen, wechselnde Rollen, Historie, Gruppe, Gruppenhistorie
50. Nennen Sie ein Beispiel für eine Liste als Muster?
Lagerliste (Lagermodul, Lagerplatz, mit Namen und Störungsstatus)
51. Wie wird vorzugsweise ein Koordinator gebildet?
Aus einer Assoziation als Klasse
Aus: wird:
52. Erklären Sie anhand eines Beispiels das Muster Gruppe?
Der Mitarbeite M gehört zu einem Projektteam P
53. Was ändert sich dabei wenn das Muster Gruppenhistorie genutzt wird?
Es kommt ein Objekt O dazu was beschreibt bzw. beinhaltet wann, wie lange der Mitarbeiter in einem Projektteam war und ist
54. Welche sieben Schritte muss man bei der statischen Modellierung durchlaufen?
1. Klassen identifizieren
2. Assoziationen identifizieren/bilden 3. Attribute identifizieren
4. Vererbungsstrukturen identifizieren 5. Assoziationen vervollständigen 6. Attribute spezifizieren
7. Muster identifizieren
55. Welche drei Schritte muss man beim dynamischen Modellieren durchlaufen?
1. Szenarios erstellen
2. Zustandsautomaten erstellen 3. Operationen beschreiben
56. Zu welchem Bereich der OO gehört der Architekturentwurf?
Zur „DesignPhase“
57. Zeichnen Sie die 3-Tier Struktur auf?
58. Was wird bzw. ist in der Definitionsphase definiert?
Die Erstellung einer Produktdefinition
59. Was ist das Ziel der Entwurfsphase?
Erstellung eines Produktentwurfs Produktanforderungen umsetzten
Durchführung des Architekturentwurfs (Software-Architektur)
60. Was ist ein Vorteil bei der Verwendung des OO-Ansatzes?
Es passiert/gibt keinen „Strukturbruch“ von OOA nach OOD Es ist sogar eine weitere Verfeinerung
61. Was sind Interpendenzen?
Die Vielfältigkeit der Anforderungen und die Bedeutung und Einhaltung dieser Vielfältigkeit
62. Nennen Sie verschiedene Anwendungskategorien?
Desktop Anwendung Client / Server Anwendung Webanwendung
Mischformen
Angepasste Standard-Software
63. Von was wird der Architekturentwurf wesentlich bestimmt?
Durch die Art der zu entwickelnden Anwendung
64. Was ist der große Unterschied zwischen einer Client/Server und einer Web- Anwendung?
Bei einer Client/Server Anwendung ist die Anzahl der User auf eine maximale Zahl begrenzt
Bei der Web-Anwendung liegt die maximale Zahl der Usergrenze bei der Erdeinwohnerzahl
65. Was ist der Vorteil von angepasster Standard-Software?
Kostenreduktion
66. Was sind dabei die Nachteile und Risiken?
Es wird ohne Analyse und Entwurf einfach los programmiert (Code and Fix Erweiterungen)
67. Was heißt XML?
„Extensible Markup Language“
68. Was für eine Art von Sprache ist XML?
Eine bevorzugte Metasprache, da viele Sprachen auf die Basis der XML basieren
69. Was heißt ODBS?
Objektorientierte Datenbanksysteme
70. Was heißt RDBS?
Relationale Datenbanksysteme
71. Was heißt OOA?
Objektorientierte Analyse
72. Was heißt OOD?
Objektorientierter Design
73. Nennen Sie die Schritte der Fachkonzeptschicht?
1. Modifikation der Klassenstruktur (Objektverwaltung durch Containerklassen) 2. Verfeinern der Attribute
3. Verfeinern der Operationen/Methoden 4. Verfeinern von Assoziationen
5. Verfeinern der Vererbung
74. Warum wird in der Fachkonzeptschicht empfohlen viele abstrakte Klassen zu modellieren?
Damit das Hinzufügen von neuen Klassen erleichtert wird
Somit werden Gemeinsamkeiten schon vorher durch die abstrakte Klasse beschrieben
75. Was bedeutet maximaler Polymorphismus bei der Fachkonzeptschicht?
Alle Operationen so hoch wie möglich in der Vererbungshierarchie zu positionieren Alle Operationsschnittstellen so allgemein wie möglich halten
Eindeutige Methodennamen vergeben
76. Wie kann man in der Fachkonzeptschicht eine Komprimierung durchführen?
Überführung von einer Vererbungsstruktur (Vererbung OOA) zu einer Klasse (Über Assoziationen OOD)
77. Welche Objekte gehören nach der Faustregel zum Fachkonzept?
Die Objekte die unabhängig von der GUI („Graphic User Interface“) dargestellt werden müssen
78. Was sind Architekturklassen und wie werden diese umgesetzt?
Alle Klassen die im graphischen Sinne ein Fenster realisieren Umsetzung mit einem Klassendiagramm
79. Was sind elementare Klassen und wie werden diese umgestzt?
Dies sind Klassen, die Interaktionselemente implementieren (mit Attributtypen)
80. Warum sind Fenster einer GUI in der OOA gut umsetzbar?
Weil alle Elemente eines Fensters Objekte einer Klasse darstellen können
81. Was ist in der Benutzungsschicht ein Subjekt?
Ein assoziiertes Fachobjekt
82. Was sind zwei GUI-Grundoperationen?
aktualisiere(); speichere()
83. Wie wird in der Benutzungsschicht ein Beobachter-Muster genutzt?
Überwacht, aktualisiert und verwaltet Objekte einer Klasse Der Beobachter ist an Objekte referenziert
84. Wie und wodurch kann man eine Benutzungsschicht an eine Fachkonzeptschicht anbinden?
Durch ein verfeinertes und vollständiges Klassendiagramm
85. Nennen Sie Vor- und Nachteile des Musters Fassade?
- Es sind zusätzliche Aufrufe notwendig
+ Getrennte Entwicklung von Benutzungs- und Fachkonzeptschicht + Mehrere Alternativen für Benutzungsschicht sind leichter zu entwickeln
86. Nennen Sie drei Datenhaltungsarten für die Anbindung der Fachkonzeptschicht?
Dateisystem
Relationales Datenbanksystem RDMS
Objektorientiertes Datenbanksystem OODMS
87. Was ist eine der Hauptaufgaben bei der Anbindung einer Fachkonzeptschicht an ein RDMS?
Erstellung von Tabellen die ein Objekt abbilden sollen Der Versuch von der Abbildung von Klassen auf Tabellen
88. Durch was werden Assoziationen in einem RDMS abgebildet?
Primary Key, Foreign Key
89. Was ist der Unterschied zwischen einer ONE- und einer MANY- Beziehung ONE- Mehrere Objekte (Tupel) beziehen sich auf einen Foreign Key
MANY- Mehrere gleiche Objekte (Tupel) beziehen sich auf mehrere Foreign Keys (M zu M Beziehung ist in einer neuen Tabelle zusammenfassbar)
90. Nennen Sie drei Möglichkeiten der Vererbung in „RDMSen“?
Eine Tabelle für alle Klassen
Eine Tabelle für jede konkrete Klasse Eine Tabelle für jede Klasse
91. Nennen Sie die Vorteile von Klassenbibliotheken?
Aufwandeinsparung Herstellerunabhängigkeit Plattformunabhängigkeit
Bessere Qualität, da Teilsoftware schon etabliert
92. Nennen Sie die Nachteile von Klassenbibliotheken?
Möglicher hoher Einarbeitungsaufwand beim Einsatz mehrerer Bibliotheken Mögliche entstehende Namenskonflikte beim Einsatz mehrerer Bibliotheken Schwierige Kopplung verschiedener Bibliotheken beim Einsatz mehrerer
93. Was sind die Entwurfsziele von Klassenbibliotheken?
Hohe Laufzeiteffizienz Hohe Speichereffizienz
Volle Nutzung des Sprachumfangs Einfache Benutzung
Plattformunabhängigkeit
94. In welchem Bereich wird die Baumtopologie bevorzugt verwendet?
Anwendungsbereich: GUI Bibliotheken
95. In welchen Bereichen wird die Waldtopologie bevorzugt verwendet?
Fundamentalklassen
Klassen zur Steuerung von GUI’s
96. In welchem Bereich wird die Bausteintopologie bevorzugt verwendet?
Fundamentalklassen
97. Was ist ein Framework?
Ein anpassbares und erweiterbares Klassensystem von zusammengefassten Klassen Bestandteile sind konkrete und abstrakte Klassen zur Schnittstellendefinition
98. Was beschreibt ein Stereotyp bei Klassen und Objekten?
Die Zugehörigkeit einer Klasse zu einer bestimmten Entwurfskomponente wird dadurch angezeigt, z.B. wie hängt eine Klasse mit der GUI-Schicht zusammen
99. Was beschreibt eine generische Klasse und was für Eigenschaften hat sie?
Dies ist eine Klassefamilie mit einem oder mehreren formalen Parametern die an aktuelle Parameter gebunden sind (Typ- und Konstanten- Parameter)
Eine generische Klasse kann nicht Oberklasse einer „normalen“ Klasse sein
100. Nennen Sie Eigenschaften einer Container-Klasse?
Sie verwaltet eine Menge von Objekten einer Klasse
Und stellt dazu(verwalteten Objekte) Operationen/Methoden bereit Ein Container ist ein Objekt der Container-Klasse (Felder und Mengen)
101. Durch welche Eigenschaften werden Schnittstellen im Bereich Klassen und Objekte definiert?
Die funktionalen Abstraktionen werden als Methodensignaturen bereitgestellt, dabei wird das „Was“ nicht das „Wie“ definiert
Eine Schnittstelle besteht im Allgemeinen nur aus Methoden-/Operationssignaturen (es sind dabei keine Operationsrümpfe und Attribute definiert)
Sie können in Vererbungsstrukturen verwendet werden
Es besteht die Möglichkeit, dass verschiedene Klassen dieselben Schnittstellen unterschiedlich implementieren
102. Was ist eine Klasse in Java?
Wird durch das class- Konzept realisiert
Es besteht kein Unterschied zwischen der Spezifikation und der Implementierung der Klasse in der Programmiersprache
Jede Klasse mit Attributen ist ein (abstrakter) Datentyp Ein Datentyp kann nicht in eine Klasse umgekehrt werden
103. Wie ist die Sichtbarkeit von Klassen in Java?
Nur innerhalb eines Pakets (Klassenzusammenschluss) benutzbar Bei „public class“ für alle nutzbar
104. Was ist ein Objekt in Java?
Objekte können dynamisch erzeugt werden
Wenn ein Objekt keine Referenzierung mehr enthält, wird es durch den „garbage collector“ freigegeben
105. Was ist eine abstrakte Klasse in Java?
Klasse wird mit „abstract“ gekennzeichnet
Eine Klasse mit mindestens einer abstrakten Methode muss als „abstract“ deklariert werden
106. Was bedeutet „void“?
Wenn eine Methode keinen Rückgabewert besitzt und nur eine Prozedur ist
107. Was ist eine Schnittstelle in Java?
Eine Schnittstelle kann aus Konstanten und abstrakten Operationen bestehen Die Schnittstelle muss mit <<interface>> gekennzeichnet werden
108. Was bedeutet in Java Quellcode ein „final“?
Mit dem Schlüsselwort final können Klassen gekennzeichnet werden Mit ihm sind keine Unterklassen ableitbar
Final und abstract existieren nie gleichzeitig
109. Was besagt „information hiding“?
Ist als Geheimhaltungsprinzip vereinbart Schließt die Verkapselung ein
Ein Objekt sowie dessen Zustand soll nach Außen nicht sichtbar sein Es wird nur über Methoden auf Objekte zugegriffen
110. Wie werden Attribute in Java auch bezeichnet?
„fields“
111. Wie werden Klassenattribute in Java auch bezeichnet?
„static“ (Element)
112. Nennen Sie Beispiele für Typen in Java?
int, float, string (ist aber als eigene Klasse definiert)
113. Wie sind die Sichtbarkeitsstufen von Operationen/Methoden?
So wie bei den Attributen: + public; - private; # protected
114. Was beschreibt die Signatur einer Operation?
Besteht aus den Namen der Operationen + Namen und Typen aller Parameter + Ergebnistypen der Operationen
Menge aller Signaturen: Schnittstellen der Klasse
115. Wie beschreibt man eine Operation in der OOD?
Formale Beschreibung der Operation der Methode Beschreibung der Vor- und Nachbedingungen
116. Wie können Sie in einem Diagramm eine abstrakte Operation kennzeichnen?
Kursive Schrift
Mit Stereotyp {abstract}
117. Nennen Sie zwei Parameterkonzepte in Java?
Call-by-value (Abruf des direkten Wertes)
Call-by-reference (Abruf über einen Zeiger der auf den Anfang des Wertes zeigt) 118. Wie kann man eine bidirektionale Assoziation realisieren?
Über bidirektionale Zeiger
119. Was bedeutet {frozen} bei Assoziationen?
Wenn festgelegte Verbindungen nach der Initialisierung nicht mehr geändert und hinzugefügt werden können
120. Was heißt spätes/dynamisches Binden?
Methoden werden erst zur Laufzeit an ein bestimmtes Objekt gebunden
121. Was bedeutet „overlapping“?
Eine Vererbung die keine genaue 1 zu 1 Beziehung einer Ober- zu den Unterklassen hat (Wie zwei gleiche Assoziationen)
122. Was ist eine klare Eigenschaft von „disjoint“ bei der Vererbung?
Die Eigenschaften er Unterklassen überschneiden sich nicht
123. Was ist bei der Vererbung der Unterschied zwischen „complete“ und
„incomplete“?
Bei „complete“ werden im Gegensatz zu „incomplete“ keine weiteren Unterklassen erwartet
Wenn eine Klasse die Eigenschaft „complete“ besitzt, dann sind keine weiteren Unterklassen geplant
124. Was geschieht beim Überschreiben einer Operation?
Eine Methode einer Unterklasse überschreibt die gleichnamige Methode ihrer Basisklasse
125. Mit welchem Schlüsselwert kann man in Java vererben?
Mit „extends“, z.B. „class A extends B“
126. Wie werden in Java Mehrfachvererbungen realisiert?
Da Java nicht die Möglichkeit bietet, muss durch Schnittstellen mehrfachvererbt werden, z.B. „class A extends B implements B1, B2“
127. Zur Wiederholung, was beschreibt eine Szenario?
Die Zusammenarbeit mehrerer Objekte
128. Wie werden bei Zustandsautomaten „finite state machine(FSM)“ Zustände von der Analyse-Phase in der Design-Phase realisiert?
Durch Klassen bzw. Zustandsklassen
Der Zustand in der Analyse-Phase wird in der Design-Phase zur Klasse
129. Wie kann man Zustandsautomaten in Java realisieren?
Da es in Java keinen benutzerdefinierbaren Aufzählungstypen gibt, werden die einzelnen Zustände über eine Reihenfolge von Zahlen definiert,
z.B. final static int OFFEN = 1;
final static int ZU_UNVERSCHLOSSEN = 2;
final static int ZU_VERSCHLOSSEN = 3;
130. Nennen Sie ein paar Ziele von Entwurfsmuster?
Unterstützen die Wiederverwendung von Lösungen Benennen und erklären wichtige Entwürfe
Helfen bei der Auswahl von Entwurfsalternativen
Verhelfen dem Entwickler des Entwurfs schneller zum richtigen Entwurf
131. Nennen Sie die 4 Punkte des Beschreibungsschemas von Entwurfsmustern?
1. Name des Musters 2. Problembeschreibung 3. Lösungsbeschreibung 4. Konsequenzen
132. Wie und wo nach kann man Entwurfsmuster klassifizieren?
Nach dem Zweck des Entwurfsmusters (Erzeugendes-, Strukturelles- und Verhaltensmuster
Nach dem Geltungsbereich (Klassen(statisch) mit Vererbung, Objekte(dynamisch) mit Assoziationen und Aggregationen
Danach, Definierung einer Tabelle mit den Klassifikationen, Aufbau(07 LE I-27, S.68):
Zweck
Erzeugendes Muster Strukturelles Muster Verhaltensmuster
Klasse … … …
Gültigkeitsbereich
Objekt … … …
133. Wann wendet man das Fabrikmethode Muster an?
Wenn eine Klasse nicht vorab weis, welche Objekte sie erzeugen wird (keine feste Vordefinition der zu erzeugenden Objekte)
Wenn eine Unterklasse selber ihre Objekte festlegen und erzeugen soll
134. Wann nutzt man hauptsächlich ein Singleton Muster?
Wenn eine Klasse genau ein Objekt besitzt und dieses Objekt „public“ ist (es wird ein globaler Zugriff auf dieses Objekt ermöglicht)
135. Durch welche Operation wird einem Client in Java der Zugriff (Referenz) auf das einzige Objekt eines Singleton Musters ermöglicht?
Durch die Klassenoperation „instance()“
136. Wann nutzt man das Beobachter „observer“ Muster?
Wenn das Verhaltensmuster Objektorientiert sein soll
Wenn nach einer Veränderung eines Objektes, alle Anderen Objekte benachrichtigt und aktualisiert werden sollen („update()“-Methode nach Veränderung eines Objektes durchführen)
Wenn in einem Objekt Anwendungsdaten enthalten sind
Wenn die Anwendungsdaten auf verschiedene Art und Weise darstellbar sein sollen, z.B. in Tabellen, in Diagrammen, in Funktionen,…
137. Nennen Sie die 5 Ansätze des Qualitätsbegriffes?
1. Transzendenter Ansatz
Qualität ist universell erkennbar, absolut, einzigartig und vollkommen
2. Produktbezogener Ansatz (Entwicklung)
Qualität ist eine messbare, spezifizierte Größe
3. Benutzerbezogener Ansatz (Marketing/Vertrieb) Qualität durch den Produktbenutzer festgelegt
4. Prozessbezogener Ansatz (Fertigung)
Qualität durch die richtige Erstellung eines Produktes
5. Kosten/Nutzen-bezogener Ansatz (Finanzen) Qualität als Funktion von Kosten und Nutzen
138. Nennen Sie verschiedene Software-Qualitätsmerkmale und weitere Spezifikationen dieser nach DIN ISO 9126?
Funktionalität
Funktionen mit festgelegten Eigenschaften und Anforderungsüberdeckung Richtigkeit der Ergebnisse und Wirkungen
Angemessenheit, Eignung der Funktion für die gestellten Aufgagen Ordnungsmäßigkeit, Erfüllung von Normen und Bestimmungen Sicherheit, Zugriffsverwaltung
Zuverlässigkeit
Bewahrung des Leistungsniveaus der Software Reife, Fehlertoleranz, Wiederherstellbarkeit Benutzbarkeit (Aufwandsfaktoren)
Verständlichkeit, Erlernbarkeit, Bedienbarkeit Effizienz
Verhältnis zwischen Leistungsniveau und den Umfang der eingesetzten Betriebsmittel
Zeitverhalten (Echtzeitansatz)
Verbrauchsverhalten (Anzahl der Betriebsmittelnutzung) Änderbarkeit (Erweiterbarkeit und Anpassbarkeit)
Analysierbarkeit (Wichtig bei Reengineering), Modifizierbarkeit, Stabilität, Prüfbarkeit Übertragbarkeit
Plattformunabhängigkeit, Hard- und Software
Anpassbarkeit, Installierbarkeit, Konformität, Austauschbarkeit
139. Nennen Sie Qualitätsmerkmale für Prozesse?
Produktivität Qualität des/der:
Entwurf-Prozesses
Inspektionen und Reviews
System-, Abnahme- und Komponententests
Rechtzeitige Bereitstellung ausreichender Ressourcen
Planbarkeit, Transparenz und Kontrollierbarkeit des Prozesses
140. Nennen Sie die Schritte zur Vorgehensweise der Goal-Question-Metric (GQM- Ansatz)?
1. Definiere die Auswertungsziele für alle Qualitätsmerkmale 2. Leite alle Fragestellungen ab, die zu einer Quantifizierung dieser
Auswertungsziele beitragen können
3. Leite alle Maße ab, die Informationen zur Beantwortung der Fragestellungen beitragen können
4. Entwerfe einen Mechanismus zur Messwerterfassung der Maße
141. Nennen Sie den Geltungsbereich von Qualitätszielen?
Software produzierende Einheit
Jeweils ein Software-Produkt und Teilprodukte
Der gesamte und Teil des Software-Erstellungsprozess
142. Was legen Qualitätsanforderungen fest?
Die Auswahl der relevanten Qualitätsmerkmale, sowie die Qualitätsstufe dieser Qualitätsmerkmale
143. Fragen im Zusammenhang mit Metriken Was ist ein Indikator?
Meistens qualitatives Merkmal eines Sachverhalts, ohne Anspruch auf einer Zugrunde liegenden Ordnung oder Struktur
Was ist eine Kennzahl?
Numerisches Merkmal eines Sachverhalts, meistens inklusive einer Ordnung zwischen den Kennzahlen, aber ohne festgelegte Struktur
Was ist eine Metrik?
Quantifizierbare Größe, meistens inklusive eines Nullpunkts, seltener auch inklusive einer Einheit
Was ist ein Maß?
Strukturbehaltende quantifizierbare Größe, üblicherweise inklusive eines Nullpunkts und einer Einheit
144. Nennen Sie 2 Aufgaben der analytischen Qualitätssicherung?
Ermittlung von Eigenschaften der Systemkomponenten
Überprüfung ob die Eigenschaften den Qualitätsmerkmalen entsprechen
145. Beschreiben Sie die Ausprägungen eines Fehlers?
Abweichungen von Ausprägungen gegen Soll-Ausprägungen Unterschiede zwischen der Spezifikation und der Implementierung Fehlerhafter Programmcode
146. Was ist das konstruktive Ziel?
Entwicklung einer fehlerfreien Software-Komponente
147. Was ist das analytische Ziel?
Der Nachweis der Fehlerfreiheit einer Software bzw. das Finden der entstandenen Fehler
148. In welche 2 Teile lässt sich jedes Programm gliedern?
Spezifikation Implementierung
149. Aus was besteht ein Testfall?
Aus einem Satz von Testdaten, der die vollständige Ausführung eines zu testenden Programms oder Teilprogramms bewirkt
Das Ende des Programms wird nicht durch einen Fehler verursacht
150. Was bedeutet der Überdeckungsgrad?
Es beschreibt ein Maß für den Grad der Vollständigkeit eines Test bezogen auf ein bestimmtes Testverfahren
151. Was wird in einem Regressionstest durchgeführt?
Alle durchgeführten Test werden durch ein Testwerkzeug gespeichert
Diese Vorgehensweise erlaubt das mehrmalige Überprüfen von Prüflingen nach z.B.
Patches, Updates, Reviews
Es wird eine Validation durchgeführt indem Soll-/ Ist-Ergebnisse verglichen werden
152. Nennen Sie 3 Klassen zur Klassifikation analytischer Verfahren in Anhängigkeit von der Zielsetzung?
1. Testende Verfahren, Fehlererkennung und Entdeckung
2. Verifizierende Verfahren, Beweis der Korrektheit einer Systemkomponente
3. Analysierende Verfahren, Qualifizierung der Eigenschaften von Systemkomponenten
153. Nennen Sie 2 Unterklassen von „Testenden Verfahren“?
Statisch- und Dynamische Testverfahren
154. Nennen Sie 2 Unterklassen von „Verifizierenden Verfahren“?
Verifikation und symbolische Ausführung
155. Nennen Sie 2 Unterklassen von „Analysierenden Verfahren“?
Analyse der Bindungsart, Metriken, Graphiken und Tabellen und Anomalienanalyse