Modellbasierte Softwareentwicklung



Ähnliche Dokumente
Einsatz automatischer Testdatengenerierung im modellbasierten Test

Rhapsody in J Modellierung von Echtzeitsystemen

Neue Funktionen in Innovator 11 R5

SEA. Modellgetriebene Softwareentwicklung in der BA

Modellierung von Echtzeitsystemen mit dem UML CASE Tool Telelogic Tau G2 Developer

Test-Driven Design: Ein einfaches Beispiel

Software Systems Engineering

Die Orgadata AG ist ein stark expandierendes Software-Unternehmen aus Leer. Mit unserem System LogiKal

Kapitel 2: Der Software-Entwicklungsprozess

Was ist EMF? Wie wird EMF eingesetzt? Was ist ecore? Das Generatormodell Fazit

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Naked-FHIR. Code-Generierung auf Basis von HL7 FHIR Andreas Schuler, MSc. Textmasterformate durch Klicken bearbeiten

Requirements Management mit RequisitePro. Rational in der IBM Software Group. Der Rational Unified Process als Basis für die Projektarbeit

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

Seamless Model-based Engineering of a Reactive System

Tester als Coach ein Erfolgsmodell

Modellbasierter Akzeptanztest für Scrum. Renate Löffler, Baris Güldali, Silke Geisen TAV 30, Testing meets Agility,

Einführung in die Programmierung für NF

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Software-Evolution im Staged Lifecycle Model

Motivation. Motivation

Konzept Projekt Lisa

Verwendung von OO-Metriken zur Vorhersage

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Was versteht man unter Softwaredokumentation?

Aktuelle Abschlussarbeiten

Vortrag von: Ilias Agorakis & Robert Roginer

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

Software-Qualität im Rahmen modellgetriebener Softwareentwicklung

Fortgeschrittenes Programmieren mit Java. Test Driven Development

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

Use Cases. Use Cases

Programmiertechnik II

Value Delivery and Customer Feedback

Softwaretechnik. Fomuso Ekellem WS 2011/12


Softwareentwicklungspraktikum Sommersemester Grobentwurf

Kompetenz. rund um. Ihren. Entwicklungsprozess. Über uns. Technische Software. Modellbasierter Test. Prüfplätze. Automatisierung.

Modellbasierter Akzeptanztest für Scrum

Komponententest. Testen von Software Systemen. Übung 02 SS 2009 Version:

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Code-Erzeugung aus UML-Klassendiagrammen

Requirements Engineering I

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM

Individuelle Erweiterung des generierten Codes. 16. Januar 2013

Software Engineering in der Praxis

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Kapitelübersicht. Was ist So#waretechnik? Historische Entwicklung der So9waretechnik Prinzipien, Methoden, Werkzeuge. Was bedeutet Objektorien+erung?

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Empirische Softwaretechnik Kosten und Nutzen von UML in der Wartung Dr. Victor Pankratius Andreas Höfer Wintersemester 2009/2010

b+m Informatik AG Langlebige und zukunftsfähige modellgetriebene Softwaresysteme? Thomas Stahl b+m Informatik AG

Software Engineering. Fakultät Elektrotechnik Bachelor-Studiengänge, 4. Semester Prof. Dr.-Ing. Dagmar Meyer

Stand vr bank Südthüringen eg 1 von 10. Smart TAN plus Umstellungsanleitung VR-NetWorld Software

Projektmodell Softwareentwicklung: Unified Software Development Process / Unified Process (Teil I)

Entwicklung einer formalen Sprache zur Modelltransformation auf Basis von UML & XMI

> Mozilla Firefox 3. Browsereinstellungen optimieren. Übersicht. Stand Juli Seite. Inhalt. 1. Cache und Cookies löschen

Testautomatisierung. Lessons Learned. qme Software. Gustav-Meyer-Allee Berlin. Telefon 030/ Telefax 030/

SEP 114. Design by Contract

Methodenbasiert in der Durchführung V-Modell XT-konform im Ergebnis

Model Driven SOA Modellgetriebene Entwicklung von SOA Anwendungen. OOP München,

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Typisierung des Replikationsplan Wirries, Denis Datenbankspezialist

Praktikum Compilerbau

Lean Modeling - Datenmodelle und Geschäftsregeln einfach und präzise mit natürlicher Sprache spezifizieren

CaRD Add-on for SAP Materials Master Report Interpreter Pflege mehrsprachiger Kurztexte im Materialstamm

Systemdenken und Gestaltungsmethodik System-Modellierung

Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13)

Anwendungspraktikum aus JAVA Programmierung im SS 2006 Leitung: Albert Weichselbraun. Java Projekt. Schiffe Versenken mit GUI

Es gibt zwei Wege die elektronischen Daten aus Navision zu exportieren.

Effiziente Testautomatisierung in agilen Projekten

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh.

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Übungen zur Softwaretechnik

Klausur Softwaretechnik Feb. 2008

Testfälle und Anderes aus Modellen generieren. Dr. Martin Beißer, sepp.med gmbh

Diese wurde im Leitbild fixiert welches von den Mitarbeitern/innen in Kooperation mit den Nutzern entwickelt und reflektiert wurde.

Master Projekt SoSe Computergestützte Generierung und Validierung von Softwaremodellen. Rene Meis Nazila Gol Mohammadi Prof. Dr.

Rapide An Event-Based Architecture Definition Language

SOFTWARE FÜR PRG-APPLIKATIONEN

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

Spezielle Lebenslösung für die Grafts zum Aufbewahren - Songul Alci

Internet Explorer Version 6

Lösungsvorschlag für Übungsblatt 6 Software Engineering 1 (WS 2012/13)

Anforderungen an die HIS

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Einführungsstrategien komplexer IT-Lösungen

Dr. Klaus Lamberg, Michael Beine

Software - Testung ETIS SS05

Thomas Freitag achelos GmbH SmartCard-Workshop achelos GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Übungsaufgaben zum Software Engineering: Management

Praktikum Grundlagen der Programmierung. Diverse Grundlagen. Dr. Karsten Tolle

Analyse und Toolevaluierung

Transkript:

CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.1. Vorgehensmodell Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution + Extras

Seite 2 Grundlagen der Modellbildung Wdh. aus Kapitel 1 Die Methodik-Pyramide: Vorgehensmodelle Abdeckung in dieser Vorlesung Entwicklungsaufgaben, -aktivitäten, Prozessmuster Mikro-Methodik: Analyse, Transformation, Generierung Diagramme, Modellierungssprachen

Modellbasierte Entwicklung mit der UML Wdh. aus Kapitel 1 Seite 3 Models as central notation static analysis documentation UML models rapid prototyping refactoring/ transformation automated tests code generation UML serves as central notation for development of software UML is programming, test and modelling language at the same time

Seite 4 UML-basierte Modellierung Wdh. aus Kapitel 1 UML + Code-Rümpfe erlauben Code & Test-Modellierung class diagrams statecharts C++, Java object diagrams : : sequence diagrams : composition diagram parameterized code generator test code generator OCL system test code Code- und Testmodelle prüfen gegenseitige Korrektheit

Seite 5 Kernelemente einer evolutionären Methodik Inkrementell Architektur, Funktionalität und Tests entwerfen Automatisierte Analysen: Typisierung, Datenfluss, Kontrollfluss, Testüberdeckung,... Codegenerierung für System und automatische Tests Modell-basierte, automatisierte Tests als Qualitätssicherung für Anwenderwünsche für Regressionstests bei Änderungen Viele Releases mit eher kleinen Erweiterungen Häufige Simulation für den Kunden: Feedback Verfügbare Kunden/Domänenexperten Evolutionäre Transformationen zur inkrementellen Erweiterung Methodik integriert Elemente moderner Entwicklungsmethoden: Modell-basierung, Evolution im Kleinen, Test-Orientierung, Agilität

CD OCL OD Statechart SD Modellbasierte Softwareentwicklung 7. Evolutionäre Methodik 7.2. Testen und Evolution Vorlesungsnavigator: Prof. Dr. Bernhard Rumpe Sprache Codegen. http://www.se-rwth.de/ Testen Evolution + Extras

Seite 7 Tests Anforderungen an Tests: Automatische Tests um Wiederholbarkeit zu sichern Aufsetzen des Tests, Durchführung, Evaluation des Testergebnisses Deterministische Tests mit determiniertem Ergebnis Keine (bleibenden) Seiteneffekte Effiziente Ausführung Ziele: Demonstration der Qualität Definition von Anforderungen noch zu realisierender Funktionalität Grundlage für das Zutrauen in die Korrektheit des Codes und Grundlage für die effektive Weiterentwicklung des Systems

Seite 8 Testinfrastruktur (Einfache) Prinzip: OD als Testdatensatz weiteres OD und OCL als Orakel Testdaten Testtreiber Sollergebnis und OCL-Prädikat als Testorakel o1 o3 o2 o4 OD Zu testendes Element SD o5 o1 o3 o2 o4 OD + OCL

Seite 9 Sequenzdiagramme (SD) lineare Struktur für exemplarische Beschreibung + integriertes OCL SD sind als Testprädikate oder treiber einsetzbar SD können aus Statecharts (teilweise) generiert werden kupfer912: Auction bidpol: BiddingPolicy timepol: TimingPolicy SD validatebid(bid) return OK newcurrentclosingtime(kupfer912, bid) return t t.time == bid.time + extensiontime OCL-Bedingungen beschreiben Eigenschaften während des Tests

Seite 10 Evolution von Modellen Ziel ist die systematische Transformation eines Modells zur Verbesserung der Struktur/Architektur eines Systems unter Beibehaltung des beobachteten Verhaltens. Beispiel: Methode aus zwei Subklassen generalisieren Person CD Person CD Transformation checkpasswd() Bidder Guest checkpasswd() checkpasswd() Bidder Guest,

Seite 11 Tests sind Beobachtungen für Transformationen Tests beobachten Struktur und Verhalten: Test = Treiber und Beobachtung Aufbau & Aufruf beobachtet Erzeugung beobachtet Interaktion prüft Eigenschaft vergleicht mit erwartetem Ergebnis Snapshots des Systemlaufs Zeitachse

Seite 12 Validierung von Transformationen Die Testbeobachtung bleibt unter der Transformation erhalten Test = Treiber und Beobachtung Beobachtung Transformation Systemlauf Lauf des modifizierten Systems Aber in der Praxis: oft ändern sich Strukturteile unter der Transformation Deshalb: Akzeptanztests auf geeignete Abstraktionen und fixierte Schnittstellen basieren