Hans Brandt-Pook | Rainer Kollmeier Softwareentwicklung kompakt und verständlich Aus dem Programm Softwareentwicklung Grundkurs JAVA von Dietmar Abts Grundkurs Smalltalk – Objektorientierung von Anfang an von Johannes Brauer User Interface-orientierte Softwarearchitektur von Paul Chlebek Software Engineering von Reiner Dumke Grundkurs Programmieren mit Visual Basic von Sabine Kämper Java für IT-Berufe von Wolf-Gert Matthäus Grundkurs Software-Entwicklung mit C++ von Dietrich May Projektmanagement der SW-Entwicklung von Werner Mellis Grundkurs Java-Technologien von Erwin Merker Objektorientierte Systementwicklung von Karl-Heinz Rau Management der Software-Entwicklung von Carl Steinweg www.viewegteubner.de Hans Brandt-Pook | Rainer Kollmeier Softwareentwicklung kompakt und verständlich Wie Softwaresysteme entstehen Mit 53 Abbildungen STUDIUM Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.d-nb.de> abrufbar. Das in diesem Werk enthaltene Programm-Material ist mit keiner Verpflichtung oder Garantie irgend- einer Art verbunden. Der Autor übernimmt infolgedessen keine Verantwortung und wird keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programm-Materials oder Teilen davon entsteht. Höchste inhaltliche und technische Qualität unserer Produkte ist unser Ziel. Bei der Produktion 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 frei- setzen. 1. Auflage 2008 Alle Rechte vorbehalten © Vieweg+Teubner|GWV Fachverlage GmbH, Wiesbaden 2008 Lektorat: Sybille Thelen | Andrea Broßler Vieweg+Teubner ist Teil der Fachverlagsgruppe Springer Science+Business Media. www.viewegteubner.de Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen. 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. Umschlaggestaltung:KünkelLopka Medienentwicklung, Heidelberg Druck und buchbinderische Verarbeitung: MercedesDruck, Berlin Gedruckt auf säurefreiem und chlorfrei gebleichtem Papier. Printed in Germany ISBN 978-3-8348-0365-8 Geleitwort Moderne IT-Dienstleister müssen sich heutzutage zwei wesentlichen Her- ausforderungen stellen, um nicht nur in der Gegenwart zu bestehen, son- dern auch um zukunftsfähig zu bleiben. Zum einen ist die Sicherung der Qualität ihrer Arbeit von wachsender Bedeutung, insbesondere in Hin- blick auf den härter werdenden internationalen Wettbewerb. So ist eine zeitgemäße, kundenorientierte Softwareentwicklung in bester Qualität ohne ein abgestimmtes Vorgehen in Projekten nicht mehr vorstellbar. Ein weiteres wichtiges Thema ist die Förderung und Entwicklung des Nach- wuchses für die IT-Branche. Denn nur wer heute erfolgreich ausbildet, kann auch morgen die Qualität seiner Mitarbeiter sicherstellen, die not- wendig ist, um in Zukunft zu bestehen. Das vorliegende Buch thematisiert diese beiden zentralen Herausforde- rungen gleichermaßen, indem es ein bewährtes Vorgehensmodell für die kundenorientierte Softwareentwicklung darstellt und damit einen wichti- gen Grundstein für einen nachhaltigen Erfolg von Projekten und Produk- ten beschreibt. Dazu richtet es sich an IT-Auszubildende und Studierende ohne IT-Vorkenntnisse und unterstützt so die Förderung des IT- Nachwuchses. Beide Aspekte haben für arvato systems eine besondere Bedeutung. Die Kerninhalte des Buches stehen in der Tradition unserer Arbeit und der Vorgehensmodelle, die seit über zwanzig Jahren bei Bertelsmann entwi- ckelt und gelebt werden. Deshalb sind die hier vorgestellten Vorgehens- weisen vielfach erprobt und praxistauglich. Sie sind aus diesem Grund auch zentraler Bestandteil in der Ausbildung unseres IT-Nachwuchses. Wir wünschen Ihnen nicht nur einen Erkenntnisgewinn, sondern auch viel Spaß beim Erobern der Inhalte des Buches! Gütersloh, im April 2008 Dr. Michael Pesch, CEO arvato systems arvato systems ist eine Tochter der arvato AG, dem Medien- und Kom- munikationsdienstleister der Bertelsmann AG. Mit Lösungen rund um den Einsatz, das Management und die Distribution von Medien setzt der IT- Dienstleister seit 30 Jahren Maßstäbe. Zu den Leistungen zählen neben der Beratung, Entwicklung und Integration auch das Management und der Betrieb von Anwendungen und Systemen – überall auf der Welt. V Vorwort Dies ist ein Buch über Softwareentwicklung. Du kannst lernen, wie ein Softwaresystem entsteht. Im Groben betrachten wir in diesem Lernbuch drei Aspekte der Softwareentwicklung: (cid:120) Den Prozess der Herstellung eines Softwaresystems: In welchen Pha- Um was sen entsteht typischerweise so ein Computerprogramm? Was kenn- geht’s? zeichnet die Phasen und wie hängen sie zusammen? (cid:120) Methoden in der Softwareentwicklung: Welche Hilfsmittel gibt es, die bei der Softwareentwicklung eingesetzt werden können? Was ist die Unified Modeling Language (UML)? (cid:120) Das Projektgeschehen: Was ist ein Projekt? Wie läuft ein Projekt in der Informationstechnologie (IT-Projekt) in der Praxis ab? Welche Aspekte sind bei der Gestaltung zu berücksichtigen? Du siehst sofort: Wenn du dich für die Programmierung im engeren Sinne Um was interessierst (zum Beispiel Programmiersprachen oder -stile), kannst du geht’s nicht? dieses Buch weglegen. Dieses Thema wird in anderen Büchern behandelt. Wir interessieren uns vor allem für die individuelle Softwareentwicklung. Individuelle Das bedeutet: Ein Softwaresystem wird von einer Softwarefirma individu- Softwareent- ell für die Anforderungen eines einzigen Kunden hergestellt. Dies kann wicklung zum Beispiel ein System sein zur Verwaltung von mehreren Campingplät- zen, die eine Firma betreibt. Viele Aspekte in diesem Buch gelten auch für das Gegenstück der individuellen Softwareentwicklung – das ist die Ein- führung einer Standardsoftware. Standardsoftware bedeutet: Ein Anbieter hat IT-Lösungen für Standardaufgaben, die er immer wieder verkaufen Standard- kann. Diese IT-Lösungen müssen lediglich an die Bedürfnisse der Kunden software angepasst werden – manchmal werden stattdessen auch die Abläufe bei den Kunden an die vorgegebenen Abläufe der IT-Lösung angepasst. Ein sehr bekanntes Beispiel für Standardsoftware sind die IT-Lösungen der Firma SAP – diese stellt Programme zur Steuerung von Unternehmen her. Dieses Buch richtet sich an Auszubildende in der IT: FachinformatikerIn- Zielgruppen nen sowie Informatikkauffrauen und -kaufmänner. Es ist außerdem ge- schrieben für Studierende der Wirtschaftsinformatik, Informatik oder Be- VII Vorwort triebswirtschaftslehre, die sich erstmals mit der Entwicklung von Soft- waresystemen befassen. Du brauchst keinerlei IT-spezifische Vorkenntnis- se, um dieses Buch zu verstehen. Themenaus- Das Besondere an diesem Buch ist die Themenauswahl und die Themen- wahl und aufbereitung. Die Vorstellung der oben genannten Themenbereiche (Pro- Sprache zess der Softwareentwicklung, Methoden in der Softwareentwicklung und Projektgeschehen) geben dir das Rüstzeug, um in IT-Projekten sofort los- zulegen. Wir wollen diese Themen sehr lebendig beschreiben und haben dabei stets die Zielgruppen vor Augen. Die Sprache, die wir wählen, soll- test du deshalb nicht als Vorbild für die Erstellung eines wissenschaftli- chen Textes nehmen! Die wissenschaftliche Sprache ist nüchterner und sachlicher! Wie du mit diesem Buch arbeiten kannst Gliederung Das Buch ist wie folgt gegliedert: Im ersten Kapitel gibt es eine Übersicht über den Prozess der Softwareentwicklung. Die einzelnen Phasen werden mit ihren Aufgaben, Zielen und Ergebnissen vorgestellt. Im anschließen- den zweiten Kapitel geht es um Methoden in der Softwareentwicklung. Wir erläutern wichtige Methoden – weil es ungezählt viele gibt, können wir aber bei weitem nicht alle darlegen. Im dritten Kapitel wird das Pro- jektgeschehen beleuchtet. Du kannst lesen, wie ein IT-Projekt erfolgreich abläuft. Zum Schluss liefern wir noch Literatur und einen Index. Dieses Buch gibt dir mehr als reines Lesefutter. Wir Autoren verstehen das Buch vielmehr als Leitfaden und Anregung, sich mit dem Thema Soft- wareentwicklung zu befassen. Deshalb enthält es außer Lerntext und Ab- bildungen noch folgende Elemente: Denksätze Denksätze: Sie fassen Aussagen zusammen. Sie sollen zum (Nach-)Denken anregen. Denksätze sind grau unterlegt. VIII Vorwort Balkone: Wir verfolgen in diesem Buch einen roten Faden (schön zu sehen Balkone in den drei Hauptkapiteln). Aber es gibt wichtige Themen rechts und links des roten Fadens, die wir auch ansprechen möchten. Diese Randthemen sehen wir als Balkone des roten Fadens. Balkone sind umrandet. Du kannst das Buch lesen und verstehen, wenn du die Balkone nicht stu- dierst. Jedoch ist manchmal die Aussicht von einem Balkon ja besonders schön und interessant. Übungen: Am Ende der Abschnitte gibt es Übungsaufgaben und Wieder- Übungen holungsfragen. Du musst noch einige Sprachregelungen in diesem Buch kennen: An der Sprach- Erstellung von Softwaresystemen sind im Wesentlichen zwei Parteien regelungen beteiligt: Diejenige, welche das System in Auftrag gibt und später einset- zen möchte (zum Beispiel die Firma, welche Campingplätze betreibt). Die- se Partei nennen wir von nun an Auftraggeberin. Diejenige, welche das Softwaresystem programmiert, ist in der Regel eine Softwarefirma. Wir nennen sie von nun an Auftragnehmerin. Manchmal verwenden wir statt Auftraggeberin auch das Wort Kunde und für Auftragnehmerin das Wort IT-Dienstleister. Du hast schon bemerkt, dass wir dich als LeserIn direkt ansprechen. So fällt es uns leichter auf wichtige Dinge hinzuweisen. Du hast auch bemerkt, dass wir das „Du“ in der direkten Ansprache bevorzugen. (cid:45) Und noch eine letzte Sprachregelung: Wir werden männliche und weibli- che Formen verwenden. Zum Beispiel sprechen wir von dir als LeserIn. Aber manchmal verzichten wir zur besseren Lesbarkeit darauf. Wer an diesem Buch beteiligt ist Dieses Buch hat zwar nur zwei Autoren, aber viel mehr Beteiligte. Zunächst möchten wir uns als Autoren vorstellen: Hans Brandt-Pook ist Autoren Professor für Informatik/Wirtschaftsinformatik an der Hochschule Ost- westfalen-Lippe. Rainer Kollmeier ist IT-Senior Berater in der arvato sys- tems GmbH, einem Tochterunternehmen der Bertelsmann AG, Ausbil- dungskoordinator und Prüfer in IT-Berufen. Wir haben also beide mit der IT-Ausbildung zu tun. Wir verfolgen dabei einen praxisorientierten An- IX Vorwort satz. Die vorgeschlagenen Ideen und Konzepte in diesem Buch sind des- halb alle in der Praxis bewährt. Übrigens: Wenn in diesem Buch von „wir“ oder „uns“ die Rede ist, dann sind immer die Autoren gemeint. Carl Ein geistiger Vater dieses Buches ist Carl Steinweg. Carl Steinweg ist ein Steinweg Pseudonym für eine Gruppe von Autoren, die das Buch Management der Software-Entwicklung (Steinweg 2005) geschrieben haben. Beide Autoren dieses Buches waren auch an der langen Entstehungsgeschichte des Steinweg-Buchs beteiligt. Das vor dir liegende Buch stützt sich auf wesent- liche Kerngedanken des Steinweg-Buches. Es ist allerdings inhaltlich nicht so weit gespannt, stellt dafür wesentliche Aspekte ausführlicher und auf die Zielgruppe zugeschnitten dar. Außerdem entwickelt sich die Disziplin der Softwareentwicklung immer weiter, und so wurden auch einige Kern- aspekte des Steinweg-Buches neu bedacht. Wir sehen das vorliegende Buch also als Ergänzung zum Steinweg-Buch und empfehlen allen Interes- sierten das Original als Standardwerk. IT-Azubis Dieses Buch ist auch entstanden aus einer internen Schulungsbroschüre, und welche wir Autoren für die IT-Auszubildenden der Bertelsmann AG ver- Studierende fasst haben. Diese Broschüre wurde durch die Anregungen der Auszubil- denden-Jahrgänge stets verbessert – sie sind also auch Beteiligte an diesem Buch. Viele Studierende an der Hochschule Ostwestfalen-Lippe haben – oft ohne es zu wissen – an dem Buch mitgewirkt. Denn ihr Feedback zu der Präsentation der Inhalte dieses Buches in Vorlesungen sowie zu Übungen und Praktika hat uns viele Anregungen gegeben. Zusammen- Für die Zusammenfassungen der Kapitel haben wir Lernende gewinnen fassungen können, die keine IT-ExpertInnen sind. Sie haben das jeweilige Kapitel gelesen und eine Zusammenfassung nach ihrem Verständnis geschrieben. Was noch vorab zu sagen bleibt Wir wünschen uns vor allem, dass das Buch eine Anregung für die Leser- Innen wird. Vor allem deshalb gibt es Denksätze, Balkone und Übungen. Lernen ist ein aktiver Prozess – lesen allein wird da nicht ausreichen. Man muss schon selber (mit-)denken und ausprobieren. Was hier steht, ist unsere Sicht auf die Welt der Softwareentwicklung. Manches formulieren wir bewusst sehr zugespitzt. Andere Autoren sehen die Dinge vielleicht etwas anders. Da lohnt sich jede Diskussion und jedes Studium anderer Quellen! X