Systematische So ?· Web view"Mit dem PC lösen wir die Probleme, die wir ohne nicht hätten." (Unbekannt)…

  • View
    212

  • Download
    0

Embed Size (px)

Transcript

Systematische Softwareentwicklung

Systematische Softwareentwicklung

Systematische Softwareentwicklung

(C)opyright Ralf Brger 2001-2003

"Viele mchten in einem Tag verschlingen,was sie kaum im ganzen Leben verdauen knnen"(Balthasar Gracin)

Inhalt

41Einfhrung

41.1Vorwort

51.2Zielgruppe

61.3Konventionen

71.4Download

81.5nderungen

102Vorgehensweise

102.1Systematik

122.2Modelle

152.3Meine Vorgehensweise

162.4UML

182.5Wozu MS-Project?

203Anforderungen

203.1Funktionale Anforderungen

203.2Technische Anforderungen

213.3Anforderungen fixieren

224Pre-Analyse

224.1Projektmappe

224.2Verantwortung

234.3Name und Hauptziel

234.4Zweck und Tragweite (engl. "Purpose & Scope")

254.5Prosatext

264.6Was also ist die Pre-Analyse?

274.7Geschftsprozesse

284.8Angebote und Vertrge

305Analyse

305.1Analyseaspekte

315.2In/Out-Liste

315.3Protokolle

325.4Interviews

335.5Problemzerlegung

345.5.1Hierarchisierung

345.5.2Modularisierung

345.5.3Strukturierung

355.6Analysemuster (engl. analysis patterns)

355.7Anwendungsflle

375.8Spezifikationsmuster

375.8.1Spezifikationsmuster zur Ablaufsteuerung

415.8.2Spezifikationsmuster zur Inhaltssteuerung

455.8.3Weitere Gedanken

465.9Prototyp

475.10Testflle

475.11Dokumente

485.12Gesamt-Anwendungsfalldiagramm

496Design

496.1Realisierung

496.2Kick-Off-Meeting

506.3Architekturen

506.3.1MVC Paradigma

516.3.2n-tier-Model

546.3.3MDA

546.4Design der Modelle

556.4.1Klassenmodell

556.4.2Datenmodell

596.5Design Patterns

606.6Software Ergonomie

617Implementierung

617.1Implementierungsaspekte

617.2Codierung

627.3Leitung

647.4Iterationen

647.5nderungsanforderungen

668Test

668.1Warum testen?

678.2Testen bis zum jngsten Tag

688.3Weiche Tests

698.4Systematische Tests

738.5Qualitt

749bergang

749.1bergang der Software an den Kunden

7510Wartung

7510.1Wartung

7611Verweise

7611.1HTTP-Links

7711.2Bcher

7912Anlagen

7912.1Htchenspiel

8413Index

1 Einfhrung

1.1 Vorwort

"Ich sage, was ich denke, damit ich hre, was ich wei."(Unbekannt)

Ich habe im Laufe der letzten 20 Jahre schon viele Projekte und viel Software gemacht und sehr viel mit Kunden, Projektmitarbeitern und Kursteilnehmern ber die "richtige" Vorgehensweise bei der Softwareentwicklung diskutiert. Nun fange ich doch tatschlich auch mal damit an, meine Erfahrungen und meine Meinung aufzuschreiben. Es gibt zwar schon so einige Bcher zur Software-Entwicklung, aber die Branche ist noch immer sehr jung und es gibt noch viel Handlungsbedarf zur Weiterentwicklung der Systematik.

Mein persnlicher Schwerpunkt liegt eindeutig bei den ersten Phasen eines Software-Projekts - der Rest ist fr mich nur technische Realisierung, die sich im Laufe der Jahre zunehmend vereinfacht hat und in Zukunft auch recht stark automatisiert werden wird. Wenn erst einmal klar ist, was wie gemacht werden soll, dann ist die Umsetzung kein unberwindbares Problem mehr - daher sind die ersten Projektphasen einfach die wichtigsten.

Ein Mini-Beispiel XE "Beispiel" fr all das, was ich hier schreibe, ist ein kleines Htchenspiel XE "Htchenspiel" , dessen Beschreibung und Code Sie in der Anlage finden.

Momentan ist dieses Dokument noch in groen Teilen eine Stichwortsammlung, aber der Umfang nimmt (fast) tglich zu. Feedback heie ich jederzeit sehr willkommen, also scheuen Sie sich bitte nicht: eMail@RalfBuerger.de

rabu - 23.12.2001

An dieser Stelle einen herzlichen Dank an die Kunden, die mir gestatten, einen Teil unserer gemeinsamen harten Arbeit als Beispiele zu verwenden.

rabu - 21.05.2003

1.2 Zielgruppe

"Mit dem PC lsen wir die Probleme, die wir ohne nicht htten."(Unbekannt)

Wer sollte diese Abhandlung lesen? Nun, momentan tun Sie es! Das ist auf jeden Fall schon einmal gut, denn Sie scheinen sich fr Softwareentwicklung zu interessieren. Welche Aufgabe Sie bei der Softwareentwicklung bernehmen, ist dabei egal, denn ich versuche, den gesamten Entwicklungsprozess abzudecken.

Es ist keinesfalls erforderlich, die gesamte Abhandlung auf einmal zu lesen - oder berhaupt ganz zu lesen -, denn ich bemhe mich, sehr kompakt zu schreiben und mglichst viel fr Sie hinein zu packen. Ich habe halt nicht vor, ein mglichst dickes Buch zu schreiben, damit ich es mglichst teuer verkaufen kann. Lesen Sie einfach mal hinein, nehmen Sie einen Tipp auf, setzen ihn um und schon sind Sie ein Stck weiter gekommen (falls nicht, lassen Sie es mich bitte wissen, damit ich den Tipp ndern kann). Diese Arbeitsweise ist in der Regel effizienter, als 1000 Seiten auf einmal zu lesen oder ins Regal zu stellen. Wenn Sie aber ganz ganz ganz viel lesen mchten, kaufen Sie alles, was Sie an Bchern im Kapitel 11 Verweise finden, lesen das alles durch, setzen es in die Praxis um und schicken mir dann ein paar weitere Tipps ;-)

1.3 Konventionen

"Entweder man lebt, oder man ist konsequent."(Erich Kstner)

Mit "Anwender" meine ich natrlich auch immer "Anwenderin", ich sollte also eigentlich besser immer "AnwenderIn" schreiben. Gleiches gilt natrlich bei Programmierern, Analytikern, Leitern und allen anderen Personengruppen. Dies ist dann aber im weiteren Verlauf lstig, weil es dann auch immer "sie/er" oder "ihr/ihm" heien muss. Es geht mir hier im Wesentlichen darum, gewisse inhaltliche Aussagen zur systematischen Softwareentwicklung herber zu bringen. Daher gestatten Sie mir bitte, dass ich immer nur in einer Form zu formulieren brauche. Da ich es in meinem Job leider fast nur mit Mnnern zu tun habe, fiel meine Entscheidung auch zugunsten der mnnlichen Form. Also "Anwender" - basta!

Wenn etwas wie auf Papier gedruckt, nach Quelltext oder wie an Command-Line eingetippt aussehen soll, sehen Sie diese nichtproportionale Schreibmaschinen-Courier-Schriftart.

Die auf dieser Seite geschilderten Konventionen wende ich konsequent in der gesamten Abhandlung an, aber ich hoffe dennoch, dass ich lebe (s. Spruch oben).

Download

"Free as a bird."(Simon Phipps ber Open Source)

Sie haben diese Abhandlung ber "Systematische Softwareentwicklung" heruntergeladen und vielleicht sogar gedruckt, weil Sie sie lieber mit zum Kunden nehmen mchten, im Garten oder auf dem Klo lesen mchten oder auch einfach nur mit einem Textmarker drin rummalen mchten. Da sich im Ausdruck immer noch eine Serifenschrift besser liest, habe ich das Dokument dafr auf Times New Roman umgestellt. Ferner gibt es wie Sie bereits festgestellt haben in der Download XE "Download" -Version ein Inhaltsverzeichnis mit Seitennummern statt Links und einen kleinen Index. Ich finde das Online-Lesen generell praktischer wegen der Links und der stndigen Aktualitt (ich arbeite an dieser Abhandlung selbst auch Online und bernehme ab und zu die nderungen in die Offline-Dokumente), aber ich akzeptiere es, wenn mich auch heute noch viele IT-ler fragen: "Hast du das auch in einer druckbaren Version?"

Wenn Sie Teile meiner Abhandlung fr Artikel oder Prsentationen oder was auch immer verwenden mchten, knnen Sie das gerne tun. Geben Sie mir bitte kurz per eMail Bescheid - mich interessiert einfach nur, wer was wofr benutzt. Achten Sie bei Zitaten und Verweisen aber bitte ggf. auf die Rechte Dritter.

Ich bin selbst ein groer Befrworter von "Open Source XE "Open Source" ", denn ich wei, dass "Open" (Offen) in Wirklichkeit eher "Free" (Frei) bedeutet, und zwar "Free" wie in "Free as a bird" ("Frei wie ein Vogel"). Sie knnen die Quellen von Programmen vielleicht frei bekommen, aber wenn Sie sich in die Quellen einarbeiten mchten, sie anpassen mchten und in Ihr Unternehmen einfhren mchten und die Daten Ihres Altsystems dahin bernehmen mchten (jedes Unternehmen hat heute bereits fr alle zentralen Funktionen ein Altsystem), dann wird das richtig teuer. Eine Migration ist in aller Regel nicht ohne professionelle Hilfe mglich. Man kann also sehr wohl auch mit all dem Open-Zeug Geld verdienen. Nmlich nicht, indem man auch so was programmiert und zu verkaufen versucht, sondern sich einarbeitet, es untersttzt und den Kunden den Service verkauft.

Momentan erfahre ich das aus erster Hand, weil ich mich bei der OpenOffice.org XE "OpenOffice.org" engagiere. Den Ausspruch oben ("Free as a bird") habe ich denn auch einem Gesprch mit Simon Phipps (Chief Technology Evangelist, Sun Microsystems) auf der Konferenz "Linux on Wall Street" im April 2003 in New York entnommen. Sie sehen daran auch, dass sich auch wirklich namhafte Leute fr die Open Source Bewegung engagieren.

Ich sehe meine Abhandlung ber Systematische Softwareentwicklung denn auch als "Open Resource": Ich stelle sie Ihnen kostenfrei zur Verfgung, aber zum Lesen mssen Sie schon Zeit und damit auch Geld investieren. Zum Verstehen und Anwenden sogar noch viel mehr. Um die gleichen Erfahrungen zu machen, wie ich sie gemacht habe, brauchen Sie vielleicht sogar mehrere Projekte ber mehrere Jahre. Es kann also auch durchaus sein, dass Sie schnell zu dem Schluss kommen, dass Sie trotz der kostenfreien Verfgbarkeit letztendlich viel sparen knnen, wenn Sie mich oder einen anderen unserer Software-Architekten beispielsweise als Trainer, Coach, Designer oder Entwickler beauftragen ;-)

Sie lesen brigens die Download-Fassung von 2003-06-19.

1.4 nderungen

"Bestndig ist nur der Wechsel."(mein Physiklehrer)