Ü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.
Lernziele
1 Das Lebenszykluskonzept der Systementwicklung.
2 Dokumentations-Standards für IT-Systeme.3 Techniken der Systementwicklung.4 Planung und Kontrolle der IT-
Systementwicklung.
Lernziel 1
Das Lebenszykluskonzept der 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.
Organisatorisches Umfeld der Systementwicklung
SystemsAnalysisSystemsAnalysis
SystemsDesignSystemsDesign
OperationsOperations
UsersUsers Information SystemsInformation Systems
System Output
SystemRequirements
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.
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.
System-Design
… ist die detaillierte Beschreibung der Systemeigenschaften.
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.
Operating
Im operativen Bereich werden die Systeme dann verwendet.
Bei der Implementierung werden die neuen Systeme dann tatsächlich zum Einsatz gebracht.
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.
Lebenszyklus eines IT-Systems
AnalysisAnalysis
DesignDesign
ImplementationImplementation
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.
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
Probleme im Lebenszyklus
Euphorie Desillusionierung Resignation
Probleme im Lebenszyklus
Suche nach dem Schuldigen
Bestrafung des/r Unschuldigen
Belohnung der Unbeteiligten
Probleme im Lebenszyklus
Vorschlag der Anwender
Beschluß vom Entwicklungsteam
Entwurf der Systemanalyse
Probleme im Lebenszyklus
Umsetzung im Datenmodell
Implementierung durch die
Programmierer
Was die Anwender
tatsächlich wollten
Business Reengineering
… bezeichnet ein Systementwicklungsprojekt, bei dem eine gesamter Geschäftsbereich grundlegend neu gestaltet wird.
Wodurch wurde BPR (Business Process Reengineering) so beliebt?
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!
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.
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
Die Rolle der Informationstechnologie
3 Sequenzierung4 Verfolgung5 Analyse6 Geographische Unterstützung7 Integrative Unterstützung8 Intellektuelle Unterstützung9 Überbrückende Unterstützung
Lernziel 2
Dokumentations-Standards für IT-Systeme
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.
Ü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.
Ü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.
Ü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.
Ü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.
Ü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.
Ü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
Ü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)
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.
Lernziel 3
Techniken der 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.
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.
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.
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.
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.
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.
Computer-Aided Software Engineering (CASE)
DiagrammingTools
DiagrammingTools
RepositoryRepository
CodeGeneration
CodeGeneration
ProjectManagement
ProjectManagement
PrototypingPrototypingSyntax
VerifiersSyntax
Verifiers
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.
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.
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.
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).
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).
Lernziel 4
Planung und Kontrolle
der IT-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
Verantwortlichkeiten des Projektleiters
Progress and Time Reporting
Allocation of
Resources
Status Reporting
Task Assignment
Activity Task/
Scheduling
Project Breakdown
SchedulingPlanning Control
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
Meßtechniken des Projektfortschritts
Einfachste Messung des Projektfortschritts: Schätzungen.
Alternativ: Messung des Projektfortschritts1 Identifizieren der Arbeitsschritte.2 Erhebung des Arbeitsvolumens pro Arbeitsschritt.
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.
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.
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.
Project Accounting System
ComputerUsage
Summaries
ComputerUsage
Summaries
ProjectAccounting
System
ProjectAccounting
System
OverheadRates
OverheadRates
Cost toDate
Cost toDate
ProgressReportProgressReport
TimeSheetsTimeSheets
Revised CostEstimate
Revised CostEstimate
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