earl Steinweg Projektkompass Softwareentwicklung Zielorientiertes Software Development /Jerausgegeben von Stephen Fedtke Die Reihe bietet Programmierern, Projektleitern, DV-Managern und der Geschäftsleitung wegweisendes Fachwissen. Die Autoren dieser Reihe sind ausschließlich erfahrene Spezialisten. Der Leser erhält daher gezieltes Know-how aus erster Hand. Die Zielsetzung umfasst: • Entwicklungs-und Einführungskosten von Software reduzieren • Zukunftsweisende Strategien für die Gestaltung der Datenverarbeitung bereitstellen • Zeit-und Kostenintensive Schulungen verzichtbar werden lassen • effiziente Lösungswege für Probleme in allen Phasen des Software-Life Cycles aufzeigen • durch gezielte Tips und Hinweise Anwendern einen Erfahrungs- und Wissensvorsprung sichern Die Bücher sind praktische Wegweiser von Profis für Profis. Für diejenigen, die heute in die Hand nehmen, was morgen VortejJe bringen wird. Bisher erschienen: Effizienter Einsatz von ADABAS von Dieter W. Storr eies und effiziente D8-Verarbeitung Optimale Zugriffe auf 082, Dl./I und VSAM-Daten von Jürgen Schnell QM-Optimizlng der Softwareentwicklung QM-Handbuch gemäß DIN ISO 9001 und Leitfaden für Best Practices im Unternehmen von Dieter ßurgartz und Thomas Blum Efficient Software Development with DB2 for 05/390 Organizational and Technical Measures for Performance Optimization von Jürgen Glag Projektkompass Softwareentwicklung Geschäftsorientierte Entwicklung von IT-Systemen von Carl Stein weg earl Steinweg Projektkompass Softwareentw·icklung Geschäftsorientierte Entwicklung von IT-Systemen Herausgegeben von Stephen Fedtke 2., überarbeitete Auflage ~ vleweg Die Deutsche Bibliothek - CIP-Einheitsaufnahme Ein Titeldatensatz für diese Publikation ist bei Der Deutschen Bibliothek erhältlich 1. Auflage 1995 2., überarbeitete Auflage 1999 Die 1. Auflage ist unter dem Titel Praxis der Anwendungsentwicklung erschienen. Alle Rechte vorbehalten © Springer Fachmedien Wiesbaden 1999 Ursprünglich erschienen bei Friedr. Vieweg & Sohn Verlagsgesellschaft mbR, BraunschweigfWiesbaden 1999 Softcover reprint of the hardcover 2nd edition 1999 Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgeset zes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfil mungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. http://www.vieweg.de Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Höchste i'nhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Pro duktion und Auslieferung unserer Bücher wollen wir die Umwelt schonen: Dieses Buch ist auf säurefreiem und chlorfrei gebleichtem Papier gedruckt. Die Einschweißfolie besteht aus Polyäthylen und damit aus organischen Grundstoffen, die weder bei der Herstellung noch bei der Verbrennung Schadstoffe freisetzen. Konzeption und Layout des Umschlags: UJrike Weigel, www.CorporateDesignGroup.de Gedruckt auf säurefreiem Papier ISBN 978-3-322-96911-8 ISBN 978-3-322-96910-1 (eBook) DOI 978-3-322-96910-1 Vorwort Die Konstruktion moderner Business-IT-Systeme, die zielgerichtet das jeweilige Geschäft unterstützen sollen, stellt die Softwareentwicklung vor große Herausforderungen. Zentrale Aufgaben liegen hierbei unter ande rem in den folgenden Gebieten: • In der Organisation der IT-Projekte, die komplexe Aufgabenzusam menhänge in bereits existierenden Umgebungen bewältigen müssen. • In der Nutzung moderner Technologien, die sich durch vielfältige, und schnell ändernde Hard- und Softwareplattformen sowie zugehö riger Methoden und Verfahren auszeichnen. • In der Organisationsentwicklung, die bei einer optimalen Umsetzung des IT-Systems die menschlichen Bedürfnisse der zukünftigen Nutzer zu berücksichtigen hat. Eine Anleitung zur Bewältigung dieser Herausforderungen zu geben ist das Anliegen dieses Buches Prqjektkompass Soflwareentwicklung. Es liefert ein ganzheitliches und vor allem durchgängiges Modell für alle Phasen der Anwendungsentwicklung. Das Modell ist in der Praxis erprobt und daher mit Hinweisen für die Umsetzung in der jeweiligen Organisation angereichert. Das vorliegende Buch besitzt eine Dreiteilung: • Die ersten beiden Kapitel vermitteln Zielsetzung und Motivation für das Vorgehensmodell sowie einen inhaltlichen Gesamtüberblick. • Darauf folgt die Darstellung des Kernprozesses der Softwareent wicklung, der aus 6 Phasen besteht, die inhaltlich stark verzahnt sind. Jede Phase ist in einem eigenständigen Kapitel detailliert beschrieben. • Ergänzend gibt es Führungs- und Supportprozesse, die den Kernpro zeß abstützen. Wesentlich sind hier Projekt- und Qualitätsmanage ment sowie V ersions-/Konfigurationsmanagement und Testen. Der Kernprozeß erlaubt die durchgängige Verfolgung von Geschäftsan forderungen über Konzeption, Design, Realisierung und Einführung in den Betrieb. Ermöglicht wird dieses auf der Basis eines UML-basierten objektorientierten Vorgehens, das wiederverwendbare Komponenten nutzt. v Vorwort Alle fachlichen Vorgaben werden über Methoden der klassischen Ge schäftsanalyse abgeleitet. Damit ergibt sich ein Gesamtprozeß der An wendungsentwicklung, der sich am Nutzen für das jeweilige Geschäft orientiert. Wir präsentieren in diesem Buch eine geschlossene, modeme Darstel lung der Prozesse für die Entwicklung von Individualsoftware und hof fen, zur erfolgreichen Gestaltung von IT-Projekten beizutragen. Für Diskussionen, Anregungen und Anfragen steht Ihnen, sehr geehrter Le ser, der Autor gerne zur Verfügung: earl Steinweg Schloß Rheda 33378 Rheda-Wiedenbrück Vt Inhaltsverzeichnis Vorwort ............................................................................................................... v Inhaltsverzeichnis ............................................................................................ vü Abbildungsverzeichnis .................................................................................. xvü Tabellenverzeichnis ........................................................................................ xxi 1 Einleitung ................................................................................................... 1 1.1 Ziele ........................................................................................................ 2 1.2 Inhalt ...................................................................................................... 4 1.2.1 Der Kernprozeß .......................................................................... 4 1.2.2 Der Führungsprozeß .................................................................. 6 1.2.3 Die Supportprozesse .................................................................. 6 1.3 Hinweise für den Leser ....................................................................... 7 1.3.1 Aufbau .......................................................................................... 7 1.3.2 Zielgruppe .................................................................................... 8 1.3.3 Geleit ............................................................................................. 8 2 Übersicht Projektkompass Softwareentwicklung .............................. 11 2.1 Orientierung ........................................................................................ 12 2.2 Die Prozesse ....................................................................................... 13 2.2.1 Der Kernprozeß ........................................................................ 13 2.2.2 Der Führungsprozeß ................................................................ 17 2.2.3 Die Supportprozesse ................................................................ 18 2.2.4 Hinweise ..................................................................................... 20 2.3 Das durchgehende Beispiel: Versandhandel/E-Commerce ....... 20 2.3.1 Situation ...................................................................................... 21 2.3.2 Anforderungen .......................................................................... 21 3 Geschäftsanalyse ..................................................................................... 23 Vtl Inhaltsverzeü'hnis 3.1 Orientierung ........................................................................................ 23 3.1.1 Ziele ............................................................................................. 25 3.1.2 Ablauf ......................................................................................... 25 3.2 Anforderungen des Geschäfts aufnehmen .................................... 26 3.2.1 Geschäftsfelder aufnehmen: Geschäftsfeldanalyse ............. 27 3.2.2 Stärken und Schwächen des Geschäfts fokussieren ............ 30 3.2.3 Geschäftsziele aufnehmen ....................................................... 32 3.2.4 Geschäftsprozesse mit Leistungsmerkmalen festlegen ....... 34 3.3 Anforderungen an die Ablauf- und Aufbauorganisation ............. 40 3.3.1 Geschäftsprozesse strukturieren und optimieren ................ 40 3.3.2 Anforderungen an Führungsprozesse festlegen .................. 43 3.3.3 Anforderungen an Supportprozesse festlegen ..................... 46 3.3.4 Grobe Ablauforganisation beschreiben ................................ 49 3.4 IT-Projekte identifizieren und bewerten ........................................ 50 3.4.1 IT-Projekte identifizieren und priorisieren ........................... 52 3.4.2 IT-Projekte definieren (High Level Requirements) ............. 55 3.4.3 Machbarkeit prüfen .................................................................. 58 3.4.4 Wirtschaftlichkeit darlegen ...................................................... 60 3.5 IT-Strategie ausrichten ...................................................................... 61 3.5.1 IT-Strategie definieren ............................................................. 61 3.5.2 IT-Strategie gestalten ................................................................ 63 4 Konzeption .............................................................................................. 65 4.1 Orientierung ........................................................................................ 65 4.1.1 Ziele ............................................................................................. 66 4.1.2 Voraussetzungen ....................................................................... 66 4.1.3 Ablauf ......................................................................................... 66 4.2 Fachliches Konzept erarbeiten ........................................................ 71 4.2.1 Geschäftsprozesse identifizieren und beschreiben .............. 71 4.2.2 Prozeßketten und elementare Geschäftsprozesse ............... 74 VttZ I nhaltsverzeithnis 4.2.3 Use Cases entwerfen ................................................................ 79 4.2.4 Business- Objektmodell entwerfen ........................................ 88 4.2.5 Anforderungen zusammenstellen ........................................... 92 4.3 IT-Lösung konzipieren ..................................................................... 96 4.3.1 Lösungsalternativen ermitteln ................................................. 96 4.3.2 Lösungsalternativen ermitteln ................................................. 97 4.3.3 Lösungsszenarien entwerfen ................................................... 99 4.3.4 Lösungsszenarien bewerten und entscheiden .................... 100 4.4 Leistungsumfang und Abnahmekriterien festlegen .................... 102 5 Design ..................................................................................................... 103 5.1 Orientierung ...................................................................................... 103 5.1.1 Ziele ........................................................................................... 103 5.1.2 Voraussetzungen ..................................................................... 104 5.1.3 Ablauf ....................................................................................... 106 5.2 Komponentenarchitektur ............................................................... 110 5.2.1 Die 4-Schichtenarchitektur. ................................................... 111 5.2.2 Objektorientierung (Design) ................................................. 113 5.2.3 Komponenten ......................................................................... 118 5.3 Entwurf der Komponentenarchitektur ........................................ 124 5.3.1 Überarbeitung der Use Cases ................................................ 124 5.3.2 Entwurf einer logischen Komponentenarchitektur .......... 125 5.3.3 Abbildung wichtiger Use Cases ............................................ 126 5.3.4 Komplettierung der Architektur ........................................... 13 0 5.4 Entwurf von Komponenten .......................................................... 131 5.4.1 Entwurf eines Klassenmodells einer Komponente ........... 131 5.4.2 Abbildung der Methoden des Interface-Objekts ............... 133 5.4.3 Life Cycles von Objekten ...................................................... 135 5.4.4 User Interface-Design ............................................................ 136 5.4.5 Komplettierung des Klassenmodells ................................... 137 IX Inhaltsverzeichnis 5.4.6 Komplettierung der gesamten Architektur ......................... 138 5.5 Komponentenumsetzung ............................................................... 138 5.5.1 Entwurf der technischen Architektur .................................. 139 5.5.2 Umsetzung der Komponenten ............................................. 140 5.5.3 Dialogdesign ............................................................................ 141 6 Realisierung ............................................................................................ 143 6.1 Orientierung ...................................................................................... 143 6.1.1 Ziele ........................................................................................... 144 6.1.2 Voraussetzungen ..................................................................... 144 6.1.3 Ablauf ....................................................................................... 146 6.1.4 Hinweise ................................................................................... 147 6.2 Planung der Realisierung ................................................................. 148 6.3 Bereitstellung der Infrastruktur ..................................................... 149 6.4 Realisierung der Komponenten ..................................................... 151 6.4.1 Implementierung der Klassen ............................................... 152 6.4.2 Objektorientierte Programmierung ...................................... 152 6.4.3 Objektbasierte Programmierung .......................................... 156 6.4.4 Prozedurale Programmierung ............................................... 158 6.4.5 Test der Einzelkomponenten ............................................... 161 6.5 Integration der Komponenten ....................................................... 162 6.5.1 Basisprozeß der Integration .................................................. 162 6.5.2 Einbindung existierender Systeme und Komponenten .... 164 6.5.3 Bereitstellung in der Integrationsumgebung. ...................... 165 6.5.4 Optimierung der Anwendung ............................................... 167 6.5.5 Test des Gesamtsystems ........................................................ 167 6.5.6 Roll Out-Planung .................................................................... 168 7 Einführung. ............................................................................................ 171 7.1 Orientierung ...................................................................................... 171 7.1.1 Ziele ........................................................................................... 174 x