55
Grundlagen der Wirtschafts- informatik Entwicklung von Anwendungssystemen Marc Schwärzli SS 2011

Marc Schwärzli SS 2011

  • Upload
    sovann

  • View
    34

  • Download
    5

Embed Size (px)

DESCRIPTION

Entwicklung von A nwendungssystemen. G rundlagen der Wirtschafts- informatik. Marc Schwärzli SS 2011. Anwendungen. zB Integration von Arbeitsabläufen Schaffung organisatorischer Flexibilität Unabhängigkeit von Standorten oder Herstellern Schnelle Nutzung neuer Technologien - PowerPoint PPT Presentation

Citation preview

Page 1: Marc  Schwärzli  SS 2011

Grundlagen der

Wirtschafts-informatik

Entwicklung von Anwendungssystemen

Marc Schwärzli SS 2011

Page 2: Marc  Schwärzli  SS 2011

2

• zB Integration von Arbeitsabläufen• Schaffung organisatorischer Flexibilität• Unabhängigkeit von Standorten oder Herstellern• Schnelle Nutzung neuer Technologien• Sicherung von Kooperationsmöglichkeiten• Investitionsschutz neuer und alter Anwendungen• Skalierbarkeit• Vermeidung von Komplexität• Wirtschaftlichkeit.

◦Anwendungen

Eine Anwendung dient zur Lösung vorgegebener Anwendungsprobleme , die nach Modellierung durch Softwareprodukte realisiert wird.

Page 3: Marc  Schwärzli  SS 2011

3

• Anwendungen sollten vom Nutzer an jedem Ort, zu jedem beliebigen Zeitpunkt, in der gewünschten Form abgerufen werden können.

• Anwendungen werden häufig in offene betriebliche Informationssysteme eingebettet:– Portierbarkeit (Übertragbarkeit über Systemgrenzen)– Interoperabilität (Zusammenarbeit mit anderen

Anwendungen)– Einheitliche Benutzeroberfläche.

◦Anwendungen

Page 4: Marc  Schwärzli  SS 2011

4

• Individualsoftware:– Begrenzt Einsetzbar– Auf ein Unternehmen speziell zugeschnitten– Oder aus strategischen Überlegungen für ein Unternehmen

bestimmt• Standardsoftware:

– Werden Änderungen nicht mehr von allen Nutzern verwendet, spricht man bereits von Individualsoftware.

– Durch Parameter wird Software an spezielle Belange des Nutzer abgepasst. (Parametrisierung ohne Änderung des Programmcodes)

– Customizing ist die Anpassung an Kundenwünsche

◦Standard- und Individualsoftware

Page 5: Marc  Schwärzli  SS 2011

5

• Auch Make-or-Buy Entscheidung• Je nach Anforderung wird eine

Standardanwendung gesucht. Die Anpassungsfähigkeit an die Gegebenheiten sollte berücksichtigt werden.

• Findet sich keine Standardanwendung, kann eine individuelle Lösung gefunden werden, die sich auf wenige Anwendungsfälle beschränkt.

◦Standard- oder Individualsoftware?

Page 6: Marc  Schwärzli  SS 2011

6

pro Standardsoftware contra Standardsoftware

Günstige Kosten Anpassungsprobleme

Schnelle Einführung Verringerte Individualität

Erweiterungen am Markt erhältlich Übernahme unnützer Funktionen

Verringertes Einführungsrisiko Herstellerunabhängigkeit

Vorhandene Referenzen Verlust von eigenem Know-how

Vermindertes Entscheidungsrisiko Mangelnde Transparenz

Übernahme eines Organisationskonzeptes Geringerer Einfluss auf das Produkt

Anlehnung an Standards Übernahme fremder Organisationslösungen

Hoher Reifegrad Kaum eigene Optimierungsmöglichkeiten

Gesicherte Qualität Abhängigkeit von externen Dienstleistern

Standard- versus Individualsoftware

Page 7: Marc  Schwärzli  SS 2011

7

Beurteilungskriterien für Standardanwendungen• Kommt keine Neu- oder Anpassungsentwicklung in Frage muss die

Anwendung nach bestimmten Kriterien ausgewählt werden.

allgemein anwendungs-bezogen

hersteller-spezifisch

informations-technisch

Vertragswesen Funktionalität Referenzen Entwicklungs-umgebung

Wartung & Service

Leistungsfähigkeit Mitarbeiter-anzahl

Datenhaltung & Grafik

Installations-unterstützung

Eingabe & Ausgabe

Örtliche Nähe Modukarität & Offenheit

Datenschutz Benutzer-freundlichkeit

Branchenimage Portierbarkeit

Datensicherheit Dokumentation Evaluierung Architektur & Struktur

Page 8: Marc  Schwärzli  SS 2011

8

Allgemeine Eigenschaften

Aufbau von Informationssystemen

Betrieb von IS Nutzung von Informations-systemen

Organisator-isches Konzept

Prozess der System-entwicklung

Wirtschaftlich-keit

Funktion-alität

Effizienz Benutzer-freundlichkeit

Abgegrenzt-heit

Mehrfachverwendung

Produktivität Problem-adäquatheit

Änderungs-fähigkeit

Robust-heit

Schnitt-stellen-definition

Standards, Normen

Fehlerfreiheit Modularität Erweiterbarkeit

Selbst-erklärung

Eingebundenheit

Werkzeug-nutzung

Zuverlässigkeit Hierarch-isierung

Wartungs-freundlichkeit

Flexibilität Integration Projekt-management

Problem-adäquatheit

Transparenz Verwaltungsaufwand

Nutzerunter-stützung

Durch-dringung

Dokument-ation

Anforderungen an SoftwaresystemeSchwarze 1995

Page 9: Marc  Schwärzli  SS 2011

9

• Weitere Aspekte sind:– Parametrierbarkeit, Datenintegration– Mandantenfähigkeit, Mehrsprachigkeit,

Autorisierung– Backup, Recovery, Import- und Exportfunktion– Client-Server-Architektur, Programmumgebung,

Schulungsofferten, Weiterentwicklung, Zertifikate…

Beurteilungskriterien für Standardanwendungen

Nach der Überprüfung des eigenen Bedarfs und des Marktangebotes ist die Make-or-Buy-Entscheidung unter Umständen neu zu treffen.

Page 10: Marc  Schwärzli  SS 2011

10

• Individual- oder Standardanwendungsentwicklung• Neu-, Anpassungs- oder Weiterentwicklung

– Neuentwicklung: zumindest wesentliche Teile werden neu entwickelt.

– Anpassung: Eigene Lösungen aufbauend auf Standardanwendungen oder Modernisierung.

– Als Weiterentwicklung werden kleinere Korrekturen bezeichnet.

Entwicklung und Architektur von Anwendungen

Ein großer Teil der Softwarelösungen kommt erst nach erheblichen Änderungen zum Einsatz. Daher wurde „learning by doing“ durch eine wirtschaftliche Systemplanung ersetzt.

Page 11: Marc  Schwärzli  SS 2011

11

• Als Software-Engineering bezeichnet man die systematische und fundierte Anwendung von Methoden, Verfahren, Standards und Werkzeugen zur Planung, Entwicklung, Realisierung und Wartung der Anwendungen.

• Systematische Vorgehensweise:– Zeitliche und inhaltliche Strukturierung – Aufbau von Subsystemen und

Regelkreisen.– Beachtung der Ziele.– Sequentielles Vorgehen nach Plan.– Einbau von Regelkreisen zur Selbstorganisation und Qualitätssicherung.– Interdisziplinäre Teamarbeit mit Projektorganisation.– Anwendung geeigneter Techniken, Methoden und Werkzeuge im

Entwicklungs- und Anwendungsprozess.

Software-Engineering

Page 12: Marc  Schwärzli  SS 2011

12

• Präsentationsebene– Darstellung der Benutzeroberfläche auf verschiedenen Ausgabegeräten

• Dialogebene– geräteunabhängige Steuerung und Koordination der

Benutzeroberfläche und des Benutzerdialogs.• Anwendungsebene

– Steuerung- und Verwaltung• Daten- und Dienstebene

– Erledigung der Anforderungen und Aufträge• Datenzugriffsebene

– Zugriff auf die anwendungsunabhängigen Datenbanksysteme

Schichtenmodell als Architekturkonzept für Anwendungen

Page 13: Marc  Schwärzli  SS 2011

13

• Funktionssicht • Datensicht• Organisationssicht• Prozesssicht• Ressourcensicht (bestehende Systemplattform)• Produktsicht (materielles oder immaterielles Produkt)

Sichten des ARIS-Konzeptes

Anwendungen werden von der Funktionsschicht geprägt. Man unterscheidet nach Verwendungszweck: branchenneutrale bzw spezifische Administrations- und Dispositionssysteme, Führungs- und Querschnittssysteme.

Page 14: Marc  Schwärzli  SS 2011

14

Anwendungsarchitektur

Anwendungs-architektur wird

vomGesamtmodell desInformations- und Kommunikations-systems über die Architektur des Anwendungs-systems bis hin zurBetrieblichenAusprägungentwickelt.

Page 15: Marc  Schwärzli  SS 2011

15

• Zählen Sie drei wichtige Eigenschaften von Anwendungen auf?

• Nennen Sie Vor- und Nachteile von Standardsoftware?• Was ist mit „Customizing“ in Bezug auf

Standardsoftware gemeint?• Eine besondere Form der Standardsoftware ist die

Public Domain Software. Was versteht man darunter?• Nennen Sie die 5 Ebenen des allgemein gültigen

Architekturmodells?

◦Übungsfragen

Page 16: Marc  Schwärzli  SS 2011

16

• Portierbarkeit, Interoperabilität, einheitliche Benutzeroberfläche. • Vorteile: Gesicherte Qualität, hoher Reifegrad, Übernahme eines

Organisationskonzeptes, vermindertes Entscheidungsrisiko, günstig, schnelle Einführung, Erweiterungen am Markt erhältlich.

• Nachteile: Abhängigkeit vom Hersteller, Anpassungsprobleme, Übernahme unnützer Funktionen, Abhängigkeit von externen Dienstleistern, Verlust von eigenem Know-how, mangelnde Transparenz.

• Customizing: Anpassung von Standardsoftware an Kundenwünsche.• Public Domain Software: Software, die der Allgemeinheit zur Verfügung

stehet. Der Anbieter übernimmt keine Pflichten, die sich aus der Anwendung der Software ergeben.

• Präsentationsebene, Dialogebene, Anwendungsebene, Daten- und Dienstebene, Datenzugriffsebene.

Lösung

Page 17: Marc  Schwärzli  SS 2011

17

• Nach welchen Kriterien kann Standardsoftware beurteilt werden? Welche herstellerbezogene und welche anwendungsbezogene Kriterien können Sie nennen?

◦Übungsfragen II

Page 18: Marc  Schwärzli  SS 2011

18

• Herstellerbezogene Kriterien: Referenzen, Mitarbeiteranzahl, örtliche Nähe, Branchenimage, Evaluierung.

• Anwendungsbezogene Kriterien: Funktionalität, Leistungsfähigkeit, Ein- und Ausgabe, Benutzerfreundlichkeit, Dokumentation.

Lösung II

Page 19: Marc  Schwärzli  SS 2011

19

• Wie wird ein Projekt im Rahmen einer Anwendungsentwicklung gemanagt, ohne die Informatikverantwortlichen vom fachspezifischen Teil zu entlasten.

Projektmanagement der Anwendungsentwicklung

Charakteristika eines Projekts

Zeitlich begrenzt Mehrere beteiligte Personen

Zielgerichtet Leitung, Führung und Kontrolle

Zu planende Aktivitäten Einmaligkeit, umweltbezogen

Messbarer Erfolg Strukturiertheit

Page 20: Marc  Schwärzli  SS 2011

20

• Projekte in der Anwendungsentwicklung sind durch besondere Eigenschaften gekennzeichnet:– Erheblicher Ressourcenverbrauch, meist durch

Fachpersonal– Zeitraum von der Initialisierung bis zur

Inbetriebnahme über Monate und Jahre– Hohes Fehlerrisiko bei isolierter Behandlung anstelle

eines intergralen Ansatzes– Hohes Ergebnisrisiko bezüglich der Projektziele– Unsicherheit bezüglich geplanter Termine und Kosten

Projekte in der Anwendungsentwicklung

Page 21: Marc  Schwärzli  SS 2011

21

• Ableitung der Projektziele aus den Unternehmenszielen.• Bestimmung der Projektleitung und der Projektorganisation.• Formulierung des Projektauftrages und der Detailziele.• Definition der Projektphasesn und des Ressourcenverbrauches.• Festlegen der Projektprioritäten.

Projektvorbereitung

• Projektorganisationsformen:

• Organisation durch Stabsstellen• Aufstellen einer „Task Force“ bzw eines Teams• Matrix-Projektorganisation

Page 22: Marc  Schwärzli  SS 2011

22

• Fachkenntnisse– Informatikkenntnisse, Kenntnisse der Projektfachbereiche,

kaufmännische- und juristische Kenntnisse.• Sozialkompetenz

– Einfühlungsvermögen, Motivationsfähigkeit, Verhandlungsgeschick, Überzeugungskraft, Urteilsvermögen, Konfliktbewältigung, Kritikfähigkeit, Informations- und Koordinierungsgeschick, Frustrationstoleranz.

• Konzeptionelle und organisatorische Fähigkeiten– Analytisches- und systematische Denkweise, Organisations- und

Improvisationsgeschick, Delegation von Aufgaben und Verantwortungsbereichen.

Anforderungen an die Projektleitung

Humanressourcen gelten in der Anwendungsentwicklung als der Schlüssel zum Erfolg.

Page 23: Marc  Schwärzli  SS 2011

23

• Die Projektplanung verläuft vom Groben zum Feinen und sollte folgende Resultate aufweisen:– Ein Gesamtplan mit untersetzten Arbeitspaketen– Ein Personalplan für Qualifizierung, Zeiträume und

Aufgabenverteilung.– Eine Wirtschaftlichkeitsprognose– Plan für die Ressourcenbereitstellung – Räume,

Betriebsmittel, Hilfsmittel.

Projektplanung

Page 24: Marc  Schwärzli  SS 2011

24

• Einhaltung der Terminplanung, Erfassung des Arbeitsfortschrittes.

• Laufender Vergleich der realen Aufwände mit den geplanten aufwänden.

• Zweckmäßigkeit der Aufgabenabgrenzung und der festgelegten Prioritäten.

• Zweckmäßigkeit der geplanten organisatorischen Maßnahmen und der eingesetzten Mittel.

Elemente der Projektkontrolle

Page 25: Marc  Schwärzli  SS 2011

25

• Formulierung klarer Zielsetzungen• Festlegung einer Projektorganisation• Einbindung späterer Nutzer bereits in der frühen Phase.• Bereitstellung qualifizierten Personals sowie

Finanzmittel und Ressourcen. • Transparenz für alle Beteiligte.• Frühe Personalschulung.• Nachvollziehbarkeit• Gesamtkonzept mit klaren Zuordnungen von Terminen,

Verantwortlichkeiten und Prioritäten je einzelner Phase.

Erfolgsfaktoren für Projekte in der Anwendungsentwicklung

Page 26: Marc  Schwärzli  SS 2011

26

• Nennen Sie drei wichtige Merkmale eines Projektes?

• Was sind die besonderen Kennzeichen von Projekten?

• Was ist das Ergebnis der Projektplanung durch die Projektgruppe?

• Was sind die Erfolgsfaktoren für Projekte der Anwendungsentwicklung?

Übungsaufgaben

Page 27: Marc  Schwärzli  SS 2011

27

• Merkmale: Zeitlich begrenzt, zielgerichtet, zu planende Aktivitäten, messbarer Erfolg, mehrere beteiligte Personen, Leitung-Führung-Kontrolle, gewisse Einmaligkeit, abgestimmt auf Umfeld, Gliederung und Strukturierung.

• Kennzeichen: erheblicher Ressourcenverbrauch vor allem an Fachpersonal, Initialisierung bis Inbetriebnahme kann über Monate und Jahre erstrecken, hohes Fehlerrisiko bei isolierter statt integraler Betrachtung, hohes Ergebnisrisiko in Bezug auf das Projektziel, Unsicherheiten bezüglich Termine und Kosten.

• terminisierter Gesamtplan mit einzelnen Arbeitspaketen, ein Personalplan hinsichtlich der Zeiträume, der Qualifizierung und Aufgabenverteilung.

• Eine Wirtschaftlichkeitsprognose bezüglich Finanzierung und Kosten.• Ressourcenbereitstellungsplan für Räume, Betriebs- und Hilfsmittel.• Erfolgsfaktoren: Formulierung klarer Zielsetzungen, Festlegung einer

Projektorganisation, Einbindung späterer Nutzer bereits in der frühen Phase, Bereitstellung qualifizierten Personals sowie Finanzmittel und Ressourcen, Transparenz für alle Beteiligte, Frühe Personalschulung, Nachvollziehbarkeit, Gesamtkonzept mit klaren Zuordnungen von Terminen, Verantwortlichkeiten und Prioritäten je einzelner Phase.

Auflösung

Page 28: Marc  Schwärzli  SS 2011

28

• Vorgehensmodelle auch Prozessmodelle genannt beschreiben wie an eine Projektabwicklung von der Idee über die Einführung bis zur Wartung heranzugehen ist.

• In einem Vorgehensmodell werden Aktivitäten von Personen ausgeführt, die als Ergebnis ein Artefakt hervorbringen, welches einer Qualitätsprüfung zu unterziehen ist.

• Die vorher definierte Menge an Artefakten ergibt das Softwareprodukt.

Vorgehensmodelle

Vorgehen bei der Anwendungsentwicklung

Page 29: Marc  Schwärzli  SS 2011

• Vorgehensmodelle beruhen auf Phasen.

Verworn, Herstatt: (2007), S. 9

Phasen

Eine Phase ist eine zeitlich begrenzte Untermenge eines Projektablaufs, der Arbeitsaufgaben zugeordnet sind.

EntwicklungKonzeption,Produktplanung

Ideengenerierung und Bewertung

Test,Prototyp Produktion

Frühe Phasen

- Marktanalysen- Produktkonzept- Produktplanung- Produktspezifikation- Produktarchitektur

- Entwicklung- Design Reviews- Industrial Design- InterdisziplinäreProjektteams

- Ideengenerierung- Ideenbewertung

- Prototypenbau- Markttest- endgültiges Design- VorbereitungSerienfertigung

- Produktion- Markteinführung- Marktdurchdringung- Produktpflege

Beispiel:

Page 30: Marc  Schwärzli  SS 2011

• Für Neu- Anpassungs- und Weiterentwicklung.

Allgemeine Phaseneinteilung

Allgemein gilt: Kompromiss aus Standardisierung und Freiheitsgraden- - Nur soviele Phasen, Aktivitäten und Rollen wie nötig- - Beim Aufbau der Artefakte auf Standardisierung achten- - Optimale Werkzeugunterstützung- - Artefakte einer Qualitätssicherung unterziehen

Page 31: Marc  Schwärzli  SS 2011

• Entwicklungs- Nutzung- und Verwertungsphase werden in der Anwendungsentwicklung als Software-Lebenszyklus bezeichnet.

• Das Phasenmodell ist in den Software-Lebenszyklus eingebettet.

• Es wird in einem Zyklus mehrfach durchlaufen, Bei Entwicklung, Weiterentwicklung, Reengineering vollständig, bei Wartung und Anpassung nur teilweise.

Das Lebenszyklusmodell

Page 32: Marc  Schwärzli  SS 2011

• Wirtschaftlichkeit eins Standardproduktes:

• Methoden zur Abschätzung der Personalkosten:– Analogiemethode– Relationsmethode– Multiplikatormethode– Prozentsatzmethode– Methode der parametrischen Gleichung– Gewichtungsmethode

Aufwandschätzung bei Softwareprojekten

itragDeckungsbeDBgskostenEntwicklun einmalige-eAbsatzmeng geschätzte*DBGewinn

Kosten variablePreis)(

erangestrebtDB

Page 33: Marc  Schwärzli  SS 2011

• Analogiemethode:– Vergleich mit bereits abgeschlossenen Projekten. ZB gleiches

Anwendungsgebiet, ähnlicher Komplexitätsgrad.• Relationsmethode:

– Wie Analogiemethode, nur anhand von Faktorlisten (Art der Programmiersprache, Erfahrung der Programmierer, Art der Datenorganisation)

• Multiplikatormethode:– Aufwand pro Einheit, zerkleinern in Teilprodukte bis ein

feststehender Aufwand zugeordnet werden kann.

Abschätzung der Personalkosten

Page 34: Marc  Schwärzli  SS 2011

• Prozentsatzmethode:– Verhältnis Gesamtaufwand zu den einzelnen Phasen. ZB nach erster

Phase wird der Aufwand für die restlichen Phasen abgeschätzt.• Methode der parametrischen Gleichung:

– Entscheidend sind die Faktoren mit dem höchsten wertmäßigen Einfluss auf den Gesamtaufwand.

• Gewichtungsmethode:– Gesamtaufwand ergibt sich aus wertmäßig festgelegten Faktoren.

Subjektive Faktoren (Qualität des Personals) und objektive Faktoren (Programmiersprache) werden Werte zugeordnet aus denen sich der mathematische Gesamtaufwand errechnet.

Abschätzung der Personalkosten.

Page 35: Marc  Schwärzli  SS 2011

• Aufwandsermittlung mittels Gewichtung.• Besonders bei großen und mittleren Projekten.

– Produktanforderung wird einer Kategorie zugeordnet.• Eingabedaten, Abfragen, Ausgaben, Datenbestände, Referenzdaten.

– Klasseneinteilung in einfach, mittel, Komplex und die Vergabe von Function-Points nach Gewichtung. Man weiß wie viele Anforderungen in einer Kategorie sind und welche Klassen vertreten sind.

– Nach einem bestimmten Berechnungsschema ergeben sich Gesamtpunkte, die einem Aufwand in Mitarbeitermonaten, ablesbar in einer Tabelle, entsprechen.

• Vor- und Nachteile:– Eine größere Zahl an Projekten im gleichen Gebiet muss bereits durchgeführt worden

sein. – Es wird nur der Gesamtaufwand geschätzt, kein Teilaufwand.– Qualitätsanforderungen werden nicht berücksichtigt.– Methode neigt dazu zu geringe Aufwendungen auszugeben.

Function-Point-Methode

Page 36: Marc  Schwärzli  SS 2011

36

• Aufgrund der Inflexibilität der Anwendungsentwicklung entstanden modifizierte Methoden zur Anwendungsentwicklung.– Bessere Beherrschung des Entwicklungsprozesses– Einsatz moderner Methoden der

Informationsverarbeitung und angrenzender Disziplinen (Systemtheorie, Werkzeugentwicklung)

Prozessmodelle in der Praxis

Spezielle Methoden der Anwendungsentwicklung

Page 37: Marc  Schwärzli  SS 2011

37

• Rückkopplungsschleifen ermöglichen Überarbeitung auf einzelne Stufen zu begrenzen– Jede Aktivität muss in der Reihenfolge und in der

Breite durchgeführt werden.– Am Ende jeder Aktivität wird ein Dokument erstellt.– Top-down-Vorgehensweise, eine Aktivität muss

abgeschlossen sein bevor die nächste beginnt.– Einbindung künftiger Nutzer ist nur in der

Definitionsphase vorgesehen.

Das Wasserfallmodell

Page 38: Marc  Schwärzli  SS 2011

38

Das Wasserfallmodell

Page 39: Marc  Schwärzli  SS 2011

39

• Das V-Modell– Um die Aspekte der Qualitätssicherung erweitertes Wasserfallmodell– Aktivitäten und Produkte im Entwicklungsprozess werden festgelegt.

(Produkt ist der Bearbeitungsgegenstand einer Aktivität)• Das Lebenszyklusmodell

– Wird allerdings in engem Zusammenhang mit dem Phasenmodell gesehen.

• Prototyping• Evolutionäres Modell• Objektorientierung• Spiralmodell• Case-Tools

Weitere Alternativen zum Phasenmodell

Page 40: Marc  Schwärzli  SS 2011

• Voraussetzungen fürs Prototyping:– Zugang zu einem entsprechenden Computersystem– Entsprechende Entwicklungswerkzeuge– Eine Datenbasis zum Testen

Das Prototyping

Prototyping stellt ein verkürztes Verfahren dar mit dem Ziel den Nutzer früher in die Entwicklung einzubeziehen. An Hand des Prototypen legen Entwickler und Nutzer gemeinsam weitere Entwicklungsaufgaben fest. Dadurch soll mehr Transparenz in den Entwicklungsprozess gebracht werden.

iphone-Prototyp, apfelnews

Page 41: Marc  Schwärzli  SS 2011

• Vernachlässigt werden Effizienz, Sicherheit, Zuverlässigkeit und ausgefeilte Ergonomie.

• Nicht realisierte Funktionen werden durch Menüverweise angedeutet.

• Nutzer können schon während der Entwicklung des Prototypen eingebunden werden.

Das Prototyping

Urheber: Thomas doerfer

Page 42: Marc  Schwärzli  SS 2011

• Demonstrationsprototyp– Zur Entscheidungsvorbereitung und Projektorganisation

• Entwurfsprototyp– Teilweise realisiert sowohl in der Breite (Benutzeroberfläche) als

auch in der Tiefe (Funktionen)• Labormuster

– Realisierte Auszüge (Subsysteme) als Experimentalsysteme und für Machbarkeitsstudien

• Pilotsysteme– Ausgereifter Prototyp mit Nutzungsmöglichkeiten, der nach einer

Nutzungsperiode weiter ausgebaut werden kann.

Arten von Prototypen

Page 43: Marc  Schwärzli  SS 2011

• Rapid Prototyping– Ein Prototyp wird rasch als Vorlagemuster entwickelt,

jedoch nach der Bestätigung des Nutzers nicht mehr weiterentwickelt. Der Prototyp dient für die folgende Neuentwicklung nur mehr als Vorlage.

• Evolutionäres Prototyping– Der Prototyp wird beginnend mit der

Benutzeroberfläche schrittweise entwickelt, indem immer wieder auf bestehendem aufgebaut wird.

Arten des Prototyping

Page 44: Marc  Schwärzli  SS 2011

• Beim Wasserfall- und V-Modell wird unterstellt, dass alle Anforderungen des Auftraggebers zu Beginn herausgefunden werden können.

• Bei langer Entwicklungszeit können sich Anforderungen jedoch ändern, auch können Wünsche erst nach vollständiger Inbetriebnahme entstehen was zu weiteren Entwicklungszeit und –kosten führt.

• Diese Voraussetzungen haben zur evolutionären Software-Entwicklung geführt.

Das evolutionäre Modell als Alternative zum Phasenmodell

Page 45: Marc  Schwärzli  SS 2011

• Kennzeichen der Methode:– Stufenweise Entwicklung aufgrund von Erfahrungen des Auftraggebers.– Es entstehen Teilprodukte, die unabhängig voneinander lauffähig sind.– Pflegeaktivitäten führen zu einer neuen Programmversion.

• Nachteile:– Entstehen wenn in der Nullversion Kernanforderungen übersehen worden sind.– System kann zu unflexibel für neue Evolutionsstufe sein.

• Inkrementelles Modell als Ergänzung:– Teilprodukte werden erst eingefügt, nachdem die Anforderungen möglichst umfassend und

vollständig erfasst wurden. Dadurch soll die Nullversion möglichst alle Anforderungen enthalten.

Das evolutionäre Modell

• Aufgrund von Kernanforderungen wird eine Nullversion erstellt

• Auftraggeber testet Nullversion und gibt zusätzliche Anforderungen für eine neue Version weiter.

Page 46: Marc  Schwärzli  SS 2011

Objekt- und Komponentenorientierung

• Relevante Objekte stehen satt der Funktionen (Tätigkeiten) im Vordergrund.

• Erst nachdem Objekte erkannt und miteinander in Beziehung gebracht wurden, werden Funktionen zur Veränderung der Objekte miteinbezogen.

• Vorteil ist die leichtere Erkennbarkeit und die längere Lebensdauer von Objekten.

• Objektorientierung geht einher mit einer Modularisierung und führt zu einer komponentenbasierten Softwareentwicklung.

• Damit Softwaresysteme erweiterbar und flexibel bleiben, werden sie aus Komponenten zusammengesetzt.

Page 47: Marc  Schwärzli  SS 2011

Das Spiralmodell

• Schritt 1:– Identifikation der Ziele des Teilproduktes (Funktionalität, Modularität)– Prüfung alternativer Möglichkeiten, um das Teilprojekt zu realisieren– Auswirkungen der Alternativen hinsichtlich Zeit, Kosten, Schnittstellen

• 2. Schritt– Evaluierung aller Alternativen unter Berücksichtigung der Ziele und Auswirkungen– Verfolgung der kosteneffektivsten Strategie

• 3. Schritt– Festlegung des Prozessmodells (Wasserfall, Prototyping), für die Softwareentwicklung in Abhängigkeit

von Restrisiken.Eventuelle Kombination von Prozessmodellen zur weiteren Risikominimiereung.• 4. Schritt

– Planung des nächsten Zyklus (nächstes Teilprodukt): notwendige Ressourcen, Einteilung in unabhängig voneinander entwickelbare Komponenten.

– Erneutes durchlaufen der Schritte 1 bis 3 sowie Übereinkunft über den nächsten Zyklus.

Im Spiralmodell wird das Produkt in Teilprodukte zerlegt. Jedes Teilprodukt durchläuft 4 zyklische Schritte.

Page 48: Marc  Schwärzli  SS 2011

Nachteile:Hoher Managementaufwand,daher ungeeignet für kleinere und mittlere Projekte.Kenntnisse im Risikomanagement sind notwendig.Vorteile:Hohe Flexibilität, unterstützt Weiterentwicklung.

Page 49: Marc  Schwärzli  SS 2011

CASE-Computer Aided Software Engineering

• Für komplexe Aufgaben können AEU (Anwendungsentwicklungsumgebungen) eingesetzt werden.

• Sind selbst Anwendungen, mit eigenem Lebenszyklus, Schnittstellen…

Entwicklungswerkzeuge, die phasenweises Vorgehen, Prototyping, Objektorientierung und andere Aspekte unterstützen.

Page 50: Marc  Schwärzli  SS 2011

CASE-Computer Aided Software Engineering

• CASE umfaßt folgende Klassen von Entwicklungswerkzeugen:– Modellierungssysteme– Programmiersprachen mit gewisser Allgemeinverständlichkeit– Generierende Werkzeuge, die Programmteile in einer höheren Programmiersprache

erstellen– Datenbanksysteme– Editier- Formatier und Testhilfen (zB Debugger)– Künftig auch wissensbasierte, entscheidungsunterstützende Expertensysteme.

• Modifizierte Vorgehensmodelle:– Rapid Application Development (RAD)– Nutzer erhält frühzeitig ein in Teilbereichen nutzungsfertiges Produkt– RAD verfügt über Tools wie sie in einer AEU verfügbar sind– Phasen: Planung, Analyse, Entwicklung, Realisierung, Implementierung.

Eine AEU besteht aus den Hauptkomponenten Methode und em CASE-Tool (Entwicklungsinfrastruktur)

Page 51: Marc  Schwärzli  SS 2011

Übungsfragen

• Welche Verbesserungen werden mit dem Wasserfall- und dem V-Modell erreicht?

• Nennen Sie weitere Alternativen zu dem Phasenmodell und beschreiben Sie diese?

• Wie können Phasen allgemein eingeteilt werden?

• Welche Arten von Prototypen können Sie nennen?

Page 52: Marc  Schwärzli  SS 2011

Antworten

• Praxistauglichkeit• Prototyping, Evolutionäres/ inkrementelles Modell,

Objektorientierung, Spiralmodell, CASE-Tools.• Analysephase (Situationsstudie),

Definitionsphase(Produktdefinition), Entwurfsphase (Produktentwurf), Implementierungsphase (Programme), Abnahme- und Einführungsphase (Installiertes Produkt), Wartungsphase (gewartetes Produkt).

• Demonstrationsprototyp, Entwurfsprototyp, Labormuster, Pilotsysteme

Page 53: Marc  Schwärzli  SS 2011

Anforderungen an die Ergebnisse der Anwendungsentwicklung.

• Allgemeine Anforderungen• Einheitliche Nutzeroberfläche, Mehrfachnutzung, Portabilität, Offenheit der Lösung, …

• Anforderungen an die Kommunikation• Interoperabilität auf Anwendungsebene, unterschiedliche Kommunikationsmodi, …

• Anforderungen an die Benutzeroberfläche• Unterstützung unterschiedlicher Oberflächensysteme, Prototypingsupport, …

• Anforderung an die Datenhaltung• Konsistenz, Datensicherheit, Datenschutz, …

• Anforderungen an die Anwendungen• Autonomie der Anwendungen, Wiederverwendbarkeit der Services, Integration von

Arbeitsabläufen, …

• Anforderungen an die Administration• Zentrales wie dezentrales Monitoring, Online-Tuning, definiertes Fehlermanagement, …

• Anforderungen an die Konfiguration• Globale Sicht, Online-Änderungen der Konfiguration, Generierung von Installationsbeständen, …

• Anforderungen an die Migration/ Integration• Nutzung von Services existierender Anwendungen, Integration von Standardsoftware und –

diensten, …

Page 54: Marc  Schwärzli  SS 2011

Erfolgskontrolle der Anwendungsentwicklung

• Bewertungskriterien:• Wirtschaftliche Aspekte• Soziale/ personelle Aspekte• Betriebliche, organisatorische Aspekte• Konkurrenzfähigkeit, Kundendienste (externe Aspekte)• Image, Umweltverträglichkeit (politische Aspekte)• Zeitliche Aspekte (Verfügbarkeit von Informationen, ROI)

– Investitionsrechnung: einmalige und laufende Kosten.• Nutzen entsteht aus:

– Direkte Einsparungen, vermeidbare Kosten, Erhöhung der Einnahmen und Imponderabilien

– Imponderabilien: • nicht quantifizierbare Faktoren• Je mehr desto unsicherer die Kalkulation; nicht vorhersehbare Risken• zB Änderung der Gesetzeslage, Änderung der Hardware

Page 55: Marc  Schwärzli  SS 2011

55