Marc Schwärzli SS 2011

Preview:

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

Grundlagen der

Wirtschafts-informatik

Entwicklung von Anwendungssystemen

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.

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

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

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?

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

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

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

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.

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.

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

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

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.

14

Anwendungsarchitektur

Anwendungs-architektur wird

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

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

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

17

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

◦Übungsfragen II

18

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

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

Lösung II

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

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

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

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.

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

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

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

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

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

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

• 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:

• 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

• 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

• 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

• 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

• 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.

• 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

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

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

38

Das Wasserfallmodell

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

• 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

• 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

• 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

• 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

• 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

• 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.

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.

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.

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

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.

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)

Ü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?

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

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, …

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

55

Recommended