• Keine Ergebnisse gefunden

Qualit¨atssicherung in der Softwareentwicklung VU 5 DI Dr. Bernhard K. Aichernig

N/A
N/A
Protected

Academic year: 2021

Aktie "Qualit¨atssicherung in der Softwareentwicklung VU 5 DI Dr. Bernhard K. Aichernig"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

VU 5

DI Dr. Bernhard K. Aichernig

Institut f¨ur Softwaretechnologie (IST) TU Graz

Sommersemester 2012

(2)

Ubersicht der Vorlesung ¨

1

Modellbasierte Spezifikationen

Beispiel: Alarmsystem (Wiederholung) Beispiel: Explosives Store Controller Beispiele aus der JML-Modellbibliothek

2

Spezifikationsstile in JML

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

(3)

Alarmsystem (Wiederholung)

siehe slides03.pdf

Demonstriert Modellierung mit Relationen und Hilfsfunktionen.

(4)

Explosives Store Controller

siehe auch Dateien:

StoreInterface.java, Item.java, Point.java

Demonstriert Modellierung mit Mengen und Hilfsfunktionen.

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

(5)

Anforderungen: Dom¨ ane

Die zu modellierende Komponente ist Teil einer Steuerung f¨ ur einen Roboter, welcher Sprengstoff und Z¨ under in einem Lager positioniert.

Das Lager ist ein rechteckiges Geb¨ aude. Positionen im Geb¨ aude werden durch (kartesische) Koordinaten definiert, wobei der Nullpunkt als linke untere Ecke des Geb¨ audes definiert wird. Die Dimensionen des Lagers werden durch maximale x- bzw y-Koordinaten repr¨ asentiert.

Objekte im Lager sind rechteckige Pakete, ausgerichtet nach

den W¨ anden des Lagers. Jedes Objekt hat Dimensionen in x-

und y-Richtung. Die Position eines Objekts wird durch die

Koordinaten seiner linken unteren Ecke repr¨ asentiert.

(6)

Anforderungen: Sicherheit

Alle (zugeordneten) Objekte m¨ ussen in das Lager passen.

Objekte d¨ urfen sich nicht ¨ uberlappen.

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

(7)

Anforderungen: Funktionalit¨ at

Die Roboter muss folgende Funktionalit¨ at zur Verf¨ ugung stellen:

Gib die Anzahl der Objekte im Lager aus.

Empfehle eine Position, wo ein Objekt untergebracht werden kann.

Aktualisiere das Lager um aufzuzeichnen, dass ein Objekt an eine bestimmte Stelle platziert wurde.

Aktualisiere das Lager um aufzuzeichnen, dass alle Objekte in

einer Menge von Positionen entfernt wurden.

(8)

M¨ ogliche Klassen und Methoden

Interfaces, Klassen Methoden StoreInterface numItems

Item suggestPosition

Point place

remove (als ¨ Ubung)

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

(9)

Beispiele aus der JML-Modellbibiliothek

IntHeap

package org.jmlspecs.samples.jmlrefman

Set

package org.jmlspecs.samples.sets

BoundedStack

org.jmlspecs.samples.stacks

(10)

Spezifikationsstile in JML

siehe Kapitel 9 im JML Reference Manual Heavyweight: wenn Stichw¨ orter behavior, normal behavior, or exceptional behavior Lightweight: keines dieser Stichw¨ orter

Lightweight kann als syntaktische Abk¨ urzung von Heavyweight verstanden werden.

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

(11)

Heavyweight: Behavior Specification Case

allgemeinste Form: andere Formen k¨ onnen darauf reduziert werden flat

nested mit Klammern {|...|}

Lightweight kann als syntaktische Abk¨ urzung von Heavyweight

verstanden werden.

(12)

Lightweight as Heavyweight

public abstract class Heavyweight { protected boolean P, Q, R;

protected int X;

/*@ protected behavior

@ requires P;

@ diverges false;

@ assignable X;

@ when \not_specified;

@ working_space \not_specified;

@ duration \not_specified;

@ ensures Q;

@ signals_only Exception;

@ signals (Exception) R;

@*/

protected abstract int m() throws Exception;

DI Dr. Bernhard K. Aichernig Qualit¨atssicherung in der Softwareentwicklung

Referenzen

ÄHNLICHE DOKUMENTE

Two Case Studies of Open Source Software Development: Apache and Mozilla, ACM Transactions on Software Engineering and Methodology, Vol. Why Open Source Software / Free

Unterst¨ utzt nur bedingt verschachtelte Quantoren Unterst¨ utzt keine Interface-Spezifikation mit Modell-Variablen. Probleme

Karlsruher Institut f¨ ur Technologie Institut f¨ ur Theorie der Kondensierten Materie Klassische Theoretische Physik III WS

Damit aber der Ärzteschaft nicht das Heft aus der Hand genommen wird, bleibt es ein zentrales Anliegen der Bundesärztekam- mer, der medizinischen Fachgesellschaften und

[r]

Im univariaten Modell ergab sich jedoch tendenziell (mit 10 % Irrtumswahrscheinlichkeit) ein Interaktionseffekt Zeit x Dauer für die Skala D "Erregbarkeit" des HSPQ (F=3.353,

Eine Überprüfung der Indikation von seitlichen Thoraxaufnahmen ergab, dass diese im Studienkollektiv mehr als dreimal so häufig gestellt wurde wie in einem Vergleichskollektiv aus

Bo de nordnungsverfa hren n ach §56 LwAnpG (Fe l d lage ). Verfahrens na me