Software Engineering II (IB) Wiederverwendung von Software



Ähnliche Dokumente
16.4 Wiederverwendung von COTS-Produkten

Requirements Engineering für IT Systeme


Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

Nachricht der Kundenbetreuung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

5. Business Rules Der Business Rules Ansatz. 5. Business Rules. Grundbegriffe um Umfeld von Business-Rule-Management-Systemen kennen und

Microsoft SharePoint 2013 Designer

Anforderungen an die HIS

Proxyeinstellungen für Agenda-Anwendungen

Java Enterprise Architekturen Willkommen in der Realität

Der Kopf ist rund, damit das Denken die Richtung

SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

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

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

MetaQuotes Empfehlungen zum Gebrauch von

SSI WHITE PAPER Design einer mobilen App in wenigen Stunden

Informationssystemanalyse Problemstellung 2 1. Trotz aller Methoden, Techniken usw. zeigen Untersuchungen sehr negative Ergebnisse:

Übungen zur Softwaretechnik

(1) Mit dem Administrator Modul werden die Datenbank, Gruppen, Benutzer, Projekte und sonstige Aufgaben verwaltet.

Ziel- und Qualitätsorientierung. Fortbildung für die Begutachtung in Verbindung mit dem Gesamtplanverfahren nach 58 SGB XII

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

D a s P r i n z i p V o r s p r u n g. Anleitung. - & SMS-Versand mit SSL (ab CHARLY 8.11 Windows)

HIBC-BARCODE für das Zahntechnikerlabor

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Windows Server 2008 (R2): Anwendungsplattform

Projektmanagementsoftware: Standard vs. Individual

ERP-Evaluation systematisch und sicher zum optimalen ERP-System

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

pro.s.app document status check Bringen Sie mehr Transparenz in Ihre Dokumente

Inside. IT-Informatik. Die besseren IT-Lösungen.

Anleitung zum School Education Gateway

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Fragebogen zur Anforderungsanalyse

Die Lernumgebung des Projekts Informationskompetenz

esearch one-single-point-of-information Federated Search Modul

How-to: Webserver NAT. Securepoint Security System Version 2007nx

GE Capital Equipment Financing. GE Capital Leasing-Tool Schulungsunterlagen

Bundeskanzlei BK Programm GEVER Bund. als Basis für GEVER. 29. November 2012

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

EIDAMO Webshop-Lösung - White Paper

E-Medien Fernzugriff. Externer Zugriff auf die E-Medien der ÄZB (E-Books, E-Journals, Datenbanken)

WARENWIRT- SCHAFT UND ERP BERATUNG Mehr Sicherheit für Ihre Entscheidung

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

SharePoint Demonstration

Einstieg in Exact Online Buchungen erfassen. Stand 05/2014

Installation OMNIKEY 3121 USB

TechNote: Exchange Journaling aktivieren

teischl.com Software Design & Services e.u. office@teischl.com

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

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

Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)

3. Stored Procedures und PL/SQL

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

Fragebogen ISONORM 9241/110-S

Übung - Datensicherung und Wiederherstellung in Windows 7

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Ein Sozialprojekt der Rotary Clubs Paderbon Kaiserpfalz

Mobiles SAP für Entscheider. Permanente Verfügbarkeit der aktuellen Unternehmenskennzahlen durch den mobilen Zugriff auf SAP ERP.

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Datenübernahme von HKO 5.9 zur. Advolux Kanzleisoftware

SafeRun-Modus: Die Sichere Umgebung für die Ausführung von Programmen

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube Konstanz

360 - Der Weg zum gläsernen Unternehmen mit QlikView am Beispiel Einkauf

Kontaktlos bezahlen mit Visa

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

Zusatzmodul Lagerverwaltung

CTI SYSTEMS S.A. CTI SYSTEMS S.A. 12, op der Sang. Fax: +352/ L Lentzweiler. G.D.

ASP Dokumentation Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Übungsklausur vom 7. Dez. 2007

Outsourcing und Offshoring. Comelio und Offshoring/Outsourcing

Englische Werbung im Internet für das Tourismusgewerbe von Thüringen

WELCOME TO SPHERE SECURITY SOLUTIONS

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Workflow Systeme mit der Windows Workflow Foundation

Optimal vorbereitet. Fit fürs Studium mit den Vorbereitungskursen der OHN. Fragen? Jetzt anmelden!

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

Organisation des Qualitätsmanagements

EINE PLATTFORM

SDD System Design Document

Erstellen eines Formulars

Die Post hat eine Umfrage gemacht

Ohne Fehler geht es nicht Doch wie viele Fehler sind erlaubt?

CNAME-Record Verknüpfung einer Subdomain mit einer anderen Subdomain. Ein Alias für einen Domainnamen.

Informationswirtschaft II Rational Unified Process (RUP)

Content Management System mit INTREXX 2002.

Karriere in der IT und Informatik: Voraussetzungen für den Arbeitsplatz der Zukunft

Informationswirtschaft II

TALENT IM ZEITALTER DES LERNENS. Die überzeugende Antwort auf die Krise des Lernens

Software-Validierung im Testsystem

Teil 1: IT- und Medientechnik

Leistungsstarke Enterprise Apps. Für Menschen erdacht. Für Veränderungen entwickelt.

Gesicherte Prozeduren

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Transkript:

Wiederverwendung von Software Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München SS 2015 Wiederverwendung von Software Strategie bei der Entwicklung auf bereits vorhandene Software zurück zu greifen bereits vor mehr als 40 Jahren als Entwicklungsstrategie vorgeschlagen erst seit 2000 zur Norm für neue Unternehmenssysteme geworden: Entwicklung mit Wiederverwendung Reaktion auf die Forderung nach geringeren Produktions- und Wartungskosten schnellerer Auslieferung erhöhter Softwarequalität immer mehr Unternehmen sehen ihre Software als wertvollen Aktivposten Verfügbarkeit wiederverwendbarer Software hat drastisch zugenommen insbesondere auf Grund der Open-Source-Bewegung gibt es eine riesige wiederverwendbare Codebasis Code liegt in Form von Bibliotheken oder ganzen Anwendungen vor viele fachbereichsspezifische Systeme, die angepasst werden können 1

auch große Softwarehäuser bieten wiederverwendbare Komponenten dank Standards, wie z.b. Webservices, können leicht allgemeine Dienste entwickelt und zur Verfügung gestellt werden Wiederverwendbare Einheiten die wiederverwendbaren Softwareeinheiten fallen von der Größe her sehr unterschiedlich aus Wiederverwendung von Anwendungssystemen ein ganzes Anwendungssystem wird unverändert oder angepasst verwendet es gibt auch sog. Anwendungsfamilien, die eine gemeinsame Architektur aufweisen, aber an die Bedürfnisse einzelner Kunden angepasst werden können Wiederverwendung von Komponenten Größe von Subsystem bis zum einzelnen Objekt Wiederverwendung von Objekten und Funktionen seit 40 Jahren in Form von Standardbibliotheken üblich ergänzende Form: Wiederverwendung von Konzepten z.b. Patterns, konfigurierbare Systemprodukte oder Programmgeneratoren Vorteile der Wiederverwendung Höhere Zuverlässigkeit Komponenten sind schon in der Praxis getestet Schwachstellen im Entwurf und in der Implementierung sollten weitestgehend aufgespürt und beseitigt sein geringes Risiko Kosten sind bekannt effektiver Einsatz von Spezialisten Anwendungsspezialisten für die Komponenten Übereinstimmung mit Standards Standardlösungen, wie z.b. Benutzeroberflächen beschleunigte Entwicklung frühestmögliche Markteinführung 2015 Oliver Braun 2

Probleme höhere Wartungskosten ist Quellcode nicht verfügbar, erhöhen sich möglicherweise die Wartungskosten Mangel an Werkzeugunterstützung einige Entwicklungswerkzeuge unterstützen die Entwicklung mit Wiederverwendung nicht Nicht-hier-erfunden -Syndrom (Not-invented-here Syndrom) einige Softwareentwickler ziehen es vor, Komponenten umzuschreiben Vertrauen anderen nicht und sehen das Schreiben neuer Software als größere Herausforderung Aufbau Wartung und Verwendung einer Komponentenbibliothek selbst eine wiederverwendbare Bibliothek zu implementieren ist mitunter sehr anspruchsvoll Suchen, Verstehen und Anpassen wiederverwendbarer Komponenten Die Wiederverwendungslandschaft Architekturmuster Entwurfsmuster komponentenbasierte Entwicklung Anwendungsframeworks Umhüllen von Altsystemen serviceorientierte Systeme Softwareproduktlinien Wiederverwendung von COTS-Produkten ERP-Systeme konfigurierbare vertikale Anwendungen (generische Systeme) Programmbibliotheken modellgetriebene Entwicklung Programmgeneratoren aspektorientierte Softwareentwicklung 2015 Oliver Braun 3

Schlüsselfaktoren bei der Planung der Wiederverwendung Entwicklungszeitplan für die Software voraussichtliche Lebensdauer der Software bei langer Lebensdauer, Hauptaugenmerk auf Wartung Fähigkeiten, Hintergrund und Erfahrung des Entwicklerteams Wichtigkeit der Software und ihrer nichtfunktionalen Anforderungen wenn Software zertifiziert werden muss, kann es problematisch werden, wenn der Quellcode nicht vorhanden ist Anwendungsbereich Plattform auf der das System ausgeführt werden soll Anwendungsframeworks mögliche Definition ein integrierter Satz an Softwareartefakten (wie Klassen, Objekte und Komponenten), die zusammenwirken, um eine wiederverwendbare Architektur für eine Familie von verwandten Anwendungen bereitzustellen. mögliche Klassen 1. Frameworks für die Systeminfrastruktur 2. Frameworks zur Integration von Middleware z.b..net oder EJB 3. Frameworks für Unternehmensanwendungen Beispiel Webframework Webframeworks bieten i.d.r. folgende Funktionen Sicherheit (Authentifizierung, Zugriffssteuerung) dynamische Webseiten Datenbankunterstützung Sitzungsverwaltung Benutzerinteraktion 2015 Oliver Braun 4

Softwareproduktlinien eine der effektivsten Ansätze zur Wiederverwendung Satz von Anwendungen mit gemeinsam genutzter Architektur gemeinsam genutzten Komponenten jede Anwendung ist einem speziellen Problem gewidmet das Kernsystem ist so entworfen, dass es an die Bedürfnisse verschiedener Kunden angepasst werden kann Anwendungsframeworks vs. Softwareproduktlinien Anwendungsframeworks bleiben unverändert und werden nur genutzt eher technische Unterstützung softwareorientiert, selten Unterstützung für Hardwareschnittstellen Softwareproduktlinien Komponenten werden angepasst und verändert Domänen- und Plattforminformationen oft Steuerungsanwendungen für Geräte Familie verwandter Anwendungen, im Besitz eines Unternehmens Arten der Spezialisierung eine Softwareproduktlinien Plattformspezialisierung z.b. Windows, Mac, Unix/Linux Umgebungsspezialisierung für verschiedene Betriebsumgebungen oder Peripheriegeräte Funktionale Spezialisierung z.b. Bibliothekssystem für öffentliche Bibliothek, Universitätsbibliothek, Handbibliothek Prozessspezialisierung an verschiedene Geschäftsprozesse angepasst 2015 Oliver Braun 5

Entwicklung von Produktinstanzen Anforderungen der Beteiligten ermitteln System auswählen, das den Anforderungen am Ehesten entspricht evtl. Anforderungen neu verhandeln vorhandenes System anpassen neues Familienmitglied übergeben Entwicklung Kompromiss zwischen maximaler Wiederverwendung und Erfüllung der genauen Anforderungen je detailierter die Anforderungen sind, umso unwahrscheinlicher, dass die vorhandenen Komponenten sie erfüllen Softwareproduktlinien berücksichtigen bereits im Entwurf die Rekonfiguration Komponenten hinzufügen oder entfernen Parameter und Einschränkungen definieren Kenntnisse über Geschäftsprozesse einzubeziehen auf verschiedenen Stufen des Entwicklungsprozesses Konfiguration zur Entwurfszeit * durch Softwarefirma für Kunden Konfiguration zum Bereitstellungszeitpunkt * durch Kunde selbst oder Berater Konfiguration zum Bereitstellungszeitpunkt Komponentenauswahl Module, die die erforderliche Funktionalität bieten Ablauf- und Regeldefinition Verarbeitung der Daten Validierungsregeln Parameterdefinition Werte spezieller Systemparameter spezifizieren 2015 Oliver Braun 6

Wiederverwendung von COTS-Produkten COTS-Produkte (Commercial-Off-The-Shelf ) im Handel erhältliche Produkte die ohne Änderungen am Quellcode an die Bedürfnisse verschiedener Kunden angepasst werden können praktisch alle Desktop-Programme und viele Server-Programme für die Anpassung sind Konfigurationsmechanismen integriert 2 Arten (Details später) COTS-Lösungen COTS-Integration Vorteile bei COTS-Wiederverwendung viel schnellere Bereitstellung Funktionalität bereits bekannt, andere Unternehmen haben bereits Erfahrungen Unternehmen können sich auf Kerngeschäft konzentrieren Technologieupdates i.d.r. einfacher Probleme bei COTS-Wiederverwendung Anforderungen müssen an Funktionalität und Betriebsweise des COTS-Produktes angepasst werden evtl. Änderungen der Geschäftsprozesse notwendig COTS-Produkt basiert meist auf Annahmen, die praktisch nicht zu ändern sind Kunde muss die Annahmen erfüllen Auswahl kann sehr schwierig sein, COTS-Produkte meist nur unzureichend dokumentiert fachliches Wissen vor Ort fehlt Anbieter des COTS-Produktes kann konkurs gehen, von anderem Unternehmen übernommen, Änderungen vornehmen, die für den Kunden mit Schwierigkeiten verbunden sind, 2015 Oliver Braun 7

COTS-Lösungen generische Anwendungssystem, unterstützen Geschäftstyp, Geschäftsaktivität oder komplettes Geschäftsunternehmen z.b. COTS-Lösung für Zahnarzt mit Terminplanung, Patientendatenverwaltung, Abrechnung, typischer Vertreter: ERP-System (enterprise ressource planning) Generisches ERP-System Module zur Unterstützunhg verschiedener Geschäftsfunktionen definierter Satz von Geschäftprozessen zu jedem Modul gemeinsame Datenbank Satz von Geschäftsregeln, die für alle Daten gelten Konfiguration eines ERP-Systems oder anderem fachspezifischen COTS-Produkt Wahl der erforderlichen Funktionalität (z.b. Wahl der Module) Erstellung eines Datenmodells Definition von Geschäftsregeln Definition der erwarteten Interaktionen mit externen Systemen Entwurf der Eingabeformulare und Ausgabeberichte Entwurf neuer Geschäftsprozesse, die dem zugrunde liegenden Prozessmodell entsprechen, das vom System unterstützt wird setzen von Parametern für die genutzte Plattform COTS-Integration Anwendungen aus zwei oder mehreren COTS-Produkten, z.t. auch aus Altsystemen COTS-Produkte können über APIs oder Serviceschnittstellen miteinander kommunizieren (falls diese definiert sind) 2015 Oliver Braun 8

alternativ können auch Ausgaben mit Eingaben verknüpft werden oder eine gemeinsame Datenbank genutzt werden Entwurfsentscheidungen Welche COTS-Produkte eigenen sich von der Funktionalität her am besten? Wie werden die Daten ausgetauscht? Welche Funktionen eines Produktes werden tatsächlich verwendet? Probleme der Integration von COTS-Systemen Mangel an Kontrolle über Funktionalität und Leistung Probleme mit der Interoperabilität von COTS-Systemen keine Kontrolle über die Evolution des Systems schlechte Unterstützung durch die Anbieter von COTS-Systemen 2015 Oliver Braun 9