Methoden der agilen Softwareentwicklung für eingebettete Systeme

Ähnliche Dokumente
IT-Projektmanagement Teil 2: Der Gegenstand von SW-Projekten Kaiserslautern, WS 2008/2009 Dr. Gerhard Pews

VERGLEICH ERFAHRENER UND UNERFAHRENER ENTWICKLERPAARE. Andreas Höfer Universität Karlsruhe, Fakultät für Informatik

Jochen Ludewig Horst Lichter. Software Engineering. Grundlagen, Menschen, Prozesse, Techniken. dpunkt.verlag

SCRUM. Agile Development

Software Engineering

Anti-Patterns. Zuverlässige Software SS2009 Friedrich Gensicke

ORGANISATORISCHES. So#ware Technik Prof. Dr. Wolfgang Schramm

Modellgetriebene Softwareentwicklung. Gabriele Taentzer WS 2012/2013 Philipps-Universität Marburg

Softwareprozessmodelle

Software- und Systementwicklung

Agile Development vs. Security Requirements

Software Engineering

Vortrag Iterative Prozessmodelle/SCRUM

0 Allgemeines. Prof. Dr. Rolf Dornberger

Inhaltsverzeichnis. Teil I Grundlagen 1

Software Engineering 1. Einführung und Begriffe

Software Engineering

AUTOMOTIVE SOFTWARE ENGINEERING

IT-Projekt-Management

Test First ist mehr als Unit Test Sinnvolle Teststrategien für agile Tests

Grundlagen der Wirtschafts informatik

Seminarvortrag - Beiträge zum Software Engineering SoSe 11. Prototyping. Björn Kahlert Institut für Informatik Freie Universität Berlin

Reference Migration Process ReMiP

Benutzerorientierte Entwicklung mobiler Anwendungen

Erfahrungen in Bezug auf Usability bei der Analyse nicht-funktionaler Anforderungen mit MOQARE

Der Rational Unified Process

3. GI-Workshop EPK 2004 Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten Luxemburg. ARIS meets RUP

Inhalt Einleitung...1 Einführung in das Risikomanagement...7 Prinzipien wirkungsvollen Risikomanagements... 57

Dokumentationen in agilen IT- Projekten. Maximilian Frainzl Juristisches IT-Projektmanagement

Entwurf eines normalisierten Datenmodells und einer einheitlichen Auswerte-Schnittstelle

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

Projektmanagement. Einführung in das agile Projektmanagement. Version: 1.0 Stand:

Enterprise 2.0 Fallstudie: Implementierung der Just Connect Social Community Software bei der Studienstiftung des deutschen Volkes

Communication Metrics for Software Development

Mobile Application Development

Vorlesung Softwaretechnik - Vorgehensmodelle, V-Modell XT -

Einführung in die Softwaretechnik 9. Softwareprozesse

Entwicklung des Softwareengineerings im Bereich der IT-TK-Technologie. Stefan Bläsius und Gregorio Roper Berlin,

Software-Lebenszyklus

SOC - System on a Chip

Einführung in die Regelungstechnik II - Reglerentwurf und diskrete Systeme -

Weiterentwicklungs-Projekten

extreme Programming Eine Einführung mit Empfehlungen und Erfahrungen aus der Praxis dpunkt.verlag Henning Wolf Stefan Roock Martin Lippert

Inhaltsverzeichnis 1 Einführung und Überblick 2 Grundlagen

Rainer Völker/Andreas Friesenhahn (Hrsg.) Innovationsmanagement 4.0

FRAUNHOFER-INSTITUT FÜR. Antriebssysteme und Exoskelette

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNIK UND AUTOMATISIERUNG IPA ANTRIEBSSYSTEME UND EXOSKELETTE

Softwareentwicklungsmodelle

Bachelorstudium Informationstechnik

Systematisches Requirements Engineering und Management

IT-Projektmanagement

Agile Software-Entwicklung: Überblick und Techniken. Prof. Dr. Stefan Kowalewski Dr. Carsten Weise 1/29

Regelungstechnik - KOMPAKT. 1. Grundbegriffe

Prozesse optimieren und Kosten reduzieren in der Fertigungsindustrie. Modular, Individuell, Einfach

Agile HW-Entwicklung und virtuelle Inbetriebnahme im Maschinenbau

Extreme Programming: Überblick

1. Grundbegriffe der Softwaretechnik. 1.1 Herausforderungen

Gliederung. Wozu braucht man Anforderungsmanagement? Motivation AM. Was umfasst Anforderungsmanagement? Definition AM

Wissenschaftliche Vertiefung. Lukas Ruckwied Softwaretechnik und Medieninformatik / 17

Auswahl der Projektmethode

Agile IT-Projekte zum Festpreis ein Widerspruch in sich?

Prozess-Modelle für die Softwareentwicklung

Analyse der logischen Systemarchitektur und Spezifikation der technischen Systemarchitektur. Kernprozess zur System- und Software- Entwicklung

Automotive Software Engineering

MURCS Wir machen jetzt Scrum, aber das Meeting passt leider nicht und einen PO haben wir irgendwie auch nicht... Ulf

Blockpraktikum Multimediaprogrammierung

FACHBEREICH TECHNIK INTERNET OF THINGS DIGITALE AUTOMATION BACHELOR OF ENGINEERING

IT-Risikomanagement leben!

Software Engineering (Softwaretechnik) --- Entwicklung von (Anwender-)Software

Continuous Integration

Zwischenvortrag: Entwurf und Evaluierung von Dashboard- Vorlagen zur Qualitätssicherung von Software-Projekten

Vergleich der Entwicklungs- und Wartungskosten unterschiedlicher Capture & Replay-Tools beim Testen grafischer Benutzeroberflächen

Kleine Refactoring-Muster

Agilität trifft Funktionale Sicherheit

Analyse und Konzept zur Verbesserung der statischen Fehlereingrenzung Masterarbeit von Lars Gohlke

WSR Softwarewartung und Prozessmodelle in Theorie und Praxis. Urs Kuhlmann Andreas Winter

Aktuelle Trends bei der Simulation mechatronischer Systeme

Service Modelle in der Industrie IoT Plattform für neue Anwendungen

Klausur mit Lösungshinweisen zur Vorlesung Planung und Entwicklung von IuK-Systemen Sommersemester August 2005 Deckblatt Hinweise

Alistair Cockburn: Die Methodenfamilie Crystal

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

AMTLICHE BEKANNTMACHUNG

Agile Methoden. David Tanzer. Oliver Szymanski

Objektorientierte Analyse & Design

Einsatz von ADF im Wirtschaftsinformatik- Studium an der FHTW Berlin

Software entwickeln mit extreme Programming

Media Transformation Interaktives Erzählen in VR

MURCS Wir machen jetzt Scrum, aber das Meeting passt leider nicht und einen PO haben wir irgendwie auch nicht...

Grundlagen der Automatisierungstechnik Klausur Februar 2011

Softwareentwicklung nach der ISO9001?

Extremes Programmieren

Interaktive Mitarbeiterassistenz für die Elektromotorenmontage (HANNING ELEKTRO-WERKE GmbH & Co. KG) 06. Dezember 2017 Paderborn.

Dualer Studiengang. we focus on students. Fachhochschule Dortmund

Agile Software Entwicklung. Agile Software Entwicklung, DHBW Karlsruhe, SS-2009 Collin Rogowski

Qualität bei evolutionärer Entwicklung

Iterative Softwareentwicklung. Ullrich Köthe 19. April 2001

Einsatz von Simulationen in der Softwareentwicklung

Transkript:

Seminarvortrag Methoden der agilen Softwareentwicklung für eingebettete Systeme Lisa Krause Aachen, 27.01.2010

Inhaltsübersicht Motivation Einführung in die Softwaretechnik - Ziele - Traditionelle Prozessmodelle - Agile Prozessmodelle Einführung in eingebettete Systeme - Definition - Regelung Agile Methoden zur Softwareentwicklung für eingebettete Systeme - Problematik - Erfahrungen - Gründe für den erfolgreichen Einsatz Fazit & Zusammenfassung Ausblick Folie 2

Motivation Eingebettete Systeme werden immer wichtiger (Marktanteil bei Prozessoren 98%) [Kow09] Folie 3

Motivation Folie 4

Motivation Markt wächst Größere Anforderungen an die Entwickler Schnell und günstig Systeme produzieren [SDL09] V-Modell am meisten verwendet [Kow09] Wird Anforderungen aber nicht gerechnet! [SDL09] Agile Methoden als Lösung? Folie 5

Inhaltsübersicht Motivation Einführung in die Softwaretechnik - Ziele - Traditionelle Prozessmodelle - Agile Prozessmodelle Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 6

Softwaretechnik Anfangs Softwareentwicklung im Wesentlichen ohne zugrundeliegende Planung Mit der Zeit stiegen die Anforderungen Nicht mehr möglich im gesetzten Kosten- und Zeitrahmen zu entwickeln [BD04] Ziel der Softwaretechnik: Den Prozess der Softwareentwicklung kontrollier- und messbar zu gestalten. Folie 7

Inhaltsübersicht Motivation Einführung in die Softwaretechnik - Ziele - Traditionelle Prozessmodelle - Agile Prozessmodelle Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 8

Traditionelle Prozessmodelle Wasserfallmodell: Anforderungsermittlung Anforderungsanalyse Entwurf Orientierung an Ingenieurswissenschaft Sequentielle Herangehensweise ungeeignet Auch iterative Modelle können der Softwareentwicklung kaum gerecht werden Software ist nur schwer mit den Produkten aus den Ingenieurswissenschaften vergleichbar Implementierung Testen Betrieb und Wartung Folie 9

Inhaltsübersicht Motivation Einführung in die Softwaretechnik - Ziele - Traditionelle Prozessmodelle - Agile Prozessmodelle Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 10

Agile Prozessmodelle Akzeptieren Veränderung als festen Bestandteil Agil bedeutet schlank, flink, leicht Nicht Orientierung an Ingenieurswissenschaft Software ist immateriell, braucht eigenen Prozess Der Mensch rückt in den Vordergrund, nicht die Rolle Motivation, Kommunikation Kein fester Zeit- und Kostenplan, aber Prototypen Folie 11

Agile Prozessmodelle Beispiel: Extreme Programming Akzeptanztests Unit Tests User Stories Testen Iterationsplan Planung Entwurf Simpler Entwurf Refactoring Software- Inkrement/ Prototyp Implementierung Kontinuierliche Integration Paarprogrammierung Folie 12

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme - Definition - Regelung Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit Zusammenfassung Ausblick Folie 13

Eingebettete Systeme Umwelt Einbettendes System Eingebettetes System Digitale Hardware Aktuatoren Software Sensoren Meist reaktive Systeme Oft hohe nicht-funktionalen Anforderungen Funktionale Anforderungen erscheinen meist einfach Anforderungen an die Hardware Oft in physikalischen Systemen zur Steuerung und Regelung Folie 14

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme - Definition - Regelung Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 15

Regelung Störgrößen Steuergröße Stellglied Stellgröße Regelstrecke Regelgröße Regler Istwert Beispiel: Führungsgröße Folie 16

Regelung Störgrößen Steuergröße Stellglied Stellgröße Regelstrecke Regelgröße Regler Istwert Beispiel: Führungsgröße Folie 17

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme - Problematik - Erfahrungen - Gründe für den erfolgreichen Einsatz Fazit & Zusammenfassung Ausblick Folie 18

Problematik Eingebettete Systeme sind meist reaktiv Besonderheit der Anforderungen Zielsystem meist spät zur Verfügung Nachträgliche Änderungen schwierig Agile Methoden wollen auf Planung verzichten z.b. Nachverfolgbarkeit? Einsatz fraglich? Folie 19

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme - Problematik - Erfahrungen - Gründe für den erfolgreichen Einsatz Fazit & Zusammenfassung Ausblick Folie 20

Erfahrungen Empirische Studie wies keinen nennenswerten Nutzen nach [Wil08] Europäische Firmen stellten allerdings großen Nutzen fest [SA08] Generell hohe Erwartungen an Nutzen [SA08] Quelle:[SA08] Einsatz anscheinend doch möglich! Folie 21

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme - Problematik - Erfahrungen - Gründe für den erfolgreichen Einsatz Fazit & Zusammenfassung Ausblick Folie 22

Gründe für den erfolgreichen Einsatz z.b. eingebettete Systeme auch in nicht-sicherheitskritischen Bereichen Individuelle Anpassung einzelner Methoden [SA08] Meistverwendete Methoden auch in Projekten für reine Softwarelösungen einsetzbar [SA08] Quelle: [SA08] Folie 23

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 24

Fazit & Zusammenfassung Anforderungen an die Softwareentwickler eingebetteter Systeme werden immer größer Agile Methoden eventuell als Lösung Einsatz agiler Methoden aber schwierig Empirische Studie konnte keinen Nutzen nachweisen Erfahrungen in der Industrie widersprechen dem allerdings Prozess zum Wechsel zu entwickeln Eventuell Entwicklung angepasster Methoden Folie 25

Inhaltsübersicht Motivation Einführung in die Softwaretechnik Einführung in eingebettete Systeme Agile Methoden zur Softwareentwicklung für eingebettete Systeme Fazit & Zusammenfassung Ausblick Folie 26

Ausblick Bachelorarbeit: - Entwicklung eines verbindenden Prozessmodells aus traditionellen und agilen Methoden - Evaluation eines bestehenden Prozesses anhand eines Industrieprojektes Fallstudie: Industrieprojekt zur Entwicklung einer echtzeitfähigen Simulationsumgebung für die Signaltechnik Quelle: www.de.academic.ru Folie 27

Vielen Dank für Ihre Aufmerksamkeit! Fragen?

Referenzen [Kow09] [BD04] [Rie07] [Wil08] [SDL09] [Fow01] Kowalewski, Stefan: Folien zur Vorlesung Introduction To Embedded Systems, Sommersemester 09. Brügge, Bernd und Alan Dutoit: Objektorientierte Softwaretechnik, Pearson Studium, 2004. Rieger,Martin: Folien zur Vorlesung Eingebettete Systeme, Sommersemester 2007. Wilking, Dirk: Empirical Studies for the Application of Agile Methods to Embedded Systems. Doktorarbeit, RWTH Aachen, 2008. Srinivasan, Jayakanth, Radu Dobrin und Kristina Lundqvist: State of the Art in Using Agile Methods for Embedded Systems Development. In: 2009 33rd Annual IEEE International Computer Software and Applications Conference, 2009. Fowler, Martin: The New Methodology.Wuhan University Journal of Natural Sciences, 6:12-24, 2001. Folie 29

Steuerung Störgrößen Führungsgröße Stellglied Stellgröße Steuerstrecke Zu steuernde Größe Beispiel: Folie 30

Softwareentwicklung für eingebettete Systeme Anforderungen an das einbettende System gestellt Überprüfung bzw. Messung der Qualitätsanforderungen nötig Folie 31