Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf ·...

17
Softwaretechnik im Überblick © 2005 M. Winter SP2 WI-3 im WS05/06 1 Prof. Dr. Mario Winter FH Köln SP2 Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung WS 05/06 Kapitel 1: Softwaretechnik im Überblick Folie 2 Prof. Dr. Mario Winter, FH Köln SP2 Softwaretechnik im Überblick Lernziele: Nach dieser Vorlesung sollten Sie ... Die Merkmale großer Softwaresysteme kennen und einen Eindruck von den Problemen bei der Entwicklung großer Softwaresysteme haben Die Gebiete der Softwaretechnik aufzählen und miteinander in Bezug setzen können Softwareentwicklung als Teilgebiet der Softwaretechnik verstehen Die Vorgehensweise und grundsätzliche Aktivitäten bei der Entwicklung großer Software aufzählen und miteinander in Bezug setzen können Einen Eindruck von verfügbaren Werkzeugen für die Softwareentwiicklung haben

Transcript of Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf ·...

Page 1: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 1

Prof. Dr. Mario Winter FH KölnSP2

Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte SoftwareentwicklungWS 05/06

Kapitel 1: Softwaretechnik im Überblick

Folie 2 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Lernziele: Nach dieser Vorlesung sollten Sie ...

• Die Merkmale großer Softwaresysteme kennen und einen Eindruck von den Problemen bei der Entwicklung großer Softwaresysteme haben

• Die Gebiete der Softwaretechnik aufzählen und miteinander in Bezug setzen können

• Softwareentwicklung als Teilgebiet der Softwaretechnik verstehen• Die Vorgehensweise und grundsätzliche Aktivitäten bei der Entwicklung

großer Software aufzählen und miteinander in Bezug setzen können• Einen Eindruck von verfügbaren Werkzeugen für die Softwareentwiicklung

haben

Page 2: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 2

Folie 3 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Überblick

• Softwareentwicklung heute• Was ist Softwaretechnik• Vorgehensweise und Aktivitäten• Werkzeuge

Folie 4 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Risiko “Software-Projekt“

• Softwareentwicklung ist ein risikoreiches Geschäft – hohe Misserfolgsquote• Standish CHAOS-Report 1995 (USA)

– 369 Firmen und 8380 Projekte– Durchschnittliche Projektkosten

In Großbetrieben 2.322.000 DollarIn Mittelbetrieben 1.331.000 DollarIn Kleinbetrieben 434.000 Dollar

– 31% noch vor der Fertigstellung aufgegeben– Jedes zweite Projekt überschritt sein Budget um mehr als 100% – Jedes dritte Projekt konnte seine ursprünglich gesetzten Ziele nie erreichen

• Nur 36% der Projekte wurden „In-Time“ und „In-Budget“ abgeschlossen!!• Durchschnittliche „Erfolgswahrscheinlichkeit“

– Große Projekte (> 20 Personen) nur ca. 42%– Mittlere Projekte (5 bis 20 Personen) bei 65% – Projekte mit weniger als 5 Beteiligten 74%

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 3: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 3

Folie 5 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Einige Beispiele

• Gepäckverteilungssystem des Flughafen Denver; über Jahre nicht fertiggestellt; während dieser Zeit täglicher (!) Verlust von 1,1 Millionen US-Dollar

• Taurus-Projekt der Londoner Börse(elektronische Wertpapierverwaltung); begonnen 1980, 12 Jahre später abgebrochen; 13 mal mehr gekostet als ursprünglich geplant; Gesamtverlust ca. 800 Millionen Pfund

• Londoner Ambulance Service Projekt (Einsatzleitung der Krankenwagen im Großraum London); Entwicklung ab 1987, geplant für drei Jahre, Budget 2,5 Millionen Pfund, 1990 nach zwei katastrophalen Fehlversuchen aufgegeben, Verlust 7,5 Millionen Pfund; Zweiter Versuch 1991 gestartet (Anforderungen reduziert, neue Entwicklungstechnologie eingesetzt) und Ende 1992 ausgeliefert; nach mehreren Systemzusammenbrüchen, in deren Folge 46 Menschen starben, auch aufgegeben

• FISCUS-Gemeinschaftsprojekt von Bund und Ländern (außer Bayern) zur Entwicklung einheitlicher Software für die Steuerverwaltungen der Länder; Beginn 1991; Ende 2001 nach über 6-jähriger Programmiertätigkeit noch keine verwertbaren Ergebnisse; Projektstop und Gründung der fiscus GmbH; Ende 2005 u.A. die elektronischen Elster-Steuerformulare

• Toll Collect –September 2003 bis Januar 2005 pro Monat ca. 163 Millionen Euro Einnahmeverlust

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 6 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Was ist ein Software-Projekt?

• Eine Entwicklungstätigkeit (auch Beschaffungs- und Anpassungstätigkeit)– die klar definiert und abgegrenzt ist,– die einmalig ist und sich in dieser Form nicht mehr wiederholt,– die lösbar sein muss,– die sich zeitlich abgrenzen lässt (Anfangs- und Endtermin),– deren Kosten sich berechnen oder abschätzen lassen,– die sich aufgrund ihrer Komplexität nicht durch bereits vorhandene

Betriebsinstanzen lösen lässt.• Softwareentwicklung: oft für jedes Projekt eine neue „Firma“

– Aufbauorganisation (Rollen und Darsteller)– Ablauforganisation (Drehbuch / Vorgehensplan)

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 4: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 4

Folie 7 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Arten von Software-Projekten

• Individualentwicklung von DV-Anwendungssystemen– meist auf der Basis anderer Systeme (Middleware, DBMS, BS, …)

• Einsatz von Standard-Anwendungsprogrammen– hier fallen i. allg. Anpassungen und Integrationsarbeiten an– Beispiele: SAP R/3, BAAN IV, …

• DV-Projekte zur Geschäftsprozessoptimierung– Basis: eine eingehende Analyse der Geschäftsprozesse– In der Folge: Systementwicklungen; z.B. Workflow-orientiert

• Restrukturierung von Software– Überarbeitung vorhandener Programme– Anpassung an: Y2K, Euro, Client/Server-Umgebung, …

• Die Grenzen sind allerdings fließend ...

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 8 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Große Software

• Ist komplex – Verknüpft mehrere verknüpfte Realitätsbereiche mit ihrem Fachwissen und

ihrer Fachsprache– Realisiert komplizierte strukturierte und miteinander interagierende

Anwendungsfälle– Arbeitet über einen längeren Zeitraum und meistens als verteiltes System

• Besteht aus umfangreichen formalisierten Artefakten – In grafischer Notation oder textuell formatiert– z. B. Spezifikationen, Programme und unterschiedliche Formen von

Dokumentation• Hat eine lange Lebensdauer

– Oft länger als 10 Jahre im Einsatz– Kontinuierliche Anpassung an sich ändernde Anforderungen (neue

Benutzerwünsche, erweiterte Funktionalität, andere Plattformen)– Bildung von Versionen und Konfigurationen

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 5: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 5

Folie 9 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Arten von großer Software

• Anwendungssysteme (Anwendungen, Applikationsprogramme) sind Softwareprodukte, die in einem bestimmten Anwendungsbereich eingesetzt werden; sie unterstützen Arbeitsprozesse (Auftragsbearbeitung, Lagerhaltung) oder steuern technische Prozesse (Flugüberwachung,Kraftwerksteuerung)

• Individualsoftware – Für einen speziellen Auftraggeber in einem bestimmten Anwendungsbereich

erstellt – Z. B. Steuerungssoftware für eine Fertigungsstraße oder Website bzw. Portal

einer Firma• Standardsoftware

– deckt bestimmten Anwendungsbereich ab, kann durch Konfiguration an die unterschiedlichen Bedürfnisse verschiedener Anwender angepasst werden

– Z. B. Finanzbuchhaltungs- und Materialwirtschaftssysteme, Branchenlösungen für Handwerksbetriebe und Office-Programme für Textverarbeitung und Tabellenkalkulation

• Systemsoftware fällt nicht unter den Begriff Anwendungssystem, da sie sich keinem bestimmten Anwendungsbereich zuordnen lässt– z. B. Betriebssysteme und Compiler

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 10 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Wo sind wir?

• Softwareentwicklung heute• Was ist Softwaretechnik• Vorgehensweise und Aktivitäten• Werkzeuge

Page 6: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 6

Folie 11 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Softwaretechnik (Software Engineering)

• Software Engineering [IEEE Std. 612-12 1990]– The application of a systematic, disciplined, quantifiable approach to the

development, operation, and maintenance of software; that is, the applicationof engineering to software. (2) The study of approaches as in (1).

• Bereitstellung von Methoden, Techniken und Werkzeugen zur Produktion– Großer Software hoher Qualität– Kostengünstig innerhalb eines festen Budgetrahmens– Zum geplanten Zeitpunkt

⇒ Zentrales Anliegen: Beherrschung der Komplexität

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 12 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Teilgebiete der Softwaretechnik

• Entwicklung (Development)– Anforderungsermittlung (Requirements Engineering)– Entwurf (Design)– Implementation (Implementation, Programming, Construction)

• Qualitätssicherung (Quality Assurance)– Inspizieren (Inspection, Review)– Testen (Testing)

• Projektmanagement (Project Management)– Planung und Organisation (Planning, Organization)– Mitarbeiterführung (Leadership)– Überwachung und Steuerung (Controlling)

• Qualitätsmanagement (Quality Management)• Konfigurationsmanagement (Configuration Management)

– Versionierung (Version)– Konfigurationsbildung (Build)

• Methoden- und Werkzeuge• Wartung (Maintenance)

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 7: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 7

Folie 13 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Software-Qualität

• Qualität ist, wenn der Kunde zurückkommt und nicht das Produkt

• Qualität ist die Gesamtheit der Eigenschaften oder Merkmale, welche ein Produkt (die Software) in Verwendung und (Weiter-)Entwicklung aufweist, um die gegebenen Anforderungen zu erfüllen (DIN 55350)

• Produktqualität – Zielt auf die Qualität der Software “an sich“; betrachtet die Software als Menge

aller Entwicklungsprodukte wie z. B. Quellcode, ausführbarer Binärcode und zugehörige Dokumente unabhängig von einem bestimmten Einsatzkontext

– Wird vornehmlich anhand innerer Qualitätsmerkmale charakterisiert (z.B. Korrektheit der Software bez. ihrer Spezifikation sowie Verständlichkeit, Änderbarkeit und Wiederverwendbarkeit)

• Gebrauchsqualität – Bezieht sich auf die Fähigkeit der Software, die an sie (explizit oder implizit)

gestellten Anforderungen in ihrem jeweiligen Einsatzkontext zu erfüllen– Wird vornehmlich mittels äußerer Qualitätsmerkmale bestimmt (z. B.

Korrektheit bez. des realen Einsatzkontexts, Zuverlässigkeit, Effizienz, Aufgabenangemessenheit, Erwartungskonformität und Fehlerrobustheit)

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 14 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

RichtigkeitAngemessenheitInteroperabilität

(Daten-)Sicherheit Ordnungs-mäßigkeit

ReifeFehlertoleranz

Wiederher-stellbarkeit

VerständlichkeitErlernbarkeitBedienbarkeit

Attraktivität

ZeitverhaltenVerbrauchs-

verhalten

AnalysierbarkeitModifizierbarkeit

StabilitätTestbarkeit

AnpassbarkeitInstallierbarkeit

KonformitätAustausch-

barkeit

Software-Qualität nach DIN/ISO 9126Software-Qualität

Funktionalität Zuverlässigkeit Benutzbarkeit Effizienz Änderbarkeit Portierbarkeit

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 8: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 8

Folie 15 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Wo sind wir?

• Softwareentwicklung heute• Was ist Softwaretechnik• Vorgehensweisen der Softwareentwicklung• Werkzeuge

Folie 16 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Softwareentwicklung: Die Praxis ...

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 9: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 9

Folie 17 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Es war einmal ... das Wasserfallmodell

Analyseund

Definition

Analyseund

Definition

EntwurfEntwurf

Implemen-tation

Implemen-tation

TestTest

Einsatzund

Wartung

Einsatzund

Wartung

Wer?Wann?Was?

Wer?Wann?Was?

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 18 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Elemente von Entwicklungsprozessen

Wer RolleRolle

Was AktivitätAktivität

Wann PhasePhase

Wie TechnikTechnik

Womit ArtefaktArtefakt

Warum ZielZiel

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 10: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 10

Folie 19 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Methodische Softwareentwicklung

Kernaktivitäten

Iterationen

Unterstützende Aktivitäten

ProjektmanagementInfrastruktur

Projektinitiierung

Implementation

Qualitätssicherung

Analyse & Entwurf

Vorläufige Iterationen

Iter.#1

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Auslieferung und Wartung

Konfigurationsverwaltung

Anforderungsermittlung

Ausarbeitung BetriebPlanung Konstruktion

Phasen

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 20 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Aktivitäten der Softwareentwicklung

• Projektinitiierung • Anforderungsermittlung• Analyse und Architekturentwurf• Grobentwurf• Feinentwurf• Implementation• Integration• Querschnittsthema: Qualitätssicherung• Auslieferung und Wartung

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 11: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 11

Folie 21 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Projektinitiierung

• Ziele setzen– Bedarfsfeststellung– Machbarkeitsanalyse

• Strategien und Taktiken entwickeln– Termine festlegen– Kosten schätzen– Entscheidungen treffen– Vorgehensweisen auswählen und Regeln festlegen– Zukünftige Situationen vorhersehen

• Budgets vorbereiten• Aufbau- und Ablaufplanung• Personalentwicklung planen

– Mitarbeiter beurteilen, Positionen besetzen– Neues Personal einstellen und integrieren– Aus- und Weiterbildung von Mitarbeitern

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 22 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Anforderungsermittlung

• Ziel: Vollständige, korrekte, verständliche undverfolgbare Anforderungsspezifikation

– Verständlich für alle Parteien gefordert!– Sprache der Benutzer– Fachlich und formal konsistent, vollständig und korrekt– Verfolgbar zu den Quellen und zur Implementierung

• Tätigkeiten – Extraktion der wesentlichen Konzepte des Problembereichs– Konkretisieren und Aushandeln der Anforderungen– Realisierungsunabhängige Spezifikation der Anforderungen– Validierung: „Bauen wir das richtige System?“

• Präzise Beschreibung „Was“ zu leisten ist, nicht „Wie“!– Funktionale Anforderungen– Qualitäts- und Realisierungsanforderungen

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 12: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 12

Folie 23 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Analyse und Architekturentwurf

• Analyse: Konsolidierung der Anforderungsspezifikation– Von der Sprache der Anwender zur Sprache der Entwickler– Umsetzung der textuellen Anteile der funktionalen Anforderungen in Modelle– Präzision gefordert!– Verifikation: „Bauen wir das System richtig“

• Architekturentwurf– Zentrale Realisierungsentscheidungen– Berücksichtigt Qualitäts- und Realisierungsanforderungen– Zerlegung in abgeschlossene, klar abgegrenzte Teilbereiche und Komponenten, deren

Gesamtheit und Zusammenspiel das Gesamtprodukt ausmachen– Ziel: Komplexitätsbeherrschung und Arbeitsteilung in der Realisierung

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 24 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Grobentwurf

• Abbildung der Analyseklassen auf die vorgegebene Architektur• So weit wie möglich unabhängig von der Implementationssprache und von

Rahmenwerken z.B für die Benutzungsschnittstelle oder die persistenteSpeicherung

• Gewährleistung aller funktionaler Anforderungen und der nichtfunktionalen Anforderungen (Qualitätsanforderungen und technische Vorgaben)

• Größtmögliche Stabilität der Zerlegung durch Einbeziehung aller hierfür relevanten Anforderungen

• Berücksichtigung der Regeln eines guten Entwurfs• Festlegung der Teilsystem- und Komponenten-Schnittstellen

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 13: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 13

Folie 25 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Feinentwurf

• Technische Verfeinerung der Grobentwurfs– Einbeziehung der Implementationssprache und Rahmenwerke für die

Benutzungsschnittstelle oder die persistente Speicherung– Realisierung der Benutzungsschnittstelle sowie der Schnittstellen zu externen

Systemen• Entwurfstechnische Komplettierung der Teilsysteme und Komponenten• Realisierungsentscheidungen bezüglich komplizierter Datenstrukturen oder

Algorithmen

Ziel: Implementation in der vorgegebenen technischen Umgebungermöglichen

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 26 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Implementation

• Realisierung der „Interna“• Nur noch lokale Entscheidungen• In Einzelarbeit möglich• Ziel: Lauffähiges Anwendungssystem

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

class Adresse {public void verbinde(einInhaber: Firma){

// pre: (inhaber == null) AND (einInhaber != null) AND (einInhaber.gibFirmensitz() ∈ {null, this})

inhaber = einInhaber;if (inhaber.gibFirmensitz() != this) {

// inhaber.gibFirmensitz() ist nullinhaber.verbinde (this);

}// post:(inhaber == einInhaber) AND // (inhaber.gibFirmensitz() == this)

}...

}

class Adresse {public void verbinde(einInhaber: Firma){

// pre: (inhaber == null) AND (einInhaber != null) AND (einInhaber.gibFirmensitz() ∈ {null, this})

inhaber = einInhaber;if (inhaber.gibFirmensitz() != this) {

// inhaber.gibFirmensitz() ist nullinhaber.verbinde (this);

}// post:(inhaber == einInhaber) AND // (inhaber.gibFirmensitz() == this)

}...

}

Page 14: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 14

Folie 27 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Integration

• Zusammenmontieren der Module• Strategien

– Big Bang– Bottom-Up– Top-Down– Inside-Out– Outside-In– ...

• Die Integrationsreihenfolge bestimmt die Entwicklungsreihenfolge!!!

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Folie 28 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Qualitätssicherung und Testen

• Validierung: „Bauen wir das richtige System?“– Mit dem Anwender!

• Verifikation: „Bauen wir das System richtig“?– Ohne Anwender

• Testen– Statische Tests– Dynamische Tests

• Qualitätssicherung ist Querschnittsfunktion!

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 15: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 15

Folie 29 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Allgemeines V-Modell • Produktorientiert• Phase ≠ Rolle ≠ Aktivität• Iterativ - inkrementell

• Produktorientiert• Phase ≠ Rolle ≠ Aktivität• Iterativ - inkrementell

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Test-stufen

Testfälle basieren auf Arbeitsergebnissen

Test Planning

TestSpecification

TestExecution

ResultRecording

CompletionChecking

Start

End

Anforderungs-ermittlung

Konstruktion

Software-Spezifikation

Architektur

Entwurf

Kodierung

Entwicklertest

Integrations-test

Systemtest

Abnahme-test

Valid

ierun

g&

Verif

ikatio

n

Folie 30 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Auslieferung (DIN/ISO 9126)

FehlerStatistik

TestdeckungsStatistik

AbnahmeKriterien

QSBerichte

Entscheidung AbnahmeTest Entscheidung Produktion

Executables

ProduktDoku

Weiter Testen

OffeneProbleme

Rückweisen Rückweisen

AusliefernProduktManager

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 16: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 16

Folie 31 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Wo sind wir?

• Softwareentwicklung heute• Was ist Softwaretechnik• Vorgehensweise und Aktivitäten• Werkzeuge

Folie 32 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Werkzeuge

• CASE, Computer Aided Software Design– Modellierung– Generierung– Z.B. Rational Rose, Borland Together/J, Aonix STP, Gentleware Poseidon

• IDE, Integrated Development Environment– Implementierung– GUI-Builder– Z.B. jBuilder, Eclipse, ...

• Versionierungssysteme– Z.B. CVS, MS SourceSafe, Rational ClearCase

• Editoren, Compiler, ...• SDE, Software Development Environment

– Integriert die obenstehenden Systeme, basiert auf gemeinsamen Repository– Z.B. (IBM) Eclipse, SUN Netbeans

Softwareentwicklung heuteWas ist Softwaretechnik

Vorgehensweise und AktivitätenWerkzeuge

Page 17: Softwareentwicklung und Projektmanagement Teil 2 ...winter/sp2-wi3/ws0506/SP2WI3F01.pdf · Softwareentwicklung und Projektmanagement Teil 2: Objektorientierte Softwareentwicklung

Softwaretechnik im Überblick © 2005 M. Winter

SP2 WI-3 im WS05/06 17

Folie 33 Prof. Dr. Mario Winter, FH KölnSP2 Softwaretechnik im Überblick

Zusammenfassung

• Softwareentwicklung heute• Was ist Softwaretechnik• Vorgehensweise und Aktivitäten• Werkzeuge