Techniken des modernen Softwareengineerings geschickt einsetzen für erfolgreiche Analytics- Projekte



Ähnliche Dokumente
Moderne Datenbankentwicklung mit Hilfe von SQL Server Data Tools

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

Ressourcenmanagement in Forschung und Entwicklung Grünenthal integriert SAS in sein Berechtigungs- und Mandantenkonzept 7.

Qualitätssicherung leicht gemacht: Open Source Tools sinnvoll einsetzen und verzahnen

EIDAMO Webshop-Lösung - White Paper

OP-LOG

THEMA: "SAS STORED PROCESSES - SCHNELL GEZAUBERT" HELENE SCHMITZ

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Versionsverwaltung mit SVN

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Microsoft Office Visio 2007 Infotag SemTalk Thema: Prozessmodellierung

Reporting Services und SharePoint 2010 Teil 1

Einreichung zum Call for Papers

MetaQuotes Empfehlungen zum Gebrauch von

Automatisiertes UI Testing. Mark Allibone, , #2

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

Macher Solutions Produktinformation SAP Crystal Reports 2011

Einführung in die Informatik Tools

PCC Outlook Integration Installationsleitfaden

Database Change Management für Continuous Delivery. Diana Lander und Andreas Falk NovaTec Consulting GmbH

Kurzanleitung zu. von Daniel Jettka

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

3 Windows als Storage-Zentrale

Wie benutzt man TortoiseSVN

SMART Newsletter Education Solutions April 2015

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

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

Internet Explorer Version 6

Internet online Update (Internet Explorer)

Anforderungen an die HIS

Powermanager Server- Client- Installation

Titel. App-V 5 Single Server Anleitung zur Installation

Lokale Installation von DotNetNuke 4 ohne IIS

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Thema: Microsoft Project online Welche Version benötigen Sie?

Microsoft SharePoint 2013 Designer

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Einfach wie noch nie. Der mypackage-ansatz. Ihre Lösung zur automatisierten Client-Bereitstellung. mypackage im Überblick

Installationsleitfaden zum Fakturierungsprogramm

Java Script für die Nutzung unseres Online-Bestellsystems

Umgang mit der Software ebuddy Ändern von IP Adresse, Firmware und erstellen von Backups von ewon Geräten.

Tutorial Windows XP SP2 verteilen

Update auf Windows 8.1 Schrittweise Anleitung

Folgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:

Sehr geehrte Faktor-IPS Anwender,

SERVICE SUCHE ZUR UNTERSTÜTZUNG

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

HANDBUCH LSM GRUNDLAGEN LSM

Hinweise zum Update des KPP Auswahltools (Netzwerkinstallation) auf Version 7.2

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

System-Update Addendum

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Verwendung des Terminalservers der MUG

Wo sind meine Anforderungen?

Wissenswertes über LiveUpdate

Windows 10. Vortrag am Fleckenherbst Bürgertreff Neuhausen.

Was ist neu in Sage CRM 6.1

PRESman. Presentation Manager. Reduzieren Sie nachhaltig die Kosten für das. Erstellen, Verwalten und Verteilen Ihrer

Herzlich Willkommen zur IT - Messe

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

Microsoft Update Windows Update

Neue Funktionen in Innovator 11 R5

Deployment Deployment Seite 1 / 25

Installationsanleitung

Praktikum Ingenieurinformatik (PI)

Software-Lizenzierung und Aktivierung: Verteilen von Software mit Apple Remote Desktop

Einführung in Subversion

Eclipse Plugins für die komfortablere Verwendung von ibatis SQLMaps

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Step by Step Webserver unter Windows Server von Christian Bartl

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

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

GS-Programme 2015 Allgemeines Zentralupdate

Leitfaden zur Installation von Bitbyters.WinShutdown

Neuerungen in SASUnit, insbesondere Ermittlung der Testabdeckung

1 Was ist das Mediencenter?

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS Lehrstuhl i9, Prof. Dr. T.

Das System für Ihr Mitarbeitergespräche

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Tipps und Tricks zu Netop Vision und Vision Pro

Einführung in PHP. (mit Aufgaben)

Databear Software Installer

SharePoint Portal für eine effiziente Zusammenarbeit

Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)

Sonnenfinsternis in der Technischen Redaktion

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Bedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology

Leitfaden zur Nutzung von binder CryptShare

BSV Software Support Mobile Portal (SMP) Stand

Transkript:

Techniken des modernen Softwareengineerings geschickt einsetzen für erfolgreiche Analytics- Projekte SFD 2010 06. Oktober 2010 2010 HMS Analytical Software GmbH

Agenda Vorstellung HMS Einführung: Herausforderungen bei der Entwicklung komplexer Softwaresysteme Techniken und Werkzeuge des Softwareengineerings Allgemeine Einführung in die Konzepte Anwendung der Konzepte auf SAS, Vorstellung hierfür geeigneter Werkzeuge Beispiele Zusammenfassung 2010 HMS Analytical Software GmbH 2

Unternehmensprofil HMS Analytical Software ist IT-Spezialist für Business Intelligence und Datenanalysesysteme Branchen-Kompetenz Life Science (Pharma, Diagnostika, Medizingeräte) Banken und Versicherungen Alle, die Business Analytics brauchen Technologie-Schwerpunkte Analytics: SAS, Microsoft BI, R Anwendungsintegration: Java, Microsoft.NET 2010 HMS Analytical Software GmbH 3

Unsere Services Unabhängige Beratung zum Einsatz der SAS-Software SAS-Plattform: Aufbau und Betrieb Datenintegrationsprozesse entwickeln SAS-Programme entwickeln Reports entwickeln Frontends und Anwendungen auf Basis der SAS-Software Performanceoptimierung Versionsumstellung Training und Coaching Technischer Support 2010 HMS Analytical Software GmbH 4

Problemstellung Einführung Softwaresysteme (und deren Entwicklung) werden immer komplexer Prominente Probleme bei der Entwicklung sind mangelnde Qualität unvollständige Umsetzung der Anforderungen fehlende Termintreue Budgetüberschreitungen mangelnde Wart- und Erweiterbarkeit 2010 HMS Analytical Software GmbH 5

Problemstellung Einführung Es gibt Methoden und Techniken aus dem Bereich des Softwareengineering, um diese Probleme zu adressieren Etabliert in Softwareprojekten auf Basis moderner, objektorientierter Programmiersprachen Nicht sehr verbreitet in klassischen Analytics Projekten Wissen um diese Methoden in diesem Bereich noch begrenzt Mangel an angepassten Werkzeugen 2010 HMS Analytical Software GmbH 6

Problemstellung Beispiele Entwicklung von komplexer Individualsoftware Z.B. Entwicklung von Rechenkernen zur Berechnung von Kreditrisiken in der Finanzbranche Lifecycle-Management Betreiben und Weiterentwickeln von Systemen über einen langen Zeitraum 2010 HMS Analytical Software GmbH 7

Problemstellung Beispiele Herausforderungen Software Entwicklung Evtl. Koordination mehrerer Entwickler Räumliche Trennung Shared Code Nachverfolgbarkeit der Code-Änderungen Validierung der Algorithmen Reagieren auf Änderungen der Anforderungen Überwachen der Qualität der Software Schnelle Bereitstellung von (beta-) Versionen Evtl. Integration verschiedener Module (u.u. basierend auf unterschiedlichen Technologien) 2010 HMS Analytical Software GmbH 8

Problemstellung Beispiele Herausforderungen Lifecycle-Management Evtl. Verwalten mehrerer Versionen Entwicklungsversion - Erweiterung der Funktionalität Produktionsversion - Bugfixes Änderungen an bestehendem Code können unabsehbare Folgen haben Reengineering: Gleichheit von Ergebnissen vorher / nachher muss sichergestellt sein 2010 HMS Analytical Software GmbH 9

Problemstellung Letztendlich gilt: Qualität kann man nicht nachrüsten, sie muss von vornherein in ein System eingebaut werden 2010 HMS Analytical Software GmbH 10

Konzepte und Werkzeuge Konzept Versionsverwaltung Unit Tests Codemetriken Dokumentation Continuous Integration Komponenten / Werkzeuge Versionsverwaltungssysteme Test Frameworks Algorithmen und Frameworks Dokumentationsgeneratoren CI Server, Feedback Tools 2010 HMS Analytical Software GmbH 11

Konzepte und Werkzeuge Versionsverwaltung Hauptaufgaben Protokollierung von Änderungen im Code Wiederherstellung von alten Ständen einzelner Dateien Archivierung ( taggen ) der einzelnen Stände eines Projektes Koordinierung des gemeinsamen Zugriffs von mehreren Entwicklern auf die Dateien. Gleichzeitige Entwicklung mehrerer Entwicklungszweige (engl. Branches) eines Projektes Versionsverwaltungssysteme Kostenlose und kommerzielle Systeme verfügbar Unabhängig von der verwendeten Entwicklungsplattform 2010 HMS Analytical Software GmbH 12

Konzepte und Werkzeuge Versionsverwaltung für SAS Subversion Kostenlos und plattformunabhängig Zentrales Repository Server-basiert oder dateisystem-basiert (-> sehr einfach) Verwaltung verschiedener Versionen (branches, trunk) Mit Tortoise Integration in den Windows Explorer Aber keine Integration in SAS Entwicklungstools Auch für SAS Data Integration Studio sinnvoll 2010 HMS Analytical Software GmbH 13

Konzepte und Werkzeuge Screenshot: Tortoise SVN-Client 2010 HMS Analytical Software GmbH 14

Konzepte und Werkzeuge Unit Tests Aufgaben Testen und Validieren von Code auf unterster Ebene Laufen isoliert (unabhängig von anderen Modulen) Testen im Fall von gültigen, aber auch ungültigen Eingaben Werden vom Entwickler geschrieben Grundlage für Regressionstests Unit Test Frameworks Verbreitet, für die gängigsten Entwicklungsplattformen frei verfügbar Erlauben automatisiertes Ausführen der Tests Sind spezifisch für eine Entwicklungsplattform 2010 HMS Analytical Software GmbH 15

Konzepte und Werkzeuge Unit Test Framework für SAS SASUnit SAS-Makropaket SAS-Makros (oder SAS Programme oder DI-Prozesse) als zu testende Units Unit Tests sind ihrerseits SAS-Programme SASUnit steuert die Ausführung der Unit Tests SASUnit erstellt automatisch übersichtliche Testberichte im HTML-Format SASUnit ist frei erhältlich ( http://sourceforge.net/projects/sasunit/) 2010 HMS Analytical Software GmbH 16

Konzepte und Werkzeuge Screenshot: SASUnit-Ergebnisreport 2010 HMS Analytical Software GmbH 17

Konzepte und Werkzeuge Codemetriken Aufgaben Erlauben quantitative Aussagen über den Code Messen und Überwachen der Code- und Unittestqualität You can t control what you can't measure. Tom DeMarco Frameworks zur Berechnung von Code Metriken Existieren für einige Entwicklungsplattformen Sind spezifisch für eine Entwicklungsplattform 2010 HMS Analytical Software GmbH 18

Konzepte und Werkzeuge Codemetriken für SAS Ermittlung Testabdeckung mit SASUnit Experimentelles Feature von SASUnit Bestimmung welche Quelltextblöcke eines SAS Macros während Unit Tests ausgeführt wurden Dadurch Beurteilung möglich, wie gut die Unit Tests den Quelltext des SAS Macros abdecken -> Entdeckung von Codebereichen die in Tests nie ausgeführt wurden 2010 HMS Analytical Software GmbH 19

Konzepte und Werkzeuge Beispiel - Bestimmung der Statement Coverage (hier 75%): /*Coverage Test Macro*/ %MACRO cctestmacro1(binaryinput); %LOCAL printtxt; %LET printtxt = A value not equal to 1 was given.; %IF &binaryinput EQ 1 %THEN %DO; %LET printtxt = A value equal to 1 was given.; %END; %PUT &printtxt; %MEND cctestmacro1; 2010 HMS Analytical Software GmbH 20

Konzepte und Werkzeuge Dokumentation Aufgaben Beschreibung der Funktionalität für Entwickler und evtl. Anwender Beschreibung der Programmierschnittstellen, Datenstrukturen und Algorithmen Dokumentationsgeneratoren Stehen für viele Entwicklungsplattformen zur Verfügung Generierung aus speziell formatierten Code-Kommentaren Einige können an verschiedene Plattformen angepasst werden 2010 HMS Analytical Software GmbH 21

Konzepte und Werkzeuge Dokumentationsgenerator für SAS Doxygen Kostenlos und plattformunabhängig Sprachübergreifender Dokumentationsgenerator Analysiert Quelltextdateien und sucht nach Kommentarköpfen bestimmter Tag -Struktur Auswertung der Tag -Struktur zur Erstellung einer strukturierten (HTML-) Dokumentation mit den Inhalten der Kommentarköpfe 2010 HMS Analytical Software GmbH 22

Konzepte und Werkzeuge Doxygen-Beispiel: Generierung HTML-Report aus Kommentarkopf 2010 HMS Analytical Software GmbH 23

Konzepte und Werkzeuge Continuous Integration (CI) Aufgaben Automatisiertes Bauen einer Anwendung Integrieren verschiedener Module einer Anwendung Automatisierte Testausführung (z.b. bei Codeänderungen) Evtl. Generierung der Dokumentation Evtl. Generierung der Setup Datei Überwachen der Codequalität CI Server Kostenlose und kommerzielle Systeme verfügbar Im Prinzip unabhängig von der Entwicklungsplattform. Evtl. müssen aber Anpassungen vorgenommen werden 2010 HMS Analytical Software GmbH 24

Konzepte und Werkzeuge Continuous Integration -> Continuous Feedback Aufgaben Alle Projektbeteiligten werden permanent über den Stand des Projektes informiert Feedback Tools Kostenlose und kommerzielle Systeme verfügbar Evtl. abhängig vom verwendeten CI Server 2010 HMS Analytical Software GmbH 25

Konzepte und Werkzeuge - CI Web-Server Kompilierung Testdurchführung Berechnung von Metriken Integration Erstellung der Dokumentation Setup Veröffentlichung der Ergebnisse CI-Server Holt Codeänderungen Holt/überträgt Codeänderungen Versionsverwaltung Holt/überträgt Codeänderungen Feedback tool Feedback tool Detaillierte Ergebnisse und Reports Entwickler 1 Entwickler 2 2010 HMS Analytical Software GmbH 26

Konzepte und Werkzeuge CI Server für SAS Hudson Kostenlos und plattformunabhängig In Java geschriebener, webbasierter CI Server Leicht zu installieren Leicht über eine Weboberfläche zu konfigurieren Anbindung an Subversion schon integriert Verschiedene Testtools schon integriert (z.b. JUnit) Integration von SASUnit wurde von HMS entwickelt Erstellt Statistiken über vergangene Builds / Testläufe Ist über Plugins erweiterbar (z. Zt. über 250) 2010 HMS Analytical Software GmbH 27

Konzepte und Werkzeuge - Hudson Screenshot: Hudson Web- Dashboard 2010 HMS Analytical Software GmbH 28

Konzepte und Werkzeuge Continuous Feedback Tools für SAS CCTray Kostenlos (plattformunabhängige Version JCCTray) Läuft als Programm auf den Clients (Entwickler Rechner) Integriert sich unter Windows in die Task Leiste Bezieht Informationen und Statusänderungen vom CI Server Aktueller Zustand der Projekte auf einen Blick erfassbar Statusänderungen können als Balons eingeblendet oder über ein akustisches Signal angezeigt werden 2010 HMS Analytical Software GmbH 29

Konzepte und Werkzeuge - CCTray Entwickler-PC: 2010 HMS Analytical Software GmbH 30

Konzepte und Werkzeuge Beispiel Szenario Ich erweitere Modul X um Funktionalität Y Ergebnis-Benachrichtigung Generierung Test-Report Update (Subversion) Codeänderung HUDSON Ausführung aller existierender Testszenarien Interaktiv Entwickler Änderungsbezogene lokale Unit Tests mit SASUnit Check-Out (Subversion) Check-In (Subversion) Zu festen Terminen Dokugenerierung(Doxygen) Ermittlung Testabdeckung Integrationsabläufe 2010 HMS Analytical Software GmbH 32

Werkzeuge für SAS - Überblick Konzept Versionsverwaltung Unit Tests Codemetriken Dokumentation Continuous Integration Werkzeug für SAS Subversion SASUnit SASUnit-Erweiterung (Beta) Doxygen Hudson, CCTray 2010 HMS Analytical Software GmbH 33

Projekt Beispiele Aufgabe Modularisierung duplizierter Programmteile von Wirksamkeits- und Verträglichkeitsstudien > klassisches Reengineering-Projekt Wichtig: Keine Änderung der Funktionalität Verwendete Werkzeuge Optimierung von Analyseprogrammen für Wirksamkeitsstudien SASUnit für die delta-analyse (Vergleich vorher / nachher) und das Testen der entwickelten Module Subversion für die Koordination der Entwickler und zur Verwaltung der Module, Originalprogramme, Testdaten und überarbeiteten Programme Doxygen für die Generierung der Dokumentation 2010 HMS Analytical Software GmbH 34

Projekt Beispiele Aufgabe Erstellung von automatisierten Validierungsprozessen zur Qualitätssicherung der bankinternen Ratingverfahren Überprüfen der Messgenauigkeit der Ratingverfahren Regressionstests für die Weiterentwicklung Verwendete Werkzeuge Rating-Validierung gemäß der Basel II Anforderungen SASUnit zum Testen der Makros -> Regressionstest bei Weiterentwicklungen Doxygen für die Generierung der Dokumentation 2010 HMS Analytical Software GmbH 35

Zusammenfassung Herausforderungen Software Entwicklung Evtl. Koordination mehrerer Entwickler Räumliche Trennung Shared Code Versionsverwaltung, CI Nachverfolgbarkeit der Code-Änderungen Versionsverwaltung Validierung der Algorithmen (Automatisierte) Unit Tests, Testabdeckung 2010 HMS Analytical Software GmbH 37

Zusammenfassung Herausforderungen Software Entwicklung Reagieren auf Änderungen der Anforderungen Modularisierter Code (Metriken), Regressionstests Überwachen der Qualität der Software und Software-Tests CI, automatisierte Tests, Codemetriken Schnelle Bereitstellung von (beta-)versionen CI Evtl. Integration verschiedener Module (u.u. basierend auf unterschiedlichen Technologien) CI 2010 HMS Analytical Software GmbH 38

Zusammenfassung Herausforderungen Lifecycle-Management Evtl. Verwalten mehrerer Versionen Entwicklungsversion - Erweiterung der Funktionalität Produktionsversion Bugfixes Versionsverwaltung, CI Änderungen und Erweiterungen an bestehendem Code können unabsehbare Folgen haben Regressionstests, Versionsverwaltung Reengineering: Gleichheit von Ergebnissen vorher / nachher muss sichergestellt sein Regressionstests 2010 HMS Analytical Software GmbH 39

Zusammenfassung - Fazit Es gibt die Werkzeuge, um auch unter SAS die bewährten Methoden des Softwareengineering einzusetzen Diese zu etablieren bedarf einer gewissen Anfangsinvestition Sie ist aber vergleichsweise gering und wird sich mittelfristig bezahlt machen 2010 HMS Analytical Software GmbH 40

Links Downloads Subversion: http://subversion.apache.org/packages.html SASUnit: http://sourceforge.net/projects/sasunit/ Doxygen: http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc Hudson: http://hudson-ci.org/ CCTray: http://cctray.software.informer.com/ JCCTray: http://jcctray.sourceforge.net/wiki/main_page Weiterführende Informationen SAS-Programme mit Doxygen automatisch dokumentieren: http://www.redscope.org/artikel/doxygen Einführung Continuous Integration: http://www.martinfowler.com/articles/continuousintegration.html Gegenüberstellung verschiedene CI-Server: http://confluence.public.thoughtworks.org/display/cc/ci+feature+mat rix 2010 HMS Analytical Software GmbH 41

Vielen Dank für Ihre Aufmerksamkeit Johannes Schluchter Dipl. Informatiker Projektleiter HMS Analytical Software GmbH Rohrbacher Str. 26 69115 Heidelberg Telefon +49 6221 6051-0 Johannes.Schluchter@analytical-software.de www.analytical-software.de Dr. Patrick René Warnat Dipl. Informatiker Projektleiter HMS Analytical Software GmbH Rohrbacher Str. 26 69115 Heidelberg Telefon +49 62 21 60 51-0 Patrick.Warnat@analytical-software.de www.analytical-software.de 2010 HMS Analytical Software GmbH 42