40
2-203 Informationsmanagement, WS 2007/08 2.4 2.4 Grundlagen Grundlagen des des Software- Software- Managements Managements 2.3.1 2.3.1 Idee Idee und und Aufgaben Aufgaben des Software- des Software- Managements Managements 2.3.2 2.3.2 Vorgehensmodelle Vorgehensmodelle und und Phasen Phasen des Software- des Software- Lebenszyklus Lebenszyklus 2.3.3 2.3.3 Phasen Phasen des Software-Managements des Software-Managements

2.4 Grundlagen des Software- Managements · Vergleich Fortschritt: Hardware vs. Software • Hardware wird seit 1950 in den Kerngrößen um 20-30 % pro Jahr verbessert, ... Lastenheft

Embed Size (px)

Citation preview

2-203Informationsmanagement, WS 2007/08

2.4 2.4 Grundlagen Grundlagen des des Software-Software-ManagementsManagements

2.3.1 2.3.1 Idee Idee und und Aufgaben Aufgaben des Software-des Software-ManagementsManagements

2.3.2 2.3.2 Vorgehensmodelle Vorgehensmodelle und und Phasen Phasen des Software-des Software-LebenszyklusLebenszyklus

2.3.32.3.3 Phasen Phasen des Software-Managementsdes Software-Managements

2-204Informationsmanagement, WS 2007/08

2.3.1 2.3.1 Idee Idee und und Aufgaben Aufgaben des Software-des Software-ManagementsManagements

•• Unter Software-Management wollen wir hier vor allem dasUnter Software-Management wollen wir hier vor allem dasManagement des Management des Software-ProduktionsprozessesSoftware-Produktionsprozesses verstehen verstehen

•• Die drei Aspekte des InformationsmanagementDie drei Aspekte des Informationsmanagement– Daten– Prozesse– Software

sind starksind stark miteinander verwoben, die hier skizzierten Methoden jedochmiteinander verwoben, die hier skizzierten Methoden jedochzumindest zumindest „„klassischklassisch““ in verschiedenen Teildisziplinen ausgearbeitet in verschiedenen Teildisziplinen ausgearbeitetworden.worden.

•• Es ist wichtig,Es ist wichtig, zu beachten, dass die drei zu beachten, dass die drei „„KomponentenKomponenten““ eines IS eines ISmöglichst unabhängig voneinander weiterentwickelt, modifiziert undmöglichst unabhängig voneinander weiterentwickelt, modifiziert undgepflegt werden könnten.gepflegt werden könnten.

2-205Informationsmanagement, WS 2007/08

Was zeichnet Software gegenüberWas zeichnet Software gegenüber"normalen" Produkten aus?"normalen" Produkten aus?

•• Software istSoftware ist

•• sind völlig gleich sind völlig gleich

•• Software- Software- ist prinzipiell möglich und ein Ziel ist prinzipiell möglich und ein Ziel

•• Technische Leistung ist vor allem dieTechnische Leistung ist vor allem die (weniger die(weniger die ))

•• Software-Struktur muSoftware-Struktur mussss geschaffen werden geschaffen werden

•• Software verschleißt zwar strenggenommen nicht, aberSoftware verschleißt zwar strenggenommen nicht, aber

•• Software ist nachSoftware ist nach

•• Software istSoftware ist

– siehe Betriebssysteme oder Datenbanksysteme

– kollektive Leistung von Hunderten oder mehr Menschen

– spiegelt wider

•• Komplexität der AufgabeKomplexität der Aufgabe , die Fähigkeit der Entwickler, die Fähigkeit der Entwickler

2-207Informationsmanagement, WS 2007/08

Software-Entwicklung:Software-Entwicklung:Kunst oder Ingenieurswissenschaft?Kunst oder Ingenieurswissenschaft?

•• Software-EntwicklungSoftware-Entwicklung

– damit ist kaum ein (Industrie-) Produkt möglich (z.B. mit Tausenden vonKunden oder Software für Kernreaktor)

•• Software-EntwicklungSoftware-Entwicklung

– Vergleich mit Bauingenieurwesen für große Bauten: Architektur,Bauprinzipien, Baugruppen, Bauplanung, Bauleitung, ...

•• Probleme (trotz aller Planungen und Kontrollen)Probleme (trotz aller Planungen und Kontrollen)– Bauschäden, Bauruinen, Zusammenbrüche, ....– Bauherr weiß nicht genau was er will, ändert seine Wünsche etc.– Probleme treffen auch in der Praxis der Software-Entwicklung zu!

2-209Informationsmanagement, WS 2007/08

Ingenieur Ingenieur versus versus KünstlerKünstler

F. L. Bauer (1968)F. L. Bauer (1968)„„The whole trouble comes from the fact that there is so much tinkering with software.The whole trouble comes from the fact that there is so much tinkering with software.... What we need is Software Engineering"... What we need is Software Engineering"

WiederholungWiederholung

NormenNormen

PreisPreis

TermineTermine

UrheberUrheber

BewertungBewertung

VoraussetzungVoraussetzung

TechnikTechnik(Ingenieur)(Ingenieur)

KunstKunst(Künstler)(Künstler)

2-211Informationsmanagement, WS 2007/08

Definition von Definition von SoftwareSoftware--EngineeringEngineering

1.1. Entdeckung und Anwendung solider Ingenieur-Prinzipien mit dem Ziel, aufEntdeckung und Anwendung solider Ingenieur-Prinzipien mit dem Ziel, aufwirtschaftliche Art Software zu bekommen, die Art Software zu bekommen, die zuverlässig ist und auf realen Rechnern ist und auf realen Rechnernläuft. (F. L. Bauer)läuft. (F. L. Bauer)

2.2. Herstellung und Anwendung einer Software, wobei Herstellung und Anwendung einer Software, wobei mehrere Personen beteiligt sind sindund/oder und/oder mehrere Versionen entstehen. (D. L. entstehen. (D. L. ParnasParnas))

3.3. a) a) The application of a The application of a systematic, disciplined, quantifiable approach to the approach to thedevelopment, operation, and maintenance of software; that is, the application of of software; that is, the application ofengineering to softwareengineering to software. b. b) The study of approaches as in (a).) The study of approaches as in (a). ( (IEEE Standard 610.12)IEEE Standard 610.12)

Anmerkung:Anmerkung: Software-Engineering, Software-Management, Software-Technologie und Software-Engineering, Software-Management, Software-Technologie undSoftware-Technik werden oft synonym gebraucht. Software-Engineering und Software-Software-Technik werden oft synonym gebraucht. Software-Engineering und Software-Management beziehen sich klassisch vor allem auf Entwicklungs- undManagement beziehen sich klassisch vor allem auf Entwicklungs- undManagementaufgaben, Software-Technologie auf spezielle anspruchsvolle technischeManagementaufgaben, Software-Technologie auf spezielle anspruchsvolle technischeVerfahren, Software-Technik auf beides.Verfahren, Software-Technik auf beides.

2-213Informationsmanagement, WS 2007/08

Software-Entwicklung=Programm-EntwicklungSoftware-Entwicklung=Programm-Entwicklung??

•• Vorgehensweise bei Vorgehensweise bei ""Programmierung Programmierung im im KleinenKleinen""((vglvgl. . Methoden der Praktischen Informatik Methoden der Praktischen Informatik I)I)

– Gegeben: Problem der ‘realen’ Welt 1.1. 2.2. 3.3. 4.4.

•• Übliche VorgehensweiseÜbliche Vorgehensweise– Top-down-Darstellung

•• Beim Beim ““Programmieren im GroßenProgrammieren im Großen”” (Software-Engineering) (Software-Engineering)–

2-215Informationsmanagement, WS 2007/08

""Programmierung Programmierung im Kleinenim Kleinen""

•• Code-and-Fix-ZyklusCode-and-Fix-Zyklus: geeignet für 1-Mann-Projekte: geeignet für 1-Mann-Projekte1. schreibe Code2. "verbessere" Code (Fehlerbeseitigung, Erweiterung des

Funktionsumfanges, Effizienz, ...)3. gehe zu Schritt 1

•• ProblemeProbleme– Wartbarkeit und Zuverlässigkeit– wenn der Programmierer– heutige Projekte– heutige Anwender verlangen– wenn Entwickler und Anwender nicht identisch sind,

⇒⇒ Software-KriseSoftware-Krise⇒⇒ strukturierte Vorgehensmodelle benötigtstrukturierte Vorgehensmodelle benötigt

2-217Informationsmanagement, WS 2007/08

Beobachtungen beim "Programmieren im Großen"Beobachtungen beim "Programmieren im Großen"

•• Der Mensch kann kaum 2 Pfade (parallel) übersehen, maximal etwa 7 ObjekteDer Mensch kann kaum 2 Pfade (parallel) übersehen, maximal etwa 7 Objekte

•• Die Zahl der inneren Verbindungen steigt mind. quadratisch mit der Größe anDie Zahl der inneren Verbindungen steigt mind. quadratisch mit der Größe an

•• Module in großen Systemen müssen extrem fehlerfrei sein:Module in großen Systemen müssen extrem fehlerfrei sein:Jedes Modul sei korrekt mit Zuverlässigkeit pJedes Modul sei korrekt mit Zuverlässigkeit p11 (<1). Dann ist die (<1). Dann ist dieWahrscheinlichkeit für gleichzeitiges Funktionieren von N Teilen P =Wahrscheinlichkeit für gleichzeitiges Funktionieren von N Teilen P =Dieser Wert istDieser Wert ist auch fürauch für

•• Ergebnis: Eine lange Liste von Softwareprojekt-Fehlschlägen bzw. software-Ergebnis: Eine lange Liste von Softwareprojekt-Fehlschlägen bzw. software-erzeugten Problemen:erzeugten Problemen:– nur 9% der Projekte werden fristgerecht und in etwa zur

Kundenzufriedenheit ausgeliefert!– nahezu 1/3 scheitern vollständig– von den Fehlern beruhen etwa 1/3 auf Codierungsfehlern, der Rest auf

"Verständnisproblemen"– Beispiele: Ariane-Absturz, Flughafensteuerung Denver, Airbus-Steuerung, ...

2-219Informationsmanagement, WS 2007/08

Vergleich Fortschritt: Hardware vs. SoftwareVergleich Fortschritt: Hardware vs. Software

•• Hardware wird seit 1950 in den Kerngrößen um 20-30 % pro Jahr verbessert,Hardware wird seit 1950 in den Kerngrößen um 20-30 % pro Jahr verbessert,d.h. 1000 x (Anzahl der Transistoren, Energieverbrauch/MIPS, Kosten/MIPS,d.h. 1000 x (Anzahl der Transistoren, Energieverbrauch/MIPS, Kosten/MIPS,Kosten/MByte)Kosten/MByte)

•• Software dagegen nur 1-10Software dagegen nur 1-10 fachfach, d.h. eine LOC (Line of Code) kostet, d.h. eine LOC (Line of Code) kostetungefähr heute soviel wie vor 30 Jahren - eventuell ist die LOC heuteungefähr heute soviel wie vor 30 Jahren - eventuell ist die LOC heutemächtiger durch moderne Sprachenmächtiger durch moderne Sprachen

•• "Software-Krise" durch geringe Produktivität und mangelhafte"Software-Krise" durch geringe Produktivität und mangelhafteSoftwareprojekteSoftwareprojekte

•• Immer weniger Hardware/Betriebssystem-Entwickler, immer mehrImmer weniger Hardware/Betriebssystem-Entwickler, immer mehrAnwendungsentwickler notwendigAnwendungsentwickler notwendig

2-220Informationsmanagement, WS 2007/08

Probleme der Software-EntwicklungProbleme der Software-Entwicklung

•• DauerDauer von von Softwareprojekten Softwareprojekten (1 (1 JahrJahr bisbis zuzu mehrerenmehreren JahrenJahren))

•• UmfangUmfang von von SoftwarepaketenSoftwarepaketen (z.B. 50.000 (z.B. 50.000 ZeilenZeilen QuellcodeQuellcode))

•• GrößeGröße derder EntwicklergruppenEntwicklergruppen (z.B. 5-200 (z.B. 5-200 PersonenPersonen))

•• DurchschnittDurchschnitt überüber die die gesamtegesamte EntwicklungszeitEntwicklungszeit::10 10 ZeilenZeilen QuellcodeQuellcode pro Tag pro Tag

•• FehlerrateFehlerrate imim DurchschnittDurchschnitt: 5-6 % (50-60 F. in 1000 : 5-6 % (50-60 F. in 1000 ZeilenZeilen Code) Code)– nach Auslieferung immer noch 0,4%– meistens Fehler in der Analyse- und Design-Phase

•• PräsentationPräsentation undund OberflächenOberflächen ersterst am am EndeEnde entwickeltentwickelt

•• DokumentationDokumentation nachnach EntwickleranforderungenEntwickleranforderungen((nichtnicht KundenanforderungenKundenanforderungen))

•• AuslieferungAuslieferung unterunter ZeitdruckZeitdruck

2-221Informationsmanagement, WS 2007/08

Software-Technik: Der Ingenieur als LeitbildSoftware-Technik: Der Ingenieur als Leitbild

1.1.– Verwendung wissenschaftlicher und handwerklicher Erkenntnisse und

Erfahrungen– Modellierung– Messung

2.2.– keine Weltdeutung und keine allgemeine Sinnfrage– echte oder vermeintliche Probleme– konstruktiv

3.3.– wirtschaftliche Randbedingungen für Arbeit

4.4.– kein Respekt vor fremden Fachgebieten (vgl. Leonardo Da Vinci)

2-223Informationsmanagement, WS 2007/08

Software-EntwicklungszyklusSoftware-Entwicklungszyklus

• In der Regel sequentielle Folge vonEntwicklungsphasen (Projektschritten; vgl.Wasserfall-Modell)

• Folge von Aktivitäten (mit Dokumentation undMeilensteinen)a)b)c)d)e)f)

• Bemerkungen– typischer Aufwand: 10% Implementierung, 50%

Wartung & Pflege!– Hierarchie von Entwicklern mit

Analytiker/Architekten an der Spitze!

2-225Informationsmanagement, WS 2007/08

Einige EntwicklungsansätzeEinige Entwicklungsansätze

• Prototyping– vorläufige Form als

• Rapid Prototyping– Prototyp mit besonderen Hilfsmitteln ( ) schnell erstellt

• Iterative Entwicklung (Spiralmodell)– Iteration von Entwicklungsschritten

• Versionen, partizipative Entwicklung ( )– frühe Auslieferung

• Immediate Integration– sofortige Integration neuer/geänderter Module

• Gesamtmodellierung ( )– Modellierung der Anwendung vom Geschäftsprozess bis zur Implementierung. Die

Software wird damit unmittelbar zum Instrument der Unternehmensführung! (vgl.oben; Beispiel: SAP Produkte und deren Umfeld)

2-227Informationsmanagement, WS 2007/08

Einige Prinzipien/GrundsätzeEinige Prinzipien/Grundsätze

••– Trennung verschiedener Belange

••– Verbergen von (Implementierungs-, unwichtigen) Details

••– Übersichtlichkeit wahren

••– Allgemeine Funktionen allgemein realisieren, das Rad nicht jedes

Mal neu erfinden••

– Bewährte Hilfsmittel zur Kommunikation über komplexeZusammenhänge verwenden

••– Funktionieren der Lösung möglichst exakt überprüfbar machen

2-229Informationsmanagement, WS 2007/08

Realisierung der DesignprinzipienRealisierung der Designprinzipien

1. Intuitiv Erfahrene Entwickler von Großsystemen eventuell ...

2. Durch DisziplinarmaßnahmenGroße Software-Firmen haben „Development Guidelines" zur Steuerung desSoftware-Entwicklungsprozesses

3. Durch Unterstützung und Vorgabe Programmiersprache und Entwicklungsumgebung forcieren gutes Engineering

a) Strukturanalyse und Entwurfstechniken: Stärke in Modellierung mit Grafik, im wesentlichen noch konventionell

b) Durch Disziplinarmaßnahmen als abstrakte Vorform

c) Objektorientierte Techniken als natürliche Gesamttechnik

2-230Informationsmanagement, WS 2007/08

VorgehensmodelleVorgehensmodelle

1.1. WasserfallWasserfallmmodellodell

2.2. AbstraktionsschichtenmodellAbstraktionsschichtenmodell

3.3. Evolutionäres Software-EntwicklungsmodellEvolutionäres Software-Entwicklungsmodell

4.4. SpiralmSpiralmodellodell

2-231Informationsmanagement, WS 2007/08

WasserfallWasserfallmmodellodell (1) (1)

Einfach iteriertes Phasenmodell mit Wartungsphase

2-233Informationsmanagement, WS 2007/08

WasserfallWasserfallmmodellodell (2) (2)

PhasenmodellPhasenmodell TätigkeitTätigkeitA1. A1. ProblemstellungProblemstellung analysierenanalysierenA2. A2. Studie zur ProblemanalyseStudie zur Problemanalyse definierendefinierenA3. A3. AnforderungsdefinitionAnforderungsdefinition entwerfenentwerfen, , spezifizierenspezifizieren

PlichtenheftPlichtenheft, , LastenheftLastenheftB. B. GrobentwurfGrobentwurf spezifizierenspezifizieren, , entwerfen entwerfen i.w.S.,i.w.S.,

validierenvalidieren, , Alternativen Alternativen auswauswählenählenC. C. ArchitekturArchitektur, , EntwurfEntwurf entwerfenentwerfenD. D. BausteinspezifikationBausteinspezifikation implementierenimplementieren, , integrierenintegrierenE. E. Fertiges Fertiges SystemSystem installiereninstallierenF. System in F. System in der Zielumgebungder Zielumgebung betreibenbetreiben, , betreuenbetreuen

PhasenübergreifendPhasenübergreifend1. 1. Leiten Leiten / / ManagenManagen planenplanen, , führenführen, , überwachenüberwachen2. 2. Qualität Qualität sichernsichern3. 3. DokumentationDokumentation erstellenerstellen

2-234Informationsmanagement, WS 2007/08

WasserfallWasserfallmmodellodell - Phasen (1) - Phasen (1)

•• Machbarkeitsstudie (Planung)Machbarkeitsstudie (Planung)– soll Kosten und Ertrag der Entwicklung abschätzen– (grobe) Analyse und Definition des Problems, Alternativlösungen– Ergebnis dieser Phase: Lastenheft (oft mit ungenauen Schätzungen)

•• Anforderungsanalyse und SpezifikationAnforderungsanalyse und Spezifikation– legt fest, was die Software leisten soll– definiert relevante Funktions- und Qualitätsmerkmale– Anforderungsdefinition muss verständlich, präzise, vollständig und konsistent sein

("am besten formale Spezifikation, aber oft haben Kunden Probleme damit, weil sieden verwendeten Formalismus nicht verstehen")

– Ergebnis dieser Phase: Pflichtenheft (Bestandteil des Vertrages)

•• EntwurfEntwurf– definiert die Module und die Zusammenhänge zwischen ihnen– häufig top-down: Zerlegung in Systemkomponenten– Ergebnis dieser Phase: Moduldefinitionen (Daten- & Kontrollflussdiagramme)

2-235Informationsmanagement, WS 2007/08

WasserfallWasserfallmmodellodell - Phasen (2) - Phasen (2)

•• Implementierung und ModultestImplementierung und Modultest– Umsetzung der Spezifikation in konkrete Module: Implementierung mittels einer

Programmiersprache– Festlegen der Datenstrukturen und Algorithmen, Dokumentation– Testen, ob Module die spezifizierte Funktionalität bieten– Ergebnis dieser Phase: getesteter Quellcode der einzelnen Module

•• Integration und SystemtestIntegration und Systemtest– Zusammenbinden der Module zu einem Programm– Testen des Zusammenspiels der Komponenten– Diese Phase kann mit der vorherigen verschmolzen sein– Ergebnis dieser Phase: laufendes System

•• Installation und WartungInstallation und Wartung– zunächst Auslieferung an ausgewählte Kunden– Anpassungen an geänderte Anforderungen– Ergebnis dieser Phase: Abnahme des Systems durch Kunden

2-236Informationsmanagement, WS 2007/08

AbstraktionsschichtenmodellAbstraktionsschichtenmodell

•• Planer: Planer: AllgemeinesAllgemeines AnliegenAnliegen– Motivation, Ziele, Aufgaben (Lastenheft)

•• BesitzerBesitzer: : BetrieblicheBetriebliche VorgängeVorgänge– Geschäftsprozesse, Betriebsdaten, Arbeitsumgebung (Pflichtenheft)

•• EntwerferEntwerfer: : DatenDaten, , StruktureStrukturen, n, SpezifikationSpezifikation derder FunktionenFunktionen– konzeptuelles Modell der Daten, Prozesse, Interaktionen, Verteilung

•• EntwicklerEntwickler: : DetailstrukturDetailstruktur, , DetailprozesseDetailprozesse, , OberflächenOberflächen imim Detail Detail, , ZerlegungZerlegungin in einzelneeinzelne KomponentenKomponenten– logische und physische Strukturen, Programme, Module, Schnittstellen

2-237Informationsmanagement, WS 2007/08

Schichten im AbstraktionsmodellSchichten im Abstraktionsmodell

•• MotivationsschichtMotivationsschicht Motivation, WorkflowMotivation, Workflow PlanerPlanerIdeenIdeen, , AufgabenAufgaben ((BesitzerBesitzer))

•• GeschäftsprozessschichtGeschäftsprozessschicht GeschäftsprozesseGeschäftsprozesse (Planer)(Planer)BetriebsdatenBetriebsdaten, Story Board, Story Board BesitzerBesitzerArbeitsumgebungArbeitsumgebung ((EntwerferEntwerfer))

•• AktionsschichtAktionsschicht AktionenAktionen ((BesitzerBesitzer))SkelettentwurfSkelettentwurf,, EntwerferEntwerferSzenarienSzenarien, , VerteilungVerteilung

•• EntwurfsschichtEntwurfsschicht ProzesseProzesse EntwerferEntwerferKonzeptKonzeptuuelles Schemaelles Schema ((EntwicklerEntwickler))DrehbuchDrehbuch, , NetzwerkNetzwerk ((TeilentwicklerTeilentwickler))

•• ImplementationsschichtImplementationsschicht ProgrammeProgramme, , KommunikKommunik.. ((EntwerferEntwerfer))Log. und phys. SchemaLog. und phys. Schema EntwicklerEntwicklerInszenierungInszenierung TeilentwicklerTeilentwickler

•• TestschichtTestschicht TestbenchTestbench, , VerifikationVerifikation EntwicklerEntwickler•• EinführungsschichtEinführungsschicht ZusZusammenammenfassfassung,ung, ((EntwerferEntwerfer))

DokuDoku, S, Schulungchulung ((EntwicklerEntwickler))VermarktungVermarktung

•• Wartungs- Wartungs- und und WeiterentwicklungsschichtWeiterentwicklungsschicht allealle

2-238Informationsmanagement, WS 2007/08

Komponenten im AbstraktionsmodellKomponenten im Abstraktionsmodell

DatensichtDatensicht IdeenIdeen, Motivation , Motivation für Daten für Daten MotivationsschichtMotivationsschichtBetriebsdatenBetriebsdaten GeschäftsprozeßschichtGeschäftsprozeßschichtSkelettentwurfSkelettentwurf AktionsschichtAktionsschichtKonzeptKonzeptuuelles Schemaelles Schema EntwurfsschichtEntwurfsschichtLogisches Logisches und und physisches physisches SchemaSchema ImplementierungsschichtImplementierungsschicht

ProzesssichtProzesssicht Motive, WorkflowMotive, Workflow MotivationsschichtMotivationsschichtGeschäftsprozeßGeschäftsprozeß GeschäftsprozeßschichtGeschäftsprozeßschichtAktionenAktionen AktionsschichtAktionsschichtProzesseProzesse EntwurfsschichtEntwurfsschichtProgrammeProgramme ImplementierungsschichtImplementierungsschicht

InterfacesichtInterfacesicht AufgabenAufgaben, , IdeenIdeen MotivationsschichtMotivationsschichtStory, Story, SkizzenSkizzen GeschäftsprozeßschichtGeschäftsprozeßschichtSzenarienSzenarien AktionsschichtAktionsschichtDrehbuchDrehbuch EntwurfsschichtEntwurfsschichtInszenierungInszenierung ImplementierungsschichtImplementierungsschicht

2-239Informationsmanagement, WS 2007/08

Evolutionäres Software-Entwicklungsmodell (1)Evolutionäres Software-Entwicklungsmodell (1)

•• Evolutionäre Prototypen Evolutionäre Prototypen (Approximationen)(Approximationen)– schrittweise Erweiterung zu vollem Produkt

VorteileVorteile::– Verbesserung der Produktdefinition und bessere Kundenakzeptanz durch

Vorführbarkeit– Verbesserung der Abschätzung der voraussichtlichen Entwicklungskosten

und der Komplexität der Anwendung

ProblemeProbleme::– "quick and dirty" Programmierung, Übersicht, Wartung– Dokumentation, Entwicklungsprozeß, Qualität

•• Transformationelle EntwicklungTransformationelle Entwicklung: : "executable specification""executable specification"mit mit ((halb-halb-))automatisch optimierenden Übersetzungenautomatisch optimierenden Übersetzungen

2-240Informationsmanagement, WS 2007/08

Evolutionäres Software-Entwicklungsmodell (2)Evolutionäres Software-Entwicklungsmodell (2)

Analyse &Analyse &SpezifikationSpezifikation

EntwurfEntwurf

ImplementImplementierungierung& Modultest& Modultest

Integration &Integration &SystemtestSystemtest

InstallationInstallation

EvaluierungEvaluierungdurch Anwenderdurch Anwender

2-241Informationsmanagement, WS 2007/08

Spiralmodell Spiralmodell - - Projektfortschritt Projektfortschritt in in SpiralzyklenSpiralzyklen

ZyklusendeZyklusende: : Review undReview und

PlanungskonsensPlanungskonsens

BestimmungBestimmung von von ZielenZielen,,AlternativenAlternativen und und NebenNeben--bedingungenbedingungen des des neuenneuenSpiralzyklusSpiralzyklus

EvaluierungEvaluierung von von AlternativenAlternativen;;IdentifizierenIdentifizieren und und Reduzieren Reduzieren von von RisikenRisiken

PlanungPlanung derder ProjektProjekt--fortsetzungfortsetzung, d.h. des , d.h. des nächstennächsten SpiralzyklusSpiralzyklus

EntwicklungEntwicklung und und ÜberprüfungÜberprüfungdes des aktuellenaktuellen ZwischenproduktesZwischenproduktes

ZwischenproduktZwischenprodukt

2-242Informationsmanagement, WS 2007/08

Phasen des Software-ManagementsPhasen des Software-Managements

1.1. PlanungsphasePlanungsphase LastenheftLastenheftAufwandsschätzungAufwandsschätzung

2.2. DefinitionsphaseDefinitionsphase PflichtenheftPflichtenheftPrototypingPrototyping

3.3. ProjektmanagementProjektmanagement admininistrative admininistrative &&operative Aufgabenoperative Aufgaben

2-243Informationsmanagement, WS 2007/08

Struktur eines Pflichtenhefts (1)Struktur eines Pflichtenhefts (1)

1. Zielbestimmung1. Zielbestimmung1.11.1 Mußkriterien Mußkriterien (unabdingbare Eigenschaften)(unabdingbare Eigenschaften)1.2 Wunschkriterien (1.2 Wunschkriterien (anstrebbare anstrebbare Eigenschaften)Eigenschaften)1.3 Abgrenzungskriterien (nicht anzustreben)1.3 Abgrenzungskriterien (nicht anzustreben)

2. Produkt-Einsatz2. Produkt-Einsatz2.1 Anwendungsbereiche2.1 Anwendungsbereiche2.2 Zielgruppen2.2 Zielgruppen2.3 Betriebsbedingungen (physische & Betriebsumgebung, Betriebszeit)2.3 Betriebsbedingungen (physische & Betriebsumgebung, Betriebszeit)

3. Produkt-Umgebung3. Produkt-Umgebung 3.1 Software (OS, Laufzeitsystem, Fenstersystem, DB,3.1 Software (OS, Laufzeitsystem, Fenstersystem, DB, CompComp./Interpreter)./Interpreter)

3.2 Hardware (CPU, Peripherie, Drucker, ...)3.2 Hardware (CPU, Peripherie, Drucker, ...)3.33.3 Orgware Orgware (Netze, Infrastruktur, ...)(Netze, Infrastruktur, ...)3.4 Produkt-Schnittstellen3.4 Produkt-Schnittstellen

4. Produkt-Funktionen4. Produkt-Funktionen (Funktionale Beschreibung aus Benutzungssicht für jede einzelne Funktion)(Funktionale Beschreibung aus Benutzungssicht für jede einzelne Funktion)

5. Produkt-Daten 5. Produkt-Daten (aus Benutzersicht)(aus Benutzersicht)

2-244Informationsmanagement, WS 2007/08

Struktur eines Pflichtenhefts (2)Struktur eines Pflichtenhefts (2)

6. Produktleistungen 6. Produktleistungen (zeitbezogen, umfangsbezogen)(zeitbezogen, umfangsbezogen)

7. Benutzungsoberfläche7. Benutzungsoberfläche(Bildschirmlayout, Drucklayout, Tastaturbelegung, Dialogstruktur, Übergabeformate)(Bildschirmlayout, Drucklayout, Tastaturbelegung, Dialogstruktur, Übergabeformate)

8. Qualitätszielbestimmung8. Qualitätszielbestimmung (Kriterien-Güte-Katalog) (Kriterien-Güte-Katalog)

9. Globale Testszenarien, Testfälle9. Globale Testszenarien, Testfälle (für jeden einzelnen Testfall) (für jeden einzelnen Testfall)

10. Entwicklungsumgebung10. Entwicklungsumgebung 10.1 Software10.1 Software

10.2 Hardware10.2 Hardware10.310.3 OrgwareOrgware10.4 Entwicklungsschnittstellen10.4 Entwicklungsschnittstellen

11. Ergänzungen11. Ergänzungen z.B. Installationsbedingungen, Schulungen, Wartungsprobleme, Normen, Vorschriften, Patente,z.B. Installationsbedingungen, Schulungen, Wartungsprobleme, Normen, Vorschriften, Patente,

Lizenzen, Benutzerhandbuch (mit Anwendungsszenarien und -beispielen)Lizenzen, Benutzerhandbuch (mit Anwendungsszenarien und -beispielen)

12. Anhang 12. Anhang (Definition der Fachbegriffe)(Definition der Fachbegriffe)Glossar, Begriffslexikon (auf der Grundlage der Aussagen der Fachabteilungen)Glossar, Begriffslexikon (auf der Grundlage der Aussagen der Fachabteilungen)

2-245Informationsmanagement, WS 2007/08

Projektmanagement (1)Projektmanagement (1)

Kennzeichen von Informatik-ProjektenKennzeichen von Informatik-Projekten•• Lange ProjektdauerLange Projektdauer•• Mittlere bis große Anzahl beteiligter PersonenMittlere bis große Anzahl beteiligter Personen•• Vielzahl unterschiedlicher Schnittstellen; keine isolierte EntwicklungVielzahl unterschiedlicher Schnittstellen; keine isolierte Entwicklung•• ErgebnisrisikoErgebnisrisiko•• Unsicherheiten bzgl. Termineinhaltung, Planung, KostenUnsicherheiten bzgl. Termineinhaltung, Planung, Kosten•• Wettbewerb um RessourcenWettbewerb um Ressourcen

Projektplanung zwingend notwendigProjektplanung zwingend notwendig

2-246Informationsmanagement, WS 2007/08

Projektmanagement (2)Projektmanagement (2)

ProjekthandbuchProjekthandbuch

•• Organisation:Organisation: Leitung, Verantwortlichkeiten, Rollen, KompetenzenLeitung, Verantwortlichkeiten, Rollen, Kompetenzen

•• Planung:Planung: Auftrag, Randbedingungen, Auflagen, Ziele, Phasen,Auftrag, Randbedingungen, Auflagen, Ziele, Phasen, MeilensteineMeilensteine

•• Überwachung:Überwachung: Berichte, Dokumentation, Prioritäten (Engpässe)Berichte, Dokumentation, Prioritäten (Engpässe)

•• Steuerung:Steuerung: Vorgehensweisen bei Abweichung zwischen Plan Vorgehensweisen bei Abweichung zwischen Plan und Realitätund Realität

2-247Informationsmanagement, WS 2007/08

Definition des Projektauftrages und derDefinition des Projektauftrages und derProjektkontrolleProjektkontrolle

•• AusgangssituationAusgangssituation

•• PlanungszielePlanungsziele

•• AufgabenabgrenzungAufgabenabgrenzung

•• Form der ProjektorganisationForm der Projektorganisation

•• ProjektleiterProjektleiter

•• Zusammensetzung der ProjektgruppeZusammensetzung der Projektgruppe

•• RollenRollen

•• KompentenzenKompentenzen

•• MeilensteineMeilensteine

•• BerichtsinstanzBerichtsinstanz

•• ProjektergebnisProjektergebnis

2-248Informationsmanagement, WS 2007/08

Projektorganisation (1)Projektorganisation (1)

•• Form der Projektorganisation, Organisationsmodelle, fachlicheForm der Projektorganisation, Organisationsmodelle, fachlicheFührung oder beratende, koordinierende Leitung, evtl. auchFührung oder beratende, koordinierende Leitung, evtl. auchKombination durch Matrix-Projektorganisation in Abhängigkeit von:Kombination durch Matrix-Projektorganisation in Abhängigkeit von:– Bedeutung für das Unternehmen (strategische Aufgabe oder geringe

Bedeutung)– Umfang des Projekts (groß, klein)– Unsicherheit (groß, klein)– Technologie (neu oder Standard)– Zeitdruck (groß, gering)– Dauer (lang, kurz)– Komplexität (hoch, gering)– Steuerbedarf (hoch, gering)– Mitarbeiterstab (Vollzeit, Teilzeit, etc.)– Person des Leiters (akzeptiert, irrelevant)

2-249Informationsmanagement, WS 2007/08

Projektorganisation (2)Projektorganisation (2)

•• Beteiligung der vom Projekt BetroffenenBeteiligung der vom Projekt Betroffenen– informelle, formale Partizipation

(konsensorientiert, soziotechnisch, Mitbestimmung)– Dimensionen der Benutzerbeteiligung

(Partizipationsausprägung, -form, -ebene, -phase)

•• Aufbauorganisation innerhalb der ProjektgruppeAufbauorganisation innerhalb der Projektgruppe– Größe der Gruppe– Arbeitsteilung

2-250Informationsmanagement, WS 2007/08

Projektplanung (1)Projektplanung (1)

• Festlegung der Projektziele - Zielplanung– Zielinhalte für Planung und Steuerung der Projekte– Leistungen– Termine– Kosten– Zielinhalte– Qualität

• Projektaufgaben - Aufgabenplanung– Zerlegung in Teilaufgaben– Tätigkeiten (Analyse)– Koordinierung der Teilaufgaben– Abhängigkeiten zwischen Teilaufgaben

• Projektzeiten - Zeitplanung– Zeitbedarf für die Teilaufgaben (Umfang, Komplexität, Erfahrungen)

2-251Informationsmanagement, WS 2007/08

Projektplanung (2)Projektplanung (2)

•• Projektaufgaben-Träger - PersonaleinsatzplanungProjektaufgaben-Träger - Personaleinsatzplanung–– AufgabenzuordnungAufgabenzuordnung

•• Zwischen- und Endtermine - TerminplanungZwischen- und Endtermine - Terminplanung–– Zeitbedarf für TeilaufgabenZeitbedarf für Teilaufgaben–– Termine für die Projektphasen (Termine für die Projektphasen (MeilensteineMeilensteine))

•• Methoden und Werkzeuge - SachmittelplanungMethoden und Werkzeuge - Sachmittelplanung–– Hardware, Software,Hardware, Software, OrgwareOrgware, Beschaffung, Zulieferpläne, Beschaffung, Zulieferpläne

2-252Informationsmanagement, WS 2007/08

Projektplanung (3)Projektplanung (3)

•• Sach- und Personalkosten - KostenplanungSach- und Personalkosten - Kostenplanung–– Kosten- und LeistungsrechnungKosten- und Leistungsrechnung–– Funktionen (Abrechnungsfunktionen, Prognosefunktionen,Funktionen (Abrechnungsfunktionen, Prognosefunktionen,

Vorgabefunktionen, Kontrollfunktionen)Vorgabefunktionen, Kontrollfunktionen)–– PreiskalkulationPreiskalkulation–– PreisbeurteilungPreisbeurteilung–– Kontrolle der WirtschaftlichkeitKontrolle der Wirtschaftlichkeit–– EntscheidungsrechnungenEntscheidungsrechnungen–– ErfolgsermittlungErfolgsermittlung–– Auftragsrechnung nach KostenartenAuftragsrechnung nach Kostenarten–– Verrechnung nach Kostenumlage, mit VerrechnungspreisenVerrechnung nach Kostenumlage, mit Verrechnungspreisen

•• Notfallmaßnahmen - NotfallplanungNotfallmaßnahmen - Notfallplanung–– RückfallsystemRückfallsystem–– Früherkennung, falls Projekt kritischFrüherkennung, falls Projekt kritisch

2-253Informationsmanagement, WS 2007/08

ProjektüberwachungProjektüberwachung

Zeitnahe Feststellung von Abweichungen bei DurchführungZeitnahe Feststellung von Abweichungen bei Durchführung

•• ProjektberichterstattungProjektberichterstattung–– Plan- und Ist-DatenPlan- und Ist-Daten–– Festlegung von Art und Inhalt, PeriodizitätFestlegung von Art und Inhalt, Periodizität–– ZugriffsberechtigungZugriffsberechtigung–– KoordinierungsinstrumenteKoordinierungsinstrumente

•• Projektbegleitende DokumentationProjektbegleitende Dokumentation–– Projektprodukte und ihre BeziehungenProjektprodukte und ihre Beziehungen–– DokumentenverwaltungDokumentenverwaltung–– Darstellung des ProjektstatusDarstellung des Projektstatus–– Probleme und LösungsmethodenProbleme und Lösungsmethoden

2-254Informationsmanagement, WS 2007/08

ProjektsteuerungProjektsteuerung

Maßnahmen für Abweichungsfeststellung und Erkennen der Ursachen fürMaßnahmen für Abweichungsfeststellung und Erkennen der Ursachen fürAbweichungen zur Beeinflussung der Projektdurchführung, Projektplanung undAbweichungen zur Beeinflussung der Projektdurchführung, Projektplanung undKoordinierung zwischen Auftraggeber und GruppeKoordinierung zwischen Auftraggeber und Gruppe

•• Projekt-Controlling und QualitätsmanagementProjekt-Controlling und Qualitätsmanagement–– ProjektüberwachungProjektüberwachung–– ProjektmetrikProjektmetrik

•• ProjektbegleitdokumentProjektbegleitdokument1. Projektbezeichnung1. Projektbezeichnung 8. Projektabgrenzung8. Projektabgrenzung2. Projektgegenstand2. Projektgegenstand 9. Arbeitsprogramm 9. Arbeitsprogramm 3. Projektziele (3. Projektziele (organisatorganisat. u.. u. techntechn. Arbeiten). Arbeiten)4. Vertragspartner (Auftragsgeber, -nehmer)4. Vertragspartner (Auftragsgeber, -nehmer) 10. Termine10. Termine5.5. Ausgangssitutation Ausgangssitutation (Ist-Situation, bereits (Ist-Situation, bereits 11. Angebotssumme, Budget11. Angebotssumme, Budget erledigte Vorarbeiten) erledigte Vorarbeiten) 12. Arbeitsstruktur (Leiter,12. Arbeitsstruktur (Leiter, Entschei-Entschei-6. Rahmenbedingungen (Verfügbarkeit6. Rahmenbedingungen (Verfügbarkeit dungsinstanzdungsinstanz, Beauftragte etc.), Beauftragte etc.) von Ressourcen) von Ressourcen) 13. Projektinformation13. Projektinformation7. Risikobetrachtung (Risikoanalyse, Maß-7. Risikobetrachtung (Risikoanalyse, Maß- (Berichte, Verteiler) (Berichte, Verteiler) nahmen zur Minimierung des Risikos) nahmen zur Minimierung des Risikos) 14.14. OrganisatOrganisat. Rahmenbedingungen. Rahmenbedingungen