Softwaretechnik
Softwaretechnik (ST) | |
---|---|
Vertiefungsrichtung | Alle |
Vorlesung | |
Vorlesender |
Prof. Dr.-Ing. habil Ilka Philippow |
Abschluß | |
Art | k.A. |
Klausur
Klausur | |
---|---|
Termin | |
Datum: | 00.00.2010 |
Zeit: | 00:00 - 00:00) |
Ort: | folgt |
Schwerpunkte
Alle Schwerpunkte werden in Folge der Abschlussfragen geliefert.
Einführung in die Softwaretechnik
1. Was versteht man unter Software? Warum ist Software so schwer zu entwickeln?
- Software -> Programme + Daten
- Kunden: Funktionalität, Zuverlässigkeit, Effizienz, Bedienbarkeit
- Softwareprodukt -> Software + Entwicklungsartefakt
- Entwickler: Wartbarkeit, Portierbarkeit
- Probleme:
- hohe Komplexität
- moralischer Verschleiß -> Evolution
- immateriell -> Konsistenz der Artefakte
- fehlerbehaftet
2. Erläutern Sie die Ursachen für die s.g. Softwarekrise?
- rasante Leistungssteigerung preiswerter Hardware
- Software muss an neue Hardware angepasst werden
- Leistungssteigerung weckt neue Wünsche und Möglichkeiten
- moralischer Verschleiß -> Evolution nötig
- neue Anforderungen -> Komplexität
- Innovation -> ... time-to-market
- Entwicklungsmethoden halten damit nicht Schritt
- Nachfrage wird nicht qualitativ ...
3. Ziel des Softwaretechnik ist die ingenieurmäßige Softwareentwicklung! Welche Basiskonzepte wurden von den Ingenieuren übernommen?
- saubere Anforderungsspezifikationen
- Systemanalyse (Zerlegung, Strukturierung) und Systemmodellierung
- systematisches, methodisches und möglichst automatisiertes ...
4. Was versteht man unter dem Software-Lebenszyklus? Wie kann man die Stilllegung einer langlebigen Software möglichst vermeiden?
5. Was ist der Fokus der vier großen Teildisziplinen der Softwaretechnik?
2. Vorgehensmodelle
1. Was ist der Unterschied zwischen einem Vorgehensmodell und einem Prozessmodell? Wie wird eine Prozessmodell festgelegt? 2. Was ist das Prinzip bei sequenziellen, phasenorientierten Vorgehensmodellen? Nennen Sie Vor- und Nachteile! 3. Erklären Sie den Unterschied zwischen leicht- und schwergewichtigen Vorgehensmodellen? Nennen Sie Beispiele! Was verstehen Sie unter „Tailoring“ von Prozessen? 4. Wodurch erweitert das V-Modell das Wasserfallmodell? Was ist das besondere am V-Modell XT? 5. Erläutern Sie die prinzipiellen Phasen und Produkte eines Softwareentwicklungsprozesses! 6. Welche grundlegenden Probleme treten in den Phasen der Softwareentwicklung auf und wie kann man ihnen prinzipiell begegnen? 7. Was ist die Grundidee beim Prototyping? Welche Vorteile bringt das Protoytyping? 8. Die Innovation neuer Systeme wird zumeist durch die Software erreicht. Überlegen Sie in diesem Kontext, welcher Unterschied zwischen einem Hardware- und einem Softwareprototyp besteht! 9. Welche Idee wird mit der evolutionären Softwareentwicklung verfolgt? Welche Qualitätsmerkmale sind bei evolutionären Systemen besonders zu beachten? Was ist der Unterschied zwischen Iteration und Inkrement? 10. Neben dem V-Modell als Standard für Bundesbehörden hat sich der RUP-Prozess als Industriestandard etabliert. Erläutern Sie den RUP-Prozess? Erklären Sie, wieso der RUP-Prozess als architektur-, anwendungszentriert und iterativ bezeichnet wird! 11. Charakterisieren Sie die Besonderheiten des XP-Vorgehens! 12. Welche zwei Besonderheiten sind beim Objektorientierten Vorgehen zu beachten?
3. Anforderungsanalyse
1. Erläutern sind Ziel-, Aufgaben und Ergebnis der groben und feinen Anforderungserfassung! Wie ist die Verantwort verteilt? 2. Welche Informationen sind in der Regel in einem Lasten- bzw. Pflichtenheftheft mindestens enthalten? 3. Die Personalkosten bilden den größten Posten bei der Bestimmung der erwarteten Projektkosten. Wie geht man bei der Aufwandsschätzung prinzipiell vor? Welche Schätzverfahren kennen Sie? Erläutern Sie das Teufelsquadrat nach Sneed! 4. Geg. ist eine geschätzte Programmgröße von 16000 LOC. Schätzen Sie den Personalbedarf und die Entwicklungszeit! 5. Passen Sie die Aufwandsschätzung LH Bild 3.1. an, wenn zusätzlich bei einer Bestellung das Kundenpasswort geprüft und Waren bei einem Zulieferer abgerufen werden können! 6. Bei der Feinanalyse werden Anforderungen vertragsrelevant konkretisiert! Welche kritischen Aspekte sind bei der Anforderungserfassung zu beachten? 7. Wie werden Softwareanforderungen prinzipiell ermittelt? 8. Wie können Anforderungen halbformal beschrieben werden? Welche Rolle spielt das Glossar? 9. Was ist das Analysemodell? Welche Rolle spielt dieses bei bei der Anforderungsanalyse? 10. Im Beispiel Zimmervermietung (siehe Vorlesung) verlangt der Auftraggeber plötzlich, das Kunden sich über ein Passwort anmelden sollen. (Es gibt bereits implementierte Use Cases für „PW vergessen“ und „Neukunde werden“! Modifizieren Sie das Use Case Diagramm und ermitteln Sie die funktionalen SW-Requirements und permanente Daten für den Normalbetrieb für das Pflichtenheft)
4. Systemanalyse
1. Erläutern Sie die Hierarchieidee der SA? Was sind die Aufgaben und Besonderheiten des Kontextdiagramms? 2. Was wird in einem Flussdiagramm im Vergleich zum DFD zusätzlich dargestellt? 3. Welche Rolle spielt das Data- bzw. Requirements Dictionary in den Phasen der Softwareentwicklung und welche Informationen werden wie abgelegt? 4. In welcher Weise werden Kontrollflüsse im DFD bzw. FD berücksichtigt? 5. Wann und wie finden die Konzepte ERM und Entscheidungstabelle ET in der SA ihre Anwendung? 6. Wie erfolgt eine Kontrollflussspezifikation Cspec bei RT/SA? 7. Was wird durch die Prozessspezifikation Pspec beschrieben und wie können prinzipiell Prozesse gesteuert werden? 8. Modellieren Sie ein Code-Schloss als Mealy-Automat. Um das Schloss zu öffnen müssen drei Ziffern in der richtigen Sequenz eingegeben werden. 9. Ist die nachfolgende Tabelle eine Ein- oder Mehrtrefferentscheidungstabelle? Prüfen Sie die Vollständigkeit! Kann man die Tabelle optimieren? 10. Versuchen Sie die Lösung zur Aufgabe 10 zu Kap. 4, die in den Arbeitsmaterialien vorgegeben ist, nachzuvollziehen! 11. Erläutern Sie die Grundidee der UML im Zusammenhang mit den Begriffen Struktur und Verhalten! 12. Ordnen Sie die UML-Analysediagramme den Aktivitäten und Teilprodukten der Softwareentwicklung zu! 13. Versuchen Sie die Beispieldiagramme auf den Bildern 4.4.-4.8. zu verstehen und zu erläutern! 14. Lösen Sie die im Arbeitsmaterial enthaltene Aufgabe 14 zuKap. 4! Die Lösungsstruktur ist teilweise vorgegeben.