Sie sind auf Seite 1von 5

www.dewik.

de

Software Engineering
(bungsblatt 1)

Sommersemester 2012, Dr. Andreas Metzger

bungsblatt-Themen:

Besonderheiten und Eigenschaften von Software; Interne und Externe Eigenschaften

www.dewik.de

Aufgabe 1.1 Software zeichnet sich im Vergleich zu anderen Produkten durch spezielle Eigenschaften aus. Nennen Sie diese Besonderheiten von Software. Erlutern Sie den Unterschied zwischen Software Engineering und zwei anderen Ingenieurdisziplinen (z.B. Maschinenbau und Bauingenieurwesen). Geben Sie Beispiele an, welche die Unterschiede illustrieren.

Software ist ein immaterielles Gut Kosten werden ausschlielich durch Personalkosten bestimmt Qualitt des Personals ist entscheidender Faktor sptestens die Inbetriebnahme oder Nutzung von Softwaresystemen fhrt zur Klrung von Anforderungen und zur Identikationen ganz neuer Anforderungen Maschinenbau: knnen Entwicklung und Fertigung unterschieden werden werden Standardkomponenten verwendet bilden Materialkosten in der Regel einen hohen Anteil er Gesamtkosten (z.B. im Automobilbau) Bauingenieurwesen: mssen in der Regel bei jedem Bau neue Gegebenheiten bercksichtigen (z.B. Bodenbeschaffung) es werden hug Einzellsungen konstruiert und gebaut insgesamt blickt man auf eine Ingenieurdisziplin mit langer Tradition zurck

Aufgabe 1.2 Nennen und erlutern Sie die in der Vorlesung vorgestellten wichtigen Eigenschaften von Software. Korrektheit: Frage lautet: Entwickeln wird das System richtig? Prft die bereinstimmung eines Programms mit seiner (funktionalen) Spezikation Annahme: Spezikation existiert und es ist eindeutig feststellbar, ob ein Softwaresystem die Spezikation enthlt, d.h. im Umkehrschluss, dass ohne Spezikation die Korrektheitsfrage nicht entscheidbar ist (Spezikation = die Anforderung der Software) Zuverlssigkeit: Frage lautet: Entwickeln wir das richtige System? Zuverlssigkeit ist ein relatives Kriterium d.h. zuverlssige Software kann immer noch Defekte aufweisen, d.h. nicht korrekt sein Einsatzzweck der Software und Schadenspotential der Defekte haben Einuss auf Zuverlssigkeit
2

www.dewik.de

Mangelnde Zuverlssigkeit von Software wird in vielen Bereichen noch toleriert (Auslieferung mit Fehlerliste: What to do list), wesentlicher Unterschied zu fast allen anderen industriellen Produkten Przisierung-Arten: Zuverlssigkeit i.w.S.: Fhigkeit des Systems, den Vorstellungen des Benutzers zu gengen (engl. dependability) Zuverlssigkeit i.e.S.: Wahrscheinlichkeit, dass Software innerhalb einer bestimmten Zeitspanne kein Fehlverhalten aufweist (engl. reliability) Robustheit: Toleranz gegenber nicht spezizierter Bedienung/ nicht spezizierter Rahmenbedingungen (z.B. Hardwarefehler oder unerwartete/ falsche Benutzereingaben Auch nicht robuste Software kann korrekt sein Nicht robuste Software kann leicht nutzlos werden ( Wesentliche Rahmenbedingungen sowie die Bedienung und Fehlerbehandlung sollten deshalb speziziert werden) Beispiele: Falsche Benutzereingaben fhren zum Systemabsturz oder eine nichtspezizierte Nachricht eines Systems fhrt zu Datenverlust ( Ursache fr nicht Robustheit liegt hug in mangelhaften Anforderungsdenitionen) Performanz: Erfllung der Anforderungen an Antwortzeitverhalten konomischer/ sparsamer Umgang mit Ressourcen (CPU, Hauptspeicher, Netzwerk) Prinzipielle berprfungsmethoden: Messen der Antwortzeiten (Stoppuhr, Proler), lsst sich auerdem durch Modellbildung, Modellanalyse und Modellsimulation prfen Wenn deutliche Verbesserungen notwendig sind, wird meist ein komplettes Redesign bentigt, daher besser: wesentliche Eigenschaften anhand eines Prototypen evaluieren und entsprechendes Redesign rechtzeitig vornehmen (auch: Architekturrevaluation/Simulation) Benutzerfreundlichkeit: intuitive, fehlerrobuste Bedienung der Software, u.a. beeinusst durch Gestaltung der Dialoge, einfache Kongurierbarkeit (beispielsweise Anpassungsfhigkeit des Interfaces) Standardisierung der Benutzeroberchen, einheitliches look and feel Wartbarkeit: Fhigkeit einer Software nach ihrer Auslieferung Anpassungen, nderungen zu ermglichen und Weiterentwicklungen zuzulassen Arten der Wartung: Korrektive Wartung: Beseitigung von Fehlern Adaptive Wartung: nachtrgliche Anpassung an genderte Umgebung/ Rahmenbedingungen, z.B. gesetzliche nderungen, neue Organisation Perfekte Wartung: Verbesserung im Hinblick auf die nicht-funktionale Anforderungen, z.B. Performanz, Ergonomie Enhansive Wartung: hinzufgen von Funktionalitt Wartbarkeit hngt stark von Strukturierung (Architektur) der Software ab Wartbarkeit nimmt meist mit Lebensdauer der Software ab

www.dewik.de

Portierbarkeit: Portierbarkeit ergibt sich aus dem Aufwand (im Verhltnis zu ihrem Entwicklungsaufwand), der ntig ist, um eine Software auf einer anderen Plattform (d.h. Hardware oder Software) lauffhig zu machen Beispiele: Unabhngigkeit von der Oberche Unabhngigkeit von Prozessorbefehlen Unabhngigkeit von Zeichenstzen Unabhngigkeit von Ausgabe und Eingabegerten Unabhngiger Datenhaltung Hoher Grad von Portierbarkeit durch Kapselung von Plattformabhngigkeiten sowie durch Bercksichtigung von Standards (z.B. Design Patterns) Interoperabilitt: Ma fr die Fhigkeit eines Systems mit anderen Systemen zu kooperieren PC-Werkzeuge sind mittlerweile grtenteils interoperabel Hochintegrierte Software Systeme sind meist weniger interoperabel, weil sie bereits alles knnen (integrierte Entwicklungsumgebungen, Workow Management Systeme, Datenmodellierung) Interoperabilitt wird immer mehr zu einem Muss (z.B. Interoperabilitt mit Ofce Werkzeugen, Grorechner Software, Datenmodellierungswerkzeugen) Interoperabilitt kann auch zu einem Politikum werden: Adobe vs. Microsoft XPS

Aufgabe 1.3 Bei der Eigenschaft von Software lassen sich interne und externe Eigenschaften unterscheiden. a) Erklren Sie, was interne und externe Eigenschaften sind. Bei den externen Eigenschaften steht der Systemnutzer im Fokus. Die wichtige Frage ist: Wie gut erfllt das Produkt die Anforderungen der Nutzer?. Externe Eigenschaften beziehen sich in der Regel auf die Ausfhrung der Software, d.h. sie sind fr den Nutzer des Systems wahrnehmbar. Interne Eigenschaften stellen die Frage Wie gut erfllt das Produkt die Anforderungen der Software-Ingenieure? in den Vordergrund. In der Regel beziehen sich interne Eigenschaften auf Entwicklungsartefakte ohne Ausfhrung, beispielsweise Spezikation und Code. Interne Eigenschaften sind verantwortlich fr das erreichen externer Eigenschaften.

www.dewik.de

b) Geben Sie fr die Eigenschaften Performanz, Benutzerfreundlichkeit, Wartbarkeit, Wiederverwendbarkeit, Portierbarkeit, Korrektheit/Zuverlssigkeit/Robustheit und Interoperabilitt an, ob es sich um eine interne oder externe Eigenschaft handelt. Performanz Benutzerfreundlichkeit Wartbarkeit Wiederverwendbarkeit Portierbarkeit Korrektheit Zuverlssigkeit Robustheit Interoperabilitt extern extern intern intern intern intern extern extern extern

Wichtig: Es gibt keine eindeutige Zuordnung bezglich intern/extern, sie variieren je nach Betrachtungsweise.