28.04.2014 Aufrufe

Qualität von Software und Softwaremodellen - uni-marburg

Qualität von Software und Softwaremodellen - uni-marburg

Qualität von Software und Softwaremodellen - uni-marburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Qualität</strong> <strong>von</strong> <strong>Software</strong> <strong>und</strong> <strong>Software</strong>modellen<br />

Seminar der AG <strong>Software</strong>technik im Sommer-Semester 2013<br />

Gabriele Taentzer, Thorsten Arendt<br />

Marburg, 16. April 2013


ORGANISATION<br />

(TEIL 1)<br />

2<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Organisation des Seminars<br />

‣ Umfang: 2 SWS, 3 ECTS Punkte<br />

• auch als Proseminar möglich (zusätzliche Leistungen)<br />

‣ Hauptstudium, ab 5. Semester<br />

‣ Veranstalter: Gabriele Taentzer, Thorsten Arendt<br />

‣ Kontakt:<br />

• taentzer@mathematik.<strong>uni</strong>-<strong>marburg</strong>.de ,<br />

Raum 05D13, Tel: 21532<br />

• arendt@mathematik.<strong>uni</strong>-<strong>marburg</strong>.de ,<br />

Raum 05D03, Tel: 21540<br />

‣ Termin: als Block Mitte / Ende J<strong>uni</strong> 2013<br />

3 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Organisation des Seminars (Forts.)<br />

‣ Voraussetzung:<br />

• Gr<strong>und</strong>vorlesungen in Praktischer Informatik<br />

• Einführung in <strong>Software</strong>technik, SW-Praktikum<br />

• Ideal als Begleitseminar zum Modul "<strong>Software</strong>qualität" geeignet<br />

‣ Scheinkriterien:<br />

• Vortrag zum Thema der Seminararbeit<br />

• Schriftliche Ausarbeitung der Seminararbeit<br />

• Aktive Teilnahme an der Diskussion der Vorträge<br />

‣ Homepage des Seminars:<br />

• http://www.mathematik.<strong>uni</strong>-<strong>marburg</strong>.de/~swt/ss13/quali/<br />

• Vortragsfolien, Literaturhinweise <strong>und</strong> Ausarbeitungen<br />

4 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


EINFÜHRUNG<br />

IN DAS THEMA<br />

5<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Berühmte <strong>Software</strong>-Fehler<br />

‣ Airbus-Absturz Toulouse, 1994:<br />

– <strong>Software</strong>-Fehlverhalten ist mitverantwortlich für den Absturz<br />

eines A340 bei Toulouse, 7 Tote<br />

‣ Pentium-Bug, Intel, 1994:<br />

– spezielle Division verursachen Fehler <strong>und</strong> Kosten <strong>von</strong> knapp<br />

500 Mio. Dollar<br />

– seitdem: Einsatz <strong>von</strong> formaler Verifikation bei Intel<br />

‣ Deutsche Telekom, 1996:<br />

– durch Spezifikations- <strong>und</strong> <strong>Software</strong>fehler werden in 550<br />

Vermittlungsstellen falsche Gebühren berechnet. Dadurch<br />

Kosten <strong>von</strong> ca. 70 Mio. DM (geschätzt).<br />

6<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>smerkmale für <strong>Software</strong><br />

‣ Funktionalität: Korrektheit,<br />

Angemessenheit, Interoperabilität,<br />

Ordnungsmäßigkeit, Sicherheit<br />

‣ Zuverlässigkeit: Reife, Fehlertoleranz,<br />

Wiederherstellbarkeit<br />

‣ Benutzbarkeit: Verständlichkeit,<br />

Bedienbarkeit, Erlernbarkeit, Robustheit<br />

‣ Effizienz: Wirtschaftlichkeit, Zeitverhalten,<br />

Verbrauchsverhalten<br />

‣ Wartungsfre<strong>und</strong>lichkeit:<br />

Analysierbarkeit, Änderbarkeit, Stabilität,<br />

Testbarkeit<br />

‣ Übertragbarkeit: Anpassbarkeit,<br />

Installierbarkeit, Konformität,<br />

Austauschbarkeit<br />

7<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>smanagement<br />

‣ produktorientiert:<br />

<strong>Software</strong>produkte <strong>und</strong> Zwischenergebnisse werden auf vorher<br />

festgelegte <strong>Qualität</strong>smerkmale überprüft.<br />

‣ prozessorientiert:<br />

Methoden, Werkzeuge, Richtlinien <strong>und</strong> Standards für den<br />

Erstellungsprozess der <strong>Software</strong><br />

8<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>ssicherungsmaßnahmen<br />

‣ Konstruktive Maßnahmen:<br />

Methoden, Sprachen, Werkzeuge, Richtlinien, Standards <strong>und</strong><br />

Checklisten, die eine bestimmte Produkt- oder Prozessqualität<br />

garantieren<br />

‣ Beispiele:<br />

• Gliederungsschema für das Pflichtenheft (exakte Beschreibung<br />

der funktionalen Anforderungen)<br />

• Verwendung einer typisierten Programmiersprache<br />

• Importierte Daten werden auf Richtigkeit überprüft.<br />

• OO-<strong>Software</strong>entwicklung unterstützt die Wiederverwendbarkeit<br />

<strong>von</strong> <strong>Software</strong>.<br />

• Programmierkonventionen (Einhaltung eines guten<br />

Programmierstils) <strong>und</strong> Entwicklungsrichtlinien<br />

9<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>ssicherungsmaßnahmen (Forts.)<br />

‣ Analytische Maßnahmen:<br />

Das existierende <strong>Qualität</strong>sniveau wird gemessen. Ausmaß <strong>und</strong><br />

Ort des Defekts können identifiziert werden.<br />

‣ Verfahren:<br />

• Analysierend: Informationen ohne Ausführung der <strong>Software</strong><br />

mit konkreten Eingaben sammeln.<br />

• Testend: Die <strong>Software</strong> mit konkreten Eingaben ausführen.<br />

‣ Beispiele:<br />

• Erstellung <strong>von</strong> anforderungs-gerechten Testfällen<br />

• <strong>Software</strong>metriken <strong>und</strong> Überprüfung <strong>von</strong> Bad Smells<br />

‣ Eine vorausschauende, konstruktive <strong>Qualität</strong>slenkung<br />

erspart viele analytische Maßnahmen.<br />

10<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Was sind Bad (Code) Smells?<br />

‣ verdächtige Stellen im Code / im Modell<br />

‣ Hier lohnt es sich, genauer hinzuschauen.<br />

‣ Sollten eventuell verbessert werden.<br />

‣ Kondensierung <strong>von</strong> Erfahrungswissen<br />

‣ syntaktische Prüfung <strong>von</strong> Programmcode / des Modells<br />

hinsichtlich bestimmter Muster oder bestimmter Metrikenwerte<br />

‣ Beispiele für Bad Code Smells:<br />

• doppelter Code<br />

• lange Methoden<br />

• große Klassen<br />

11<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Was ist Refactoring?<br />

‣ eine Technik im Rahmen der iterativen <strong>Software</strong>entwicklung<br />

‣ Restrukturierung der <strong>Software</strong> nach jedem Iterationsschritt<br />

‣ „Refactoring ist der Prozess, ein <strong>Software</strong>system so zu<br />

verändern, dass das externe Verhalten unverändert bleibt, der<br />

Code aber eine bessere Struktur erhält.“ (Martin Fowler)<br />

‣ Adaption <strong>von</strong> Refactoring ebenso auf Modellebene<br />

12<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


SEMINARTHEMEN<br />

13<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Thematische Gliederung<br />

<strong>Qualität</strong>,<br />

<strong>Qualität</strong>skriterien <strong>und</strong><br />

<strong>Qualität</strong>ssicherung<br />

Metriken, Smells<br />

<strong>und</strong> Refactorings<br />

Klone in <strong>Software</strong><br />

<strong>und</strong> Modellen<br />

Testen<br />

14 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>, <strong>Qualität</strong>skriterien <strong>und</strong> <strong>Qualität</strong>ssicherung<br />

Thema 1<br />

Problemlösungen bei der Wartbarkeit <strong>von</strong> <strong>Software</strong>systemen<br />

‣ Problem:<br />

• Fehler im <strong>Software</strong>-Design beeinflussen die Wartbarkeit bzw.<br />

Änderbarkeit eines <strong>Software</strong>systems<br />

• Das Auffinden dieser Fehler <strong>und</strong> deren Korrektur ist teilweise<br />

schwierig, zeitaufwändig <strong>und</strong> erfolgt manuell<br />

‣ Ansatz:<br />

• Automatisierte Generierung <strong>von</strong> Regeln zum Auffinden dieser<br />

Fehler <strong>und</strong> Korrektur mit minimalem Aufwand<br />

• Benutzung <strong>von</strong> Genetischen Algorithmen<br />

15 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>, <strong>Qualität</strong>skriterien <strong>und</strong> <strong>Qualität</strong>ssicherung<br />

Thema 2<br />

Einfluss <strong>von</strong> Entwurfsmustern auf die <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

‣ Problem:<br />

• Entwurfsmuster sind anerkannte Lösungen für wiederkehrende,<br />

allgemeine Probleme im <strong>Software</strong>-Design<br />

• Der Einfluss des Einsatzes <strong>von</strong> Entwurfsmustern auf die <strong>Qualität</strong><br />

der <strong>Software</strong> wird jedoch kontrovers diskutiert<br />

‣ Ansatz:<br />

• Theoretische <strong>und</strong> analytische Methode zum Vergleichen <strong>von</strong><br />

Entwurfsmustern <strong>und</strong> alternativen Designs<br />

16 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>, <strong>Qualität</strong>skriterien <strong>und</strong> <strong>Qualität</strong>ssicherung<br />

Thema 3<br />

Prozessqualität in der modellgetriebenen Entwicklung <strong>von</strong><br />

Webanwendungen<br />

‣ Problem:<br />

• Es existieren viele Prozesse für die modellgetriebene Entwicklung<br />

<strong>von</strong> Webanwendungen, jedoch keine standardisierte Methode für<br />

die Bewertung ihrer <strong>Qualität</strong><br />

• Welcher Entwicklungsprozess ist warum besser als andere?<br />

‣ Ansatz:<br />

• Entwicklung einer Menge <strong>von</strong> <strong>Qualität</strong>skriterien für diese<br />

Entwicklungsprozesse auf Basis offizieller <strong>Qualität</strong>sstandards<br />

17 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>, <strong>Qualität</strong>skriterien <strong>und</strong> <strong>Qualität</strong>ssicherung<br />

Thema 4<br />

Modellieren <strong>von</strong> ansprechenden UML-Klassendiagrammen<br />

‣ Problem:<br />

• Die Einhaltung <strong>von</strong> Formatierungsrichtlinien macht Code<br />

lesbarer <strong>und</strong> somit verständlicher<br />

• <strong>Software</strong>modelle (z.B. UML-Klassendiagramme) sollten<br />

selbstverständlich auch gut lesbar <strong>und</strong> verständlich sein<br />

‣ Ansatz:<br />

• Entwicklung einer umfassenden Taxonomie visueller Richtlinien<br />

hinsichtlich der ‚ästhetischen‘ <strong>Qualität</strong> <strong>von</strong> UML-<br />

Klassenmodellen<br />

18 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


<strong>Qualität</strong>, <strong>Qualität</strong>skriterien <strong>und</strong> <strong>Qualität</strong>ssicherung<br />

Thema 5<br />

<strong>Qualität</strong>ssicherung <strong>von</strong> Modellen des Eclipse Modeling<br />

Framework (EMF)<br />

‣ Problem:<br />

• Die <strong>Qualität</strong>(ssicherung) <strong>von</strong> <strong>Software</strong> lässt sich oft auf die<br />

<strong>Qualität</strong>(ssicherung) der involvierten Modelle zurückführen<br />

• Wie kann die <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong>modellen (z.B. <strong>von</strong> UMLoder<br />

domänenspezifischen Modellen) gesichert werden?<br />

‣ Ansatz:<br />

• Definition eines <strong>Qualität</strong>ssicherungsprozesses für<br />

<strong>Software</strong>modelle<br />

• Umfassende Werkzeugunterstützung in EMF<br />

19 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Metriken, Smells <strong>und</strong> Refactorings<br />

Thema 6<br />

Verbesserung der <strong>Qualität</strong> <strong>von</strong><br />

UML-Anwendungsfallmodellen<br />

‣ Problem:<br />

• Anforderungen an <strong>Software</strong>systeme werden häufig mit UML-<br />

Anwendungsfallmodellen modelliert<br />

• Die vermeintliche Einfachheit dieser Modellierungssprache führt<br />

jedoch oft zu inkonsistenten oder inkorrekten Modellen<br />

‣ Ansatz:<br />

• Auffinden <strong>und</strong> Korrektur <strong>von</strong> <strong>Qualität</strong>sproblemen in UML-<br />

Anwendungsfallmodellen mit Hilfe <strong>von</strong> ‚Anti-Patterns‘<br />

20 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Metriken, Smells <strong>und</strong> Refactorings<br />

Thema 7<br />

Refactoring <strong>von</strong> Prozessmodellen<br />

‣ Problem:<br />

• In der Industrie existieren sehr große Repositories mit Modellen<br />

für Geschäftsprozesse<br />

• Diese Repositories enthalten viele red<strong>und</strong>ante Informationen<br />

sowie Modelle mit hoher Komplexität<br />

‣ Ansatz:<br />

• Katalog bestehend aus Smells <strong>und</strong> Refactorings für<br />

Prozessmodelle <strong>und</strong> Repositories mit diesen Modellen<br />

21 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Metriken, Smells <strong>und</strong> Refactorings<br />

Thema 8<br />

Verschiedene Möglichkeiten der Anwendung <strong>von</strong><br />

Generalisierung<br />

‣ Problem:<br />

• Generalisierung ist ein adäquates Mittel für die Verbesserung<br />

der <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong>code<br />

• In nicht-trivialen <strong>Software</strong>systemen ist das Auffinden <strong>von</strong> Stellen<br />

für die Anwendung <strong>von</strong> Generalisierung anspruchsvoll <strong>und</strong><br />

zeitaufwändig<br />

‣ Ansatz:<br />

• Entwicklung eines Werkzeuges speziell für das Auffinden <strong>von</strong><br />

Stellen für die Anwendung <strong>von</strong> Generalisierung<br />

22 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Klone in <strong>Software</strong> <strong>und</strong> Modellen<br />

Thema 9<br />

<strong>Software</strong>klone aufspüren <strong>und</strong> eliminieren<br />

‣ Problem:<br />

• Red<strong>und</strong>anter Code kann zu Problemen bei der Wartung <strong>von</strong><br />

<strong>Software</strong>systemen führen<br />

• Was sind <strong>Software</strong>klone, woher kommen sie, wie kann man sie<br />

auffinden <strong>und</strong> wie eliminieren?<br />

‣ Ansatz:<br />

• Überblick über die einschlägige Forschungsliteratur<br />

• Speziell: Benutzung <strong>von</strong> ‚Suffix Trees‘ in ASTs<br />

23 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Klone in <strong>Software</strong> <strong>und</strong> Modellen<br />

Thema 10<br />

Aufspüren <strong>von</strong> Klonen in UML-Klassenmodellen<br />

‣ Problem:<br />

• Klone kommen auch in <strong>Software</strong>modellen vor<br />

• Techniken <strong>und</strong> Algorithmen für das Auffinden <strong>von</strong> Klonen in<br />

<strong>Software</strong>code können nicht direkt für Modelle übernommen<br />

werden<br />

‣ Ansatz:<br />

• Entwicklung einer formalen Definition <strong>von</strong> Modellklonen<br />

• Entwicklung eines Algorithmus zum Auffinden <strong>von</strong> Modellklonen<br />

in UML-Klassendiagrammen inklusive prototypischer<br />

Implementierung<br />

24 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Testen<br />

Thema 11<br />

Erstellen <strong>von</strong> Testszenarien mit Hilfe<br />

<strong>von</strong> Aktivitätendiagrammen<br />

‣ Problem:<br />

• Aktivitätendiagramme werden oft für die Beschreibung aller<br />

möglichen Szenarien eines Anwendungsfalls benutzt<br />

• Die Identifikation aller möglichen Pfade (z.B. für die Erstellung<br />

<strong>von</strong> Tests) kann jedoch sehr anspruchsvoll sein<br />

‣ Ansatz:<br />

• Klassifizierung <strong>von</strong> Kontrollstrukturen <strong>und</strong> Transformation in ein<br />

dediziertes Modell (DSL), aus dem anschließend die<br />

Testszenarien generiert werden<br />

25 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Testen<br />

Thema 12<br />

Testen <strong>von</strong> Modelltransformationen<br />

‣ Problem:<br />

• Modelltransformationen sind wesentliche Artefakte in der<br />

modellgetriebenen <strong>Software</strong>entwicklung<br />

• z.B. <strong>von</strong> Plattform-unabhängigen zu -abhängigen Modellen<br />

• Selbstverständlich müssen diese auch getestet werden<br />

‣ Ansätze:<br />

• Orakel-Funktion für die Validierung der transformierten Testmodelle<br />

(Basis: Bekannte, gute Beispiel-Transformationen)<br />

• Definition einer Menge <strong>von</strong> Regeln für die Bewertung der <strong>Qualität</strong> <strong>von</strong><br />

Testmodellen (‚repräsentative Testfälle‘)<br />

26 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


ORGANISATION<br />

(TEIL 2)<br />

27<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Zeitplan<br />

‣ Themenvergabe heute<br />

‣ Einarbeitung in das Thema im April + Mai 2013<br />

‣ Erster Vorbesprechungstermin bis Freitag, 24. Mai 2013<br />

• Bis dahin: Literatur gelesen, erster Plan für den Vortrag<br />

• Ggf. weitere Termine<br />

‣ Abgabe<br />

• erste Version der Ausarbeitung <strong>und</strong> der Vortragsfolien bis<br />

Freitag, 07. J<strong>uni</strong> 2013<br />

• Endversion eine Woche vor Seminar<br />

‣ Blockseminar Mitte / Ende J<strong>uni</strong> 2013<br />

28 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Hinweise für Ausarbeitung <strong>und</strong> Vortrag<br />

‣ Ausarbeitung<br />

• Ziel: Verständnis <strong>und</strong> Aufbereitung <strong>von</strong> neueren Fachpublikationen<br />

• Nach Möglichkeit mit eigenen Beispielen<br />

• Mit LaTex geschrieben<br />

• LNCS (http://www.springer.com/computer/lncs/lncs+authors)<br />

• 12 – 15 Seiten<br />

• Proseminar: 17 – 20 Seiten + Zusatzaufgabe<br />

‣ Vortrag<br />

• 30 Minuten (Vortrag + Diskussion)<br />

• Proseminar: 40 Minuten<br />

29 Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


THEMENVERGABE UND<br />

TERMINIERUNG<br />

30<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Themenvergabe<br />

31<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen


Terminierung<br />

32<br />

Thorsten Arendt: Seminar <strong>Qualität</strong> <strong>von</strong> <strong>Software</strong><br />

<strong>und</strong> <strong>Software</strong>modellen

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!