1. Was versteht man unter SWA? Geben Sie eine der gängigen Definitionen (Bass et. al.) wieder, welche die Struktur in den Vordergrund stellen. 2. Welche Aufgabe hat die SWA im Rahmen des Software Lebenszyklus zu erfüllen? 3. Welches Merkmal eines Programms wird durch die SWA definiert? Geben Sie dieses Merkmal durch mindestens 3 in diesem Zusammenhang gleichbedeutende Begriffe wieder. 4. Warum reicht es nicht für die Erfüllung der Aufgaben die SWA nicht aus Strukturen festzulegen? Begründen und erläutern Sie ihre Antwort mit dem Satz von Rice. 5. Welches wichtige Architektur-Element muss die Strukturen ergänzen, damit die SWA ihre Aufgabe erfüllen kann? Welche architektonischen Verfeinerungen müssen somit parallel durchgeführt werden? 6. Welche Artefakte des Softwareentwiklungszyklus gehören nach der Church'en These zur Architektur und welche nicht? Besitzt somit jede Implementierung eines Programms von vorherein eine Architektur? 7. Es gibt den Bedarf zu validieren und zu verifizieren, ob die Architektur bzw. die Implementierung eines Programms die Nutzeranforderung erfüllt. Begründen und erläutern Sie mit formalen Argumenten, ob, und falls ja, wie diese Verifikation durchgeführt werden kann. 8. Die Artefakte entsprechen im wesentlichen den Abstraktionsebenen des Syntaxbaums. Welcher Nachteil ergibt sich daraus für die Validation und Verifikation eines Artefaktes. Wie könnten diese Nachteile vermieden werden? 9. Die Architektur eines hierarchischen Systems kann als Syntaxbaum dargestellt werden. Geben Sie an, welche Informationen ein jeder Knoten des Baumes grundsätzlich enthält. Wie unterstützt die Knoteninformation die Aufgabe der Software-Architektur? --- 10. (Visitor Muster) Beschreiben und erklären Sie das Visitor-Muster unter verwendung der UML-ähnlichen Notation. Nach welchen Kriterien sind a) im Composite Muster und b) im Visitor Muster die Methoden eines Programms sortiert? 11. (Integration der Muster Visitor, Iterator, Composite) Skizzieren Sie den Sourcecode für ein einfaches CAD System (Prak Bsp.) auf der Basis der Composite, des Iterator und des Visitorentwurfsmusters. Geben Sie insbesondere für den Teil des Programms (etwa die Traversen Methode detailierten Code an, der die 3 Muster integriert.