Überblick über die 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 Das Lebenszykluskonzept der Systementwicklung. Dokumentations-Standards für IT-Systeme. Techniken der Systementwicklung. Planung und Kontrolle der IT-Systementwicklung.
Das Lebenszykluskonzept der 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 Users Information Systems System Requirements Systems Analysis Systems Design Operations System Output
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: Erhebung des bestehenden Systems. Identifikation des Informationsbedarfs der Anwender. Identifikation der zu deren Erfüllung erforderlichen Systemkriterien. Vorbereitung eines Abschlußberichts der Systemanalyse.
System-Design … ist die detaillierte Beschreibung der Systemeigenschaften.
System-Design 3 Phasen des System-Designs: Entwurf alternativer Design-Varianten. Vorbereitung der detaillierten Design-Spezifikationen. 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 Analysis Design Implementation
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-Systems General Phases Detailed Phases Analysis Feasibility assessment Information analysis Design System design Program development Implementation Conversion Operation 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: Automation Information
Die Rolle der Informationstechnologie Sequenzierung Verfolgung Analyse Geographische Unterstützung Integrative Unterstützung Intellektuelle Unterstützung Überbrückende Unterstützung
Dokumentations-Standards für IT-Systeme 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 Time Stichtagsumstellung Old System New System Parallelbetrieb Old System New System Phasenumstellung Old System Module A Module B Module C 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.
Techniken der Systementwicklung 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) Diagramming Tools Syntax Verifiers Prototyping Repository Code Generation Project Management
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).
der IT-Systementwicklung Lernziel 4 Planung und Kontrolle der IT-Systementwicklung
Projekt-Team Organisation Steering Committee Information Systems Department User Department Project Leader User Member Lead Analysts Technical Staff Analysts/ Programmers
Verantwortlichkeiten des Projektleiters Planning Scheduling Control Project Breakdown Allocation of Resources Progress and Time Reporting Status Reporting Activity Task/ Scheduling Task Assignment
Gliederung eines Projekts in Phasen und Teilaufgaben New System 1.0 2.0 3.0 Analysis Design Implementation 1.1 1.2 3.1 3.2 Application Study Vendor Selection Documen- tation Equipment Delivery 2.1 2.2 2.3 Output Design Form Design Program Design
Meßtechniken des Projektfortschritts Einfachste Messung des Projektfortschritts: Schätzungen. Alternativ: Messung des Projektfortschritts Identifizieren der Arbeitsschritte. Erhebung des Arbeitsvolumens pro Arbeitsschritt.
Meßtechniken des Projektfortschritts Umrechnung des Arbeitsvolumens in eine Zeitangabe (auf Basis von Erhebungen betreffend Zeiterfordernis pro Tätigkeit). Anpassung des Ergebnisses hinsichtlich Komplexität, Erfahrung, Stehzeiten etc.
Genauigkeit von Schätzungen Prämissen der Schätzungen: Schätzungen sind nur Schätzungen. Mit zunehmender Projektdauer werden Schätzungen genauer. 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 Computer Usage Summaries Progress Report Time Sheets Project Accounting System Cost to Date Overhead Rates Revised Cost Estimate
Project Accounting System Project File Number 91-045 Costs Actual Budget Materials XXX XXX Labor XXXX XXXX Overhead XXX XXX Project Schedule