Überblick über die systementwicklung systementwicklung

57
Überblick über die Systementwicklung Systementwicklung

Upload: hedda-schiff

Post on 05-Apr-2015

114 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Überblick über die Systementwicklung Systementwicklung

Überblick über die Systementwicklung

Systementwicklung

Page 2: Überblick über die Systementwicklung Systementwicklung

Überblick

Systementwicklung beschreibt den ganzen oder teilweisen Ersatz oder die Modifikation eines IT-Systems.

Dieser, sehr Zeit- und Resourcen-intensive Vorgang, ist in vielen Organisationen zum permanenten Zustand geworden.

Page 3: Überblick über die Systementwicklung Systementwicklung

Lernziele

1 Das Lebenszykluskonzept der Systementwicklung.

2 Dokumentations-Standards für IT-Systeme.3 Techniken der Systementwicklung.4 Planung und Kontrolle der IT-

Systementwicklung.

Page 4: Überblick über die Systementwicklung Systementwicklung

Lernziel 1

Das Lebenszykluskonzept der Systementwicklung

Page 5: Überblick über die Systementwicklung Systementwicklung

Organisatorisches Umfeld der Systementwicklung

In der Terminologie der Informationssysteme wird mit Anwender (user) eine andere funktionelle Organisationseinheit als das Informationssystem selbst bezeichnet, die einen Informationsbedarf hat.

Die Funktion des Informationssystems ist getrennt von der des Anwenders zu sehen.

Page 6: Überblick über die Systementwicklung Systementwicklung

Organisatorisches Umfeld der Systementwicklung

SystemsAnalysisSystemsAnalysis

SystemsDesignSystemsDesign

OperationsOperations

UsersUsers Information SystemsInformation Systems

System Output

SystemRequirements

Page 7: Überblick über die Systementwicklung Systementwicklung

Systemanalyse

Die Systemanalyse ist für den allgemeinen Entwurf der Anwendungen verantwortlich.

Zwischen der Systemanalyse und den Endanwendern muß zum Zwecke der Festlegung des Informationsbedarfs eng kooperiert werden.

Diese Bedürfnisse werden dann an die Design-Funktion übermittelt.

Page 8: Überblick über die Systementwicklung Systementwicklung

Systemanalyse

Vier allgemeine Phasen der Systemanalyse:1 Erhebung des bestehenden Systems.2 Identifikation des Informationsbedarfs der

Anwender.3 Identifikation der zu deren Erfüllung

erforderlichen Systemkriterien.4 Vorbereitung eines Abschlußberichts der

Systemanalyse.

Page 9: Überblick über die Systementwicklung Systementwicklung

System-Design

… ist die detaillierte Beschreibung der Systemeigenschaften.

Page 10: Überblick über die Systementwicklung Systementwicklung

System-Design

3 Phasen des System-Designs:1 Entwurf alternativer Design-Varianten.2 Vorbereitung der detaillierten Design-

Spezifikationen.3 Vorbereitung des System-Design-

Abschlußberichts.

Page 11: Überblick über die Systementwicklung Systementwicklung

Operating

Im operativen Bereich werden die Systeme dann verwendet.

Bei der Implementierung werden die neuen Systeme dann tatsächlich zum Einsatz gebracht.

Page 12: Überblick über die Systementwicklung Systementwicklung

Lebenszyklus eines IT-Systems

Systementwicklung wird zumeist von einem Projektteam betrieben.

In diesem Team befinden sich Systemanalytiker, Programmierer, Accountants und andere, welche entweder durch ihr Wissen beitragen können oder von der Systementwicklung direkt betroffen sind.

Jede Systementwicklung besitzt einen ähnlichen Lebenszyklus.

Page 13: Überblick über die Systementwicklung Systementwicklung

Lebenszyklus eines IT-Systems

AnalysisAnalysis

DesignDesign

ImplementationImplementation

Page 14: Überblick über die Systementwicklung Systementwicklung

Lebenszyklus eines IT-Systems

Das Lebenszyklus-Konzept bedeutet, dass jedes Projekt in einzelne Phasen mit eigenen Kontrollpunkten gelgiedert werden sollte.

In jeder Phase sollte eine Dokumentation erstellt werden, welche vor Eintritt in die nächste Phase formell abgenommen werden sollte.

Page 15: Überblick über die Systementwicklung Systementwicklung

Lebenszyklus eines IT-SystemsGeneral Phases Detailed PhasesGeneral Phases Detailed Phases

Analysis Feasibility assessmentInformation analysis

Analysis Feasibility assessmentInformation analysis

Design System designProgram development

Design System designProgram development

Implementation ConversionOperation and maintenance Audit and review

Implementation ConversionOperation and maintenance Audit and review

Page 16: Überblick über die Systementwicklung Systementwicklung

Probleme im Lebenszyklus

Euphorie Desillusionierung Resignation

Page 17: Überblick über die Systementwicklung Systementwicklung

Probleme im Lebenszyklus

Suche nach dem Schuldigen

Bestrafung des/r Unschuldigen

Belohnung der Unbeteiligten

Page 18: Überblick über die Systementwicklung Systementwicklung

Probleme im Lebenszyklus

Vorschlag der Anwender

Beschluß vom Entwicklungsteam

Entwurf der Systemanalyse

Page 19: Überblick über die Systementwicklung Systementwicklung

Probleme im Lebenszyklus

Umsetzung im Datenmodell

Implementierung durch die

Programmierer

Was die Anwender

tatsächlich wollten

Page 20: Überblick über die Systementwicklung Systementwicklung

Business Reengineering

… bezeichnet ein Systementwicklungsprojekt, bei dem eine gesamter Geschäftsbereich grundlegend neu gestaltet wird.

Wodurch wurde BPR (Business Process Reengineering) so beliebt?

Page 21: Überblick über die Systementwicklung Systementwicklung

Business Reengineering

– total quality performance (TQP), oder TQM– Trends im Bereich der Informationssysteme TQP, oder total quality management, ist eine

Philosophie, die besagt, dass man schon beim ersten Mal keine Fehler machen sollte.

Business reengineering betrifft die Neuentwicklung (nicht bloße Verbesserung) von Geschäftsabläufen!

Page 22: Überblick über die Systementwicklung Systementwicklung

Business Reengineering

Business reengineering soll die Leistung exponentiell steigern (durch Multiplikator-Effekte).

In der Prozeß-Orientierung liegt der Schwerpunkt darauf WIE gearbeitet wird und nicht so sehr WELCHE Arbeit geleistet wird.

Page 23: Überblick über die Systementwicklung Systementwicklung

Die Rolle der Informationstechnologie

Informationstechnologie ist die Voraussetzung für Prozeß-Innovationen.

Durch Technologie begünstigte Prozeß-Innovationen können auf neun unterschiedliche Arten erfolgen:

1 Automation2 Information

Page 24: Überblick über die Systementwicklung Systementwicklung

Die Rolle der Informationstechnologie

3 Sequenzierung4 Verfolgung5 Analyse6 Geographische Unterstützung7 Integrative Unterstützung8 Intellektuelle Unterstützung9 Überbrückende Unterstützung

Page 25: Überblick über die Systementwicklung Systementwicklung

Lernziel 2

Dokumentations-Standards für IT-Systeme

Page 26: Überblick über die Systementwicklung Systementwicklung

Dokumentations-Standards

Dokumentations-Standards legen die formalen Anforderungen an die Projekt-Dokumentation fest.

Grundlegend ist die Definition der Phasen sowie der in den Phasen erstellten Dokumente.

Page 27: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Die Feasibility Study ermittelt zu Beginn, ob das Projekt überhaupt weiter verfolgt werden sollte.

Logische Flußdiagramme legen die operativen Eigenschaften des geplanten Systems fest.

Page 28: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Im Data Dictionary werden die Inhalte der Datenbanken dokumentiert.

In der Anwenderspezifikation (user specification) werden die geforderten operativen Eigenschaften verbal beschrieben.

Der konzeptionelle Entwurf (conceptional design report) stellt die Basis für das detaillierte Systemdesign dar.

Page 29: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Das Systemdesign (systems design report) stellt eine Übersetzung des konzeptionellen Designs in eine Performance-Studie und eine Funktionsbeschreibung dar.

Die Programmbeschreibung (program description) sollte eine verbale Beschreibung, ein Flußdiagramm, den Quellcode und eine Beschreibung der Datenformate umfassen.

Page 30: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Das Anwenderhandbuch (run manual) beschreibt die zum laufenden Betrieb einer Anwendung erforderlichen Tätigkeiten.

Die Datenerfassung (data entry procedures) beinhaltet auch das Erstellen von Hinweisen und Schulungsunterlagen für den Anwender.

Page 31: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Was ist ein Migrationsplan (conversion plan)? Ein Bericht, der alle zur Systemumstellung

erforderlichen Schritte beschreibt. Eine Systemumstellung kann entweder

stichtagsmäßig oder durch Parallelbetrieb erfolgen.

Page 32: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Module A Module B Module CModule A Module B Module C

Old System Old System

Old SystemOld System

New SystemNew System

Old SystemOld System New SystemNew SystemStichtagsumstellung

Phasenumstellung

Parallelbetrieb

Time

Time

Page 33: Überblick über die Systementwicklung Systementwicklung

Überblick über die System-Dokumentation

Der Testplan (testing plan) sollte neben der Beschreibung des Tests auch Umfang und Beschaffenheit der Testdaten sowie eine Kurzfassung der Testergebnisse beinhalten.

Andere erforderliche Dokumente:– Betriebs- und Wartungszeitpläne (operating and

maintenance schedules)– Prüfplan (audit plan)– Anwenderhinweise (user comments)

Page 34: Überblick über die Systementwicklung Systementwicklung

Dokumentations-Standards für die Systemwartung

Die Einhaltung der Dokumentationsstandards und ihre praktische Umsetzung bei der Systementwicklung stellt eine große Aufgabe dar.

Dokumentationsstandards können selbst entwickelt oder zugekauft werden.

Dokumentation wird oft als Bringschuld (deliverables) bezeichnet.

Page 35: Überblick über die Systementwicklung Systementwicklung

Lernziel 3

Techniken der Systementwicklung

Page 36: Überblick über die Systementwicklung Systementwicklung

Produktivitätskontrollen für Analytiker/Programmierer

Der größte Teil der Entwicklungskosten entfällt auf die Bezüge der Systemanalytiker und Programmierer.

Ein Analytiker erstellt das Systemdesign für ein Programm, das noch nicht so detailliert ausgearbeitet ist wie das tatsächliche Programm.

Page 37: Überblick über die Systementwicklung Systementwicklung

Produktivitätskontrollen für Analytiker/Programmierer

Durch den Einsatz der strukturierten Analyse, Design, und graphischer Techniken sollte sich die Produktivität des Analytikers steigern lassen.

Die Produktivität der Programmierer kann durch die Art der Programmentwicklung sowie der Personalplanung erhöht werden.

Page 38: Überblick über die Systementwicklung Systementwicklung

Strukturierte Programmierung

Was ist die strukturierte Programmierung (SP, structured programming)?

SP betrifft den Programmierstil. Es handelt sich um konsequente

Strukturierungsmethoden, welche auch automatisierte Programmbeweise ermöglichen.

Page 39: Überblick über die Systementwicklung Systementwicklung

Strukturierte Programmierung

SP-Techniken können als Standard für die Codierungsphase eines Systemprojekts betrachtet werden.

Der Team-Ansatz (team approach) setzt ein Team voraus, welches einen Chefprogrammierer, einen oder mehrere Assistenten sowie eine(n) Programmsekretär(in) erfordert.

Page 40: Überblick über die Systementwicklung Systementwicklung

Strukturierte Programmierung

Die Produktivität von Programmierern kann auch durch technische Hilfsmittel gesteigert werden.

Spezialsoftware wie Präprozessoren (preprocessors), automatische Dokumentationssysteme können die Produktivität stark erhöhen.

Page 41: Überblick über die Systementwicklung Systementwicklung

Computer-Aided Software Engineering (CASE)

Was ist computer-aided software engineering (CASE)?

CASE ist der Einsatz von Software zur automationsunterstützten Erstellung und Wartung von Software.

CASE setzt einen hochgradig strukturierten Ansatz voraus.

Page 42: Überblick über die Systementwicklung Systementwicklung

Computer-Aided Software Engineering (CASE)

DiagrammingTools

DiagrammingTools

RepositoryRepository

CodeGeneration

CodeGeneration

ProjectManagement

ProjectManagement

PrototypingPrototypingSyntax

VerifiersSyntax

Verifiers

Page 43: Überblick über die Systementwicklung Systementwicklung

Prototyping

Was ist prototyping? Prototyping stellt einen anderen Ansatz zur

Entwicklung von Anwendungssystemen dar. Prototyping (rapid application development,

RAD) kommt vor allem dann zum Einsatz, wenn die Systemspezifikationen nur schwierig und/oder unvollständig im vorhinein bestimmt werden können.

Page 44: Überblick über die Systementwicklung Systementwicklung

Objektorientierte Techniken

Objektorientierte Technologien beinhalten die objektorientierte Programmierung (object-oriented programming, (OOP) und Objektdatenbanken (object- oriented databases).

Das Ziel der objektorientierten Programmierung ist die Vereinfachung der Programmentwicklung sowie die Erhöhung der Programmsicherheit v.a. auch durch die Wiederverwendbarkeit von Programmcode.

Page 45: Überblick über die Systementwicklung Systementwicklung

Objektorientierte Techniken

Eine objektorientierte Datenbank speichert Daten und Algorithmen, welche die Daten bearbeiten, als kompakte Einheit (das Objekt).

Es werden oftmals verwendete Objekte in einem sogenannten Repository (Objekt-Bibliothek) des Entwicklers gespeichert.

Oft verwendete Funktionen können von den “Eltern”-Objekten an ihre “Kinder” “vererbt” werden.

Page 46: Überblick über die Systementwicklung Systementwicklung

Kontrolle der Programmänderungen

Programmänderungskontrollen (program-change controls) betreffen die Wartung von Anwendungsprogrammen.

Ziel dieser Kontrollen ist das Unterbinden unauthorisierter Programmänderungen (u.U. in betrügerischer Absicht).

Programmänderungskontrollen erfordern eine Änderungsdokumentation und deren Durchsicht (review).

Page 47: Überblick über die Systementwicklung Systementwicklung

Datenbankverwaltung

Der Datenbankverwalter muß Standards und Dokumentation für die Elemente der Datenbank entwickeln.

Der Datenbankverwalter muß sich mit Datensicherheit, -integrität, verteiltem Zugriff, Sicherungskopien und Prüfspuren befassen (data security, integrity, data sharing, recovery/backup, and audit trails).

Page 48: Überblick über die Systementwicklung Systementwicklung

Lernziel 4

Planung und Kontrolle

der IT-Systementwicklung

Page 49: Überblick über die Systementwicklung Systementwicklung

Projekt-Team OrganisationInformation Systems

DepartmentInformation Systems

Department

Steering Committee

Steering Committee

User Department

User Department

Analysts/Programmers

Analysts/Programmers

LeadAnalysts

LeadAnalysts

TechnicalStaff

TechnicalStaff

UserMember

UserMember

ProjectLeaderProjectLeader

Page 50: Überblick über die Systementwicklung Systementwicklung

Verantwortlichkeiten des Projektleiters

Progress and Time Reporting

Allocation of

Resources

Status Reporting

Task Assignment

Activity Task/

Scheduling

Project Breakdown

SchedulingPlanning Control

Page 51: Überblick über die Systementwicklung Systementwicklung

Gliederung eines Projekts in Phasen und Teilaufgaben

ImplementationAnalysis Design

New System

ApplicationStudy

VendorSelection

OutputDesign

FormDesign

ProgramDesign

EquipmentDelivery

Documen-tation

1.0 2.0 3.0

1.1 1.2 3.1 3.2

2.1 2.32.2

Page 52: Überblick über die Systementwicklung Systementwicklung

Meßtechniken des Projektfortschritts

Einfachste Messung des Projektfortschritts: Schätzungen.

Alternativ: Messung des Projektfortschritts1 Identifizieren der Arbeitsschritte.2 Erhebung des Arbeitsvolumens pro Arbeitsschritt.

Page 53: Überblick über die Systementwicklung Systementwicklung

Meßtechniken des Projektfortschritts

3 Umrechnung des Arbeitsvolumens in eine Zeitangabe (auf Basis von Erhebungen betreffend Zeiterfordernis pro Tätigkeit).

4 Anpassung des Ergebnisses hinsichtlich Komplexität, Erfahrung, Stehzeiten etc.

Page 54: Überblick über die Systementwicklung Systementwicklung

Genauigkeit von Schätzungen

Prämissen der Schätzungen:1 Schätzungen sind nur Schätzungen.2 Mit zunehmender Projektdauer werden

Schätzungen genauer.3 Anfängliche Schätzungen liegen zumeist zu

niedrig.

Page 55: Überblick über die Systementwicklung Systementwicklung

Projektkalkulation (Project Accounting)

Eine Projektkalkulation (project accounting system) ist ein Kostenrechnungssystem, in dem Kosten einzelnen Projekten zugewiesen werden.

Eine effektive Projektkontrolle setzt eine leistungsfähige Projektkalkulation voraus, in welchem die aktuellen kumulierten Projektkosten ersehen werden können und welches am Projektende eine exakte Abrechnung ermöglicht.

Page 56: Überblick über die Systementwicklung Systementwicklung

Project Accounting System

ComputerUsage

Summaries

ComputerUsage

Summaries

ProjectAccounting

System

ProjectAccounting

System

OverheadRates

OverheadRates

Cost toDate

Cost toDate

ProgressReportProgressReport

TimeSheetsTimeSheets

Revised CostEstimate

Revised CostEstimate

Page 57: Überblick über die Systementwicklung Systementwicklung

Project Accounting System

ProjectAccounting

System

ProjectAccounting

System

Number 91-045Costs Actual BudgetMaterials XXX XXXLabor XXXX XXXXOverhead XXX XXXProject Schedule

Number 91-045Costs Actual BudgetMaterials XXX XXXLabor XXXX XXXXOverhead XXX XXXProject Schedule

Project File