Agenda. Effektive Softwareentwicklung in der Medizintechnik



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

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

Qualitätssicherung im Lebenszyklus des itcs. Anspruch und Wirklichkeit.

Übung 6: Feinentwurf. Prof. Dr. Dr. h.c. Manfred Broy Dr. Herbert Ehler, Martin Feilkas 6. Juli 2006 Bernd Spanfelner, Sebastian Winter

Comparing Software Factories and Software Product Lines

your engineering partner boost your development

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Anforderungen an die HIS

Neue Funktionen in Innovator 11 R5

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Design Pattern - Strukturmuster. CAS SWE - OOAD Marco Hunziker Klaus Imfeld Frédéric Bächler Marcel Lüthi

Übungsklausur vom 7. Dez. 2007

ITIL und Entwicklungsmodelle: Die zwei Kulturen

Automatische Testfallgenerierung aus Modellen. 8. Neu-Ulmer Test-Engineering-Day Martin Miethe

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

17 Architekturentwurf Vorgehen und Dokumentation

Gemeinsam Software-Lösungen finden. Vom Prototyping bis zur Serienreife.

Die Welt der SW-Qualität Ein Streifzug in 30 Minuten! Johannes Bergsmann Eigentümer

Medizinprodukt 1.0. Lehren aus der Neuentwicklung von Medizinprodukte-Software. Matthias Hölzer-Klüpfel

07. November, Zürich-Oerlikon

Automatisiertes Testen von Prüfplätzen

16 Architekturentwurf Einführung und Überblick

Sonnenfinsternis in der Technischen Redaktion

SDD System Design Document

Die Integration von Requirements Management, Software Configuration Management und Change Management mit der MKS Integrity Suite 2006

Einreichung zum Call for Papers

Erfolgreiche Realisierung von grossen Softwareprojekten

AGILES Software Engineering in der COUNT IT. Testautomatisierung in der agilen Softwareentwicklung

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

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Praxen bei der Implementierung von IT achten?

Seamless Model-based Engineering of a Reactive System

EoL-Testautomation 2.0. Technische Beschreibung. DI Hans-Peter Haberlandner. Blumatix GmbH

Service Virtualisierung

Grundlagen Software Engineering

UEFI Secure Boot und alternative Betriebssysteme

Einsatz automatischer Testdatengenerierung im modellbasierten Test

How to Survive an Audit with Real-Time Traceability and Gap Analysis. Martin Kochloefl, Software Solutions Consultant Seapine Software

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

SysInventor. Jakobstr. 64 D Konstanz. Kontakt: Phone +49 (0) Fax +49 (0)

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

Kurzfassung der Studienarbeit

Softwareanforderungsanalyse

Real-Time Collaboration Eine Kostprobe Workshop

«PERFEKTION IST NICHT DANN ERREICHT, WENN ES NICHTS MEHR HINZUZUFÜGEN GIBT, SONDERN DANN, WENN MAN NICHTS MEHR WEGLASSEN KANN.»

Generative Prozessmodelle Patrick Otto MDD Konferenz

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

Testmanagement in IT-Projekten

Intuitive Kassensysteme für Shop und Ticketing. Willkommen bei Ihrem Software-Partner. Schön, dass Sie uns gefunden haben.

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

Was ist Software-Architektur?

Dokumentation für die Software-Wartung

Klausur zu den Teilgebieten Software-Management und Software-Qualitätsmanagement

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

E-Learning-Content. E-Learning-Content wird von vielen Hochschullehrern in unterschiedlichstem Umfeld hergestellt

Angepasste Software Standards für DLR- Eigenentwicklungen - Die DLR Software Basisstandards -

Hardware, Software, Services

Software Projekt 2 / Gruppe Knauth Lernziele:

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

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

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

intence automotive electronics Ausführbare Spezifikation Der Weg zu besseren Anforderungen

HWP-WIN Update Argumente für eine Aktualisierung Präsentiert durch Sage Business Partner Johann König

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

Herausforderungen des Enterprise Endpoint Managements

Informationssystemanalyse Lebenszyklusmodelle 3 1. Lebenszyklusmodelle sollen hauptsächlich drei Aufgaben erfüllen:

Informationswirtschaft II Rational Unified Process (RUP)

Workflow Systeme mit der Windows Workflow Foundation

Informationswirtschaft II

SAP Enterprise Asset Management Visualisierung in der Instandhaltung

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

Festpreisprojekte in Time und in Budget

Übungen zur Softwaretechnik

Requirement Engineering. in der Steuergeräteentwicklung

Was versteht man unter Softwaredokumentation?

Java Entwicklung für Embedded Devices Best & Worst Practices!

Architekturplanung und IS-Portfolio-

White Paper. Embedded Treiberframework. Einführung

Sicherheit bei lernenden Robotern

Dr. Klaus Körmeier BlueBridge Technologies AG

Risikoorientiertes Testen und Testmanagement

MetaNavigation der effizienteste Weg maximalen Mehrwert aus BI Metadaten zu ziehen

BIF/SWE - Übungsbeispiel

Testen heute und in der Zukunft Ergebnisse der ersten unabhängigen Marktstudie für 6 Länder

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Data Lineage goes Traceability - oder was Requirements Engineering von Business Intelligence lernen kann

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?

Bachelor-/Masterarbeit: ALM-Umgebung für native medical Apps unter Android und ios

Dr. Hanno Schauer Mons-Tabor-Gymnasium Montabaur. UML-Klassendiagramme als Werkzeug im Unterricht


T1 - Fundamentaler Testprozess

Transkript:

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 1

Vorstellung Ingo Beyer, Dipl.-Ing. (FH) Technische Informatik an der Fachhochschule Giessen-Friedberg Seit 2005 Mitarbeiter der EXCO GmbH, derzeit Projektleiter im Bereich Medical Device Verification Kernkompetenz: Projektleitung im regulierten Umfeld Testautomation von Embedded Systemen Blackboxtests, Whiteboxtest, Code- und Designreviews Erstellung von Tools zur Sourcecode Generierung 2

Entwicklung einer Messgeräteplattform Beispiel: Ziele bei der Entwicklung einer Messgeräteplattform Weltweiter Verkauf von Geräten Produktion von großen Stückzahlen Identische Basisfunktionalitäten für alle Geräte Gute Wartbarkeit der Software Unterschiedliche HW-Varianten Integration neuer Features mit vertretbarem Aufwand Kurze Entwicklungszyklen für Nachfolgegeräte 3

Teilaspekte für effektive Softwareentwicklung Schlüsselelemente für effektive Softwareentwicklung Kontinuierliches Requirementsmanagement Auswahl der passenden Softwarearchitektur Abgestimmte Implementierungs- und Teststrategien Effektiver Werkzeugeinsatz Interdisziplinäre Teambildung 4

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 5

Requirementsmanagement Voraussetzungen für einen kontinuierlichen Requirementsmanagement Prozess Anwendung bewährter Requirement Engineering Praktiken Hierarchische Strukturierung (vom Groben ins Detail) Priorisierung, Versionierung und Zuordnung von Attributen zu Requirements ermöglicht die Erstellung spezifischer Sichten Darstellung von Freigabeständen durch Baselines Anforderungen jedem jederzeit zur Verfügung stellen Traceability von Spezifikationen zu Requirements 6

Requirementsmanagement Kontinuierlicher Entwicklungsprozess Test Requirement Design & Realisierung Risiko - Bewertung Spezifikation 7

Requirementsmanagement kontinuierlicher Entwicklungsprozess Test Requirement Test Requirement Design & Realisierung Design & Realisierung Risiko - Bewertung Risiko - Bewertung Spezifikation Spezifikation 8

Requirementsmanagement kontinuierlicher Entwicklungsprozess benötigt Werkzeuge wie z.b. HP Quality Center Test Test Requirement Requirement Requisit Pro. Test Design & Risiko - Realisierung Bewertung Design & Risiko - Realisierung Bewertung Design & Risiko - Realisierung Bewertung Spezifikation Spezifikation Spezifikation Requirement 9

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 10

Softwarearchitektur Auswahl passender Architekturmuster in Bezug auf: Funktionalität Erweiterbarkeit Zuverlässigkeit Übertragbarkeit Testbarkeit Wartbarkeit 11

Softwarearchitektur Architekturmuster sind bewährte Lösungsstrategien OSI 7 Schichten Modell oder Pipes and Filters Modell View Controller Mikrokernel, Monolitischer Kernel Hardware Abstraction Layer (HAL) Quellen zur Auswahl von Entwurfsmustern: Design Patterns. Elements of Reusable Object-Oriented Software von Erich Gamma et. Al. (Gang of Four) Pattern-Oriented Software Architecture von Frank Buschmann et. Al. Modellgetriebene Softwareentwicklung von Stahl, Voelter, Efftinge, Haase 12

Softwarearchitektur Beispiel für eine Anwendung mit Hardware Abstraction Layer Applikationsschicht (enthält Subsysteme zur Umsetzung der funktionalen Anforderungen) Betriebssystem - Kernel Hardware Abstraction Layer (HAL) Hardware Treiber (Speicherverwaltung) Hardware Treiber (Timer) Subsystem inkl. Hardware Anbindung 13

Softwarearchitektur Beispiel für eine Anwendung mit Hardware Abstraction Layer Applikationsschicht (enthält Subsysteme zur Umsetzung der funktionalen Anforderungen) Betriebssystem - Kernel Hardware Abstraction Layer (HAL) Neuer Hardware Treiber (Neuer Speicher) Hardware Treiber (Timer) Neues Subsystem inkl. Hardware Anbindung 14

Softwarearchitektur Beispiel für eine Anwendung mit Hardware Abstraction Layer Applikationsschicht (enthält Subsysteme zur Umsetzung der funktionalen Anforderungen) Betriebssystem - Kernel Hardware Abstraction Layer (HAL) Hardware Simulation (Speicherverwaltung) Hardware Simulation (Timer) Simulation Subsystem inkl. Hardware Anbindung 15

Softwarearchitektur Hardware Abstraction Layer (HAL) Definierte Schnittstelle zur Hardware ohne von der Hardware abhängig zu sein Trennung des Software Applikation Layers von der Hardware Treiberschicht Vorteile Hardware Komponenten können leichter ersetzt werden Simulation von Hardware durch Software Separate Entwicklung und Test hardwareunabhängiger Funktionen 16

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 17

Implementierungs- und Teststrategien Bottom-Up-Integration Modul 1 Testtreiber Modul 3 Modul 4 Modul 2.1 Modul 2.2 Testtreiber Modul 4.2 Modul 4.3 Modul 4.1.1 Modul 4.1.2 Modul 4.1.3 frühe Umsetzung technisch schwieriger Teile / des Kerns möglich (Critical First) Machbarkeitsprüfung 18

Implementierungs- und Teststrategien Top-Down-Integration Modul 1 Modul 2 Platzhalter (Stub) Modul 3 Modul 4 Platzhalter (Stub) Modul 2.1 Platzhalter (Stub) Modul 2.2 Platzhalter (Stub) Modul 4.1 Platzhalter (Stub) Modul 4.2 Platzhalter (Stub) Modul 4.3 Modul 4.1.1 Modul 4.1.2 Modul 4.1.3 frühzeitige Prüfung der Benutzerschnittstelle (durch Kunden) möglich schnelles Kundenfeedback 19

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 20

Werkzeuge Konfigurationsmanagement SVN, CSV, Visual Sourcesafe Buildautomatisierung ANT, Team Foundation Server, Hudson Testmanagement Team Foundation Server (TFS), HP Quality Center Testautomatisierung xunit, Selenium, TFS Abweichungsmanagement Bugzilla, JIRA, ClearQuest 21

Testautomatisierung Externes Programmiersprachenspezifisches Testframework (xunit) Standard Entwicklungsumgebung mit integriertem Testframework 22

Hardware Simulation Beispiel: Embedded Software oder PC-Steuerungs-Software für Geräte ist sehr hardwareabhängig Problem: Hardware wird parallel zur Software entwickelt Hardware sehr spät und in begrenztem Umfang bzw. begrenzter Funktionalität verfügbar Sonderaufbauten kosten Zeit und Geld Zeitprobleme zum Projektende aufgrund Hardware Software Integration Qualitätseinbußen Ziel: hardwareunabhängige Entwicklung und Prüfung der Software Risiken früh erkennen und Gegenmaßnahmen einleiten Kostenreduktion Höhere Qualität des Endproduktes 23 Lösung: Simulation der Hardware - Komponenten

Hardware Simulation Hardware Simulation Einsatz des Hardware Abstraction Layers Nutzbar für Entwicklung, Verifizierung oder sonstige Parteien Vorteile: Kein Mengen- und Verfügbarkeitsproblem Schnell aktualisierbar Frühe Verfügbarkeit Risiken: Erhöhter Entwicklungsaufwand für die Hardware Simulation Verhalten kann von realer Hardware abweichen (Race conditions, Timing) 24

Hardware Simulation Beispiel: Simulation eines Laborgerätes zum Test der seriellen Schnittstellenkommunikation der PC-Steuersoftware 25

Hardware Simulation Lösungsansatz für den Test der Schnittstellenkommunikation Datengetriebene Tests an internen Modulschnittstellen Testdaten von Testskripten trennen Erzeugung eines generischen Skriptes, für beliebig viele Testdaten, die mit einem beliebigen Editor oder Generator erzeugt werden Kommandos und Kommandoantworten automatisiert prüfen Hardware Simulation des externen Gerätes Simuliert die Gegenstelle für externe Schnittstellen Wiederverwendbarkeit der Daten aus Modultests Integrationstest mit fertigem Gerät: Nur noch wenige Fehler zu erwarten (z.b. Timingprobleme) 26

Effektive Softwareentwicklung in der Medizintechnik Agenda Ihr Schlüssel zum Erfolg... Begrüßung Beispiel Messgeräteplattform Requirementsmanagement Software Architektur Implementierungs- und Teststrategien Werkzeuge Teamzusammensetzung 27

Rollen in der Entwicklung Teilprojekt Firmware Projektleiter Entwicklung Projektleiter Verifizierung Normenspezialist Supportteam Systemarchitekt (Technischer) Test Analyst Werkzeugunterstützung Entwicklerteam Testteam Technische Assistenz 28

Teambildung Teambildung Entwickler - Tester Permanente Interaktion zwischen Entwicklern und Testern Gleichzeitige Entwicklung und Testerstellung Vorteile: Kurze Wege, effektive Kommunikation Frühzeitige Fehlerfindung und behebung Hohe Qualität durch 4-Augen-Prinzip Unterschiedliche Interpretationen (Entwickler, Tester) ermöglichen das frühzeitige Entdecken von Unstimmigkeiten in Requirements 29

Zusammenfassung interdisziplinär Entwickler Tester Teams eindeutig kontinuierlich wiederverwendbar Rollen und Teambildung Requirementsmanagement Werkzeuge Software Entwicklung hochintegriert Buildprozess Testumgebung Versionsverwaltung Fehlerverfolgung Architekturentwurf wiederverwendbar Hardware Simulation Integration Strategien 30

Ansprechpartner Danke für Ihre Aufmerksamkeit Haben Sie noch Fragen? Deutschland: Schweiz: Frankreich: EXCO GmbH Adam-Opel-Strasse 9-11 D-67227 Frankenthal Deutschland fon +49 (0) 6233 73778-0 fax +49 (0) 6233 73778-190 www.exco.de info@exco.de EXCO Consulting GmbH D4 Business Center Luzern, Platz 5 CH-6039 Root Längenbold Schweiz fon +41 (0) 41 455 24-70 fax +41 (0) 41 455 24-79 www.exco-consulting.ch info@exco-consulting.ch Verbindungsbüro Frankreich 50 Avenue d'alsace F-68025 COLMAR Cedex Frankreich fon +33 (0) 389 2928-19 fax +33 (0) 389 2043-79 www.exco.de france@exco.eu 31