Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 1 Grundlagen Was ist Software? Die Programme, Verfahren, zugehörige.

Ähnliche Präsentationen


Präsentation zum Thema: "Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 1 Grundlagen Was ist Software? Die Programme, Verfahren, zugehörige."—  Präsentation transkript:

1 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 1 Grundlagen Was ist Software? Die Programme, Verfahren, zugehörige Dokumentation und Daten, die mit dem Betrieb eines Rechnersystems zu tun haben (IEEE ) Software ist: –Computerprogramme –Prozeduren –Regeln für den Betrieb eines Computers –Dokumentation Unterscheidung in: –Systemsoftware: Betriebssystem, Compiler, Datenbanken, Kommunikations- und Dienstprogramme –Anwendungssoftware: Software, die Probleme des Anwenders löst. Zielgruppen –Individualentwicklung für einen Kunden –Entwicklung für den allgemeinen Markt (z. B. Spiele)

2 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 2 Grundlagen Softwarekosten dominieren die Kosten von Informatiksystemen

3 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 3 Grundlagen Kostenentwicklung von Software:

4 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 4 Grundlagen Vergleich: Kostenentwicklung bei Software und Hardware

5 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 5 Grundlagen Realität und Hoffnung: –Hoffnung: Softwarefabriken Programmgeneratoren portable Software denkende Maschinen –Realität: Freaks CASE-Tools, unterschiedliche Programmiersprachen unterschiedliche Programmierstile (objektorientiert, funktional, strukturiert)

6 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 6 Grundlagen Softwareentwicklung: Software-Entwicklung bedeutet die Umsetzung der Bedürfnisse von Benutzern in Software. Umfasst Spezifikation der Anforderungen, Konzept der Lösung, Entwurf und Programmierung der Komponenten, Zusammensetzung der Komponenten und ihre Einbindung in vorhandene Software, Inbetriebnahme der Software sowie Überprüfung des Entwickelten nach jedem Schritt. Das Problem verstehen –Anwendungsbereich verstehen –Anforderungen spezifizieren Lösung entwerfen Lösung umsetzen ( programmieren) Lösung integrieren und in Betrieb nehmen

7 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 7 Grundlagen Softwarepflege: Die Benutzerbedürfnisse ändern sich schneller, als Software von Grund auf neu entwickelt werden kann. Bestehende Software muss geändert und weiterentwickelt werden Software-Pflege (oder Software-Wartung), d. h. Modifikation und/oder Ergänzung bestehender Software durch neue Software mit dem Ziel, Fehler zu beheben, die bestehende Software an veränderte Bedürfnisse oder Umweltbedingungen anzupassen oder die bestehende Software um neue Fähigkeiten zu erweitern.

8 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 8 Grundlagen Probleme bei der Softwareentwicklung Komplexität –Komplexität des Anwendungsbereichs –Umfang des Systems –Zahl beteiligter Personen (mit ganz unterschiedlichen Voraussetzungen) Dynamik –Änderungen von Anforderungen –Änderungen von Rahmenbedingungen und technischen Voraussetzungen Zeitdruck Kostendruck

9 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 9 Grundlagen Unterschiede zwischen kleinen und großen Projekten KleinGroß Programme von 1 bis ca. 300 Zeilen Längere Programme Für den EigengebrauchFür den Gebrauch durch Dritte Vage Zielsetzung genügtGenaue Zielbestimmung erforderlich Ein Schritt vom Problem zur Lösung genügt. Mehrere Schritte erforderlich Lösung direktAuf jeden Entwicklungsschritt muss ein Prüfschritt folgen

10 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 10 Grundlagen Unterschiede zwischen kleinen und großen Projekten KleinGroß Komplexität des Problems in der Regel klein Komplexität des Problems größer bis sehr groß Behalten der Übersicht nicht schwierig Maßnahmen zur Strukturierung und Modularisierung erforderlich Software besteht aus wenigen Komponenten Software besteht aus vielen Komponenten; Maßnahmen zur Komponentenverwaltung In der Regel keine DokumentationDokumentation zwingend Keine Planung underforderlich Projektorganisation erforderlich

11 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 11 Grundlagen Wachstum des Kommunikationsbedarfs Anzahl der beteiligten Personen Kommunikationspfade Bei einer Person: keine Kommunikation ab 4 Personen: mehr Kommunikationspfade als Personen

12 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 12 Grundlagen Überproportionaler Anstieg des Aufwandes:

13 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 13 Grundlagen Software Engineering: -Technische Disziplin, -die sich mit der Bereitstellung und -der systematischen, -ingenieurmäßigen -Anwendung von -Prinzipien, Methoden und Werkzeugen -zum Entwurf und -zur Herstellung -von Software befasst.

14 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 14 Grundlagen Ziele des Software Engineering Funktionstreue –Software soll das leisten, was sich die Auftraggeber/Benutzer davon erwarten Qualität –Einhalten der Qualitätsanforderungen Termine –Kurze Entwicklungszeiten! –Einhalten der zugesagten Fertigstellungstermine Kosten –Kostengünstige Entwicklung von Software –Einhaltung des geplanten Sach- und Personalaufwandes

15 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 15 Grundlagen Qualität von Software Qualitätsmerkmale für Software (Beispiele) –Korrektheit: Software soll das leisten, was sich die Auftraggeber/Benutzer davon erwarten –Performance –Ressourcenbeanspruchung –Wartbarkeit –Kompatibilität zu andern Produkten –Usability –Kosten: Kostengünstige Entwicklung von Software; Einhaltung des geplanten Sach- und Personalaufwandes –Termingerechte Lieferung: Einhalten der zugesagten Fertigstellungstermine; Kurze Entwicklungszeiten! –After Sales Support –verständliche Dokumentation

16 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 16 Grundlagen Fehler bei der Softwareentwicklung Es wird sofort mit der Codierung begonnen Es wird nicht systematisch und ausreichend getestet; Testergebnisse werden nicht dokumentiert Eine Festlegung der Anforderungen fehlt Akzeptanzkriterien für die Qualitätsanforderungen fehlen Standards und Richtlinien werden nicht beachtet Dokumentation ist veraltet, fehlerhaft, unzureichend Ein Vorgehensmodell fehlt bzw. wird nicht verfolgt Eine Abnahme der Phasenergebnisse erfolgt nicht Schlechte Namensvergabe bei Variablen und Klassen Schulung wird vernachlässigt Falsche Auswahl der Werkzeuge

17 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 17 Grundlagen Effekte von Fehlern und Entstehungswege der unterschiedlichen Fehlerarten

18 Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 18 Grundlagen Zusammenfassung Die Entwicklung von Software erfordert ein systematisches, ingenieurmäßiges Vorgehen Herausforderungen bei der Software-Entwicklung sind Komplexität, Dynamik, Zeit- und Kostendruck Software Engineering ist die technische Disziplin, die sich mit der Erstellung von Software befasst. Hierfür stellt sie Prinzipien, Methoden und Werkzeuge bereit. Ziele sind Funktionstreue, Qualität, Termine, Kosten Wichtige Phasen eines Software-Projektes sind Planung, Analyse, Entwurf, Implementierung, Abnahme und Einführung, Wartung und Pflege


Herunterladen ppt "Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2009Folie 1 Grundlagen Was ist Software? Die Programme, Verfahren, zugehörige."

Ähnliche Präsentationen


Google-Anzeigen