Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

eAQUA Workshop Einführung Software Engineering

Ähnliche Präsentationen


Präsentation zum Thema: "eAQUA Workshop Einführung Software Engineering"—  Präsentation transkript:

1 eAQUA Workshop Einführung Software Engineering
Gerhard Heyer Universität Leipzig

2 Begriffsbestimmungen
Software Computer programs, procedures, rules, and possibly associated documentation and data pertaining to the operation of a computer system (IEEE Standard Glossary of Software Engineering Terminology / ANSI 83 /). Menge von Programmen oder Daten zusammen mit begleitenden Dokumenten, die für ihre Anwendung notwendig oder hilfreich sind (Ein Begriffssystem für die Softwaretechnik / Hesse et al. 84/). Prof. Dr. G. Heyer

3 Begriffsbestimmungen
Ein Produkt ist ein in sich abgeschlossenes, i. a. für einen Auftraggeber bestimmtes Ergebnis eines erfolgreich durchgeführten Projekts oder Herstellungsprozesses. Unter einen System wird eine Ausschnitt aus der realen oder gedanklichen Welt, bestehend aus Gegenständen (z. B. Menschen, Materialien, Maschinen oder anderen Produkten) und darauf vorhandenen Strukturen (z. B. deren Aufbau aus Teileinheiten oder Beziehungen untereinander) verstanden. (Hesse et al. 84). Ein Software-System ist dementsprechend ein System, dessen Systemkomponenten und Systemelemente aus Software bestehen. Prof. Dr. G. Heyer

4 Begriffsbestimmungen
Anwendungssoftware (application software), auch Applikationssoftware genannt, ist Software, die Aufgaben des Anwenders mit Hilfe eines Computersystem löst. Anwendungssoftware setzt in der Regel auf der Systemsoftware der verwendeten Hardware auf bzw. benutzt sie zur Erfüllung der eigenen Aufgaben. Anwender werden alle Angehörigen einer Institution oder organisatorischen Einheit bezeichnet, die ein Computersystem zur Erfüllung ihrer fachlichen Aufgaben einsetzen. Sie benutzen die Ergebnisse der Anwendungssoftware oder liefern Daten, die die Anwendungssoftware benötigt. Prof. Dr. G. Heyer

5 Begriffsbestimmungen
Benutzer sind nur diejenigen Personen, die ein Computersystem unmittelbar einsetzen und bedienen, oft auch Endbenutzer oder Endanwender genannt. Ein technisches System setzt sich aus dem Computersystem und sonstigen technischen Einrichtungen zusammen. Prof. Dr. G. Heyer

6 Rechnergestütztes Informationssystem / Anwendungssystem
Organisatorisches System Technisches System DV-System SW Anwendungs-SW System-SW Benutzer Sonstige technische Einrichtungen Anwender Hardware Mitarbeiter Computersystem Systemkomponente bzw. Systemelement Prof. Dr. G. Heyer

7 System Aspekte von Software Daten ER (Entity Relationship) Funktionen
Assoziations-Matrix Daten ER (Entity Relationship) DD (Data Dictionary) DFD (Datenfluß-Diagramm) Masken-Generator SA Funktionen Funktions Baum DFD (Datenfluß-Diagramm) Benutzer Grafik-Editor Kontroll- Strukturen Regeln System OOA Dynamik Petri-Netz Zustandsautomat Kontroll-Strukturen Interaktions-Strukturen RT-Erweiterung von SA Prof. Dr. G. Heyer

8 Warum ist es schwierig gute Software zu entwickeln?
Jede Produktentwicklung muss versuchen, folgende Anforderungen einzuhalten: a) Funktionstreue, d. h. die Übereinstimmung der definierten Produktanforderungen mit dem fertiggestellten Produkt. b) Qualitätstreue, d. h. die Übereinstimmung der definierten Qualitätsanforderungen mit dem fertiggestellten Produkt. c) Termintreue, d. h. die Einhaltung der im Entwicklungsplan festgelegten und dem Kunden bzw. dem Marketing zugesagten Fertigstellungstermine. d) Kostentreue, d. h. die Einhaltung des in der Wirtschaftlichkeits-Rechnung geplanten Personal- und Sachaufwandes für die Produkt-Erstellung und -Pflege. Prof. Dr. G. Heyer

9 Software Technik Software Engineering: The systematic approach to the development, operation, maintenance, and requirement of software (IEEE Standard Glossary of Software Engineering Terminology /ANSI 83/). Software-Engeneering: Das ist ingenieurmäßiges Entwerfen, Herstellen und Implementieren von Software sowie die ingenieurwissenschaftliche Disziplin, die sich mit Methoden und Verfahren zur Lösung der damit verbundenen Problemstellung befaßt. (Brockhaus-Enzyklopädie). Prof. Dr. G. Heyer

10 Die 7 häufigsten Fehler der SW Entwicklung
Falsche oder fehlende Funktionalität Schlechte Bedienbarkeit Unübersichtliche Programmstruktur Unterschätzter Aufwand für Daten- und Systemintegration Ineffiziente oder inadäquate Algorithmen Ineffizientes Testen Unvollständige Programm- und Benutzerdokumentation Prof. Dr. G. Heyer

11 Voranalyse des Produkts
Festlegen der Hauptanforderungen Festlegen der Hauptfunktionen Festlegen der Hauptdaten Festlegen der Hauptleistungen Festlegen der wichtigsten Aspekte der Benutzungsschnittstelle Festlegen der wichtigsten Qualitätsmerkmale Wichtig für eAQUA: AG Anforderungen! Prof. Dr. G. Heyer

12 Das klassische Entwicklungsmodell: Wasserfall
FORDERUNGS- ANALYSE ARCHITEKTUR SYSTEM- SPEZIFIKATION WARTUNG / PFLEGE DETAILLIERTER ENTWURF QUELLTEXT SCHREIBEN UND FEHLER SUCHEN TESTEN DES MODULS DES SYSTEMS Entwurf: 40 % Implementierung: 20 % Testen und Dokumentation: 40 % Prof. Dr. G. Heyer

13 Voraussetzungen des Wasserfallmodells
Klare Vorstellung des Produkts und seiner Nutzung Gemeinsames Verständnis der Anforderungen und Spezifikationen Gemeinsames Verständnis von Aufwand und Nutzen einzelner Software-Komponenten Muss in eAQUA erst noch erarbeitet werden! Die Erarbeitung eines gemeinsamen Verständnisses der Produkte sowie der Anforderungen und Spezifikationen ist ein iterativer Prozess und wesentlicher Bestandteil des Projekts. Daher abweichend vom Wasserfallmodell: Rapid Prototyping Prof. Dr. G. Heyer

14 Grundprinzipien der SW Entwicklung
Hierarchisierung Zerlegung eines Problems in Teilprobleme, so daß eine Baumhierarchie entsteht. Modularisierung Entwicklung von Produkten oder Teil- Produkten, die nur über eine definierte Schnittstelle mit der Umwelt kommunizieren können und sonst kontextunabhängig sind. Strukturierung Entwurf von Programmen, so daß nur Sequenz, Auswahl und Wiederholung vorkommen. Prof. Dr. G. Heyer

15 Der Aufwand pro Phase verteilt sich folgendermaßen:
Erfahrungssätze Der Aufwand pro Phase verteilt sich folgendermaßen: - Definitionsphase: 18% ± 10% - Entwurfsphase: 19% ± 10% - Implementierungsphase: 63% ± 10% davon Codierung 34% ± 10% Test 29% ± 10% Prof. Dr. G. Heyer

16 kürzeste Entwicklungnszeit
Erfahrungssätze Entwicklungsaufwand t, Anzahl Mitarbeiter n Entwicklung ohne Kommunikation: t ~ 1/n Entwicklungsaufwand mit Kommunikationsaufwand k: T ~ 1/n + k[ (n * (n-1))/2 ] ~ 1/n + k (n2/2) Die optimale Anzahl von Mitarbeitern in einem SW-Projekt liegt bei ca. drei bis fünf Mitarbeiter pro Modul. Entwicklungnszeit kürzeste Entwicklungnszeit Anzahl Mitarbeiter Prof. Dr. G. Heyer

17 Die offene und ehrliche Kommunikation
Erfahrungssätze Implementierung ohne hinreichende Spezifikation führt zu Misserfolg. Für die iterative Festlegung des Produkts muss genügend Zeit und Diskussion zur Verfügung stehen. Nachträgliche Änderungen sind teuer. Die Anzahl von Mitarbeitern in einem Teilprojekt zu erhöhen beschleunigt nur bedingt die Fertigstellung des Produkts. Die offene und ehrliche Kommunikation zwischen allen Projektbeteiligten ist entscheidend für den Erfolg des Produkts! Prof. Dr. G. Heyer


Herunterladen ppt "eAQUA Workshop Einführung Software Engineering"

Ähnliche Präsentationen


Google-Anzeigen