software-entwicklung gesamtschule hungen martin müller-fay

42
Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Upload: robert-becker

Post on 06-Apr-2016

235 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Software-Entwicklung

Gesamtschule HungenMartin Müller-Fay

Page 2: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Was versteht man unter Softwareentwicklung?

• Unter Software-Entwicklung versteht man den Vorgang ein Computerprogramm zu erstellen

Page 3: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Schritte der Software-Entwicklung

• Kernprozesse der Software-Entwicklung• Unterstützungsprozesse

Page 4: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Kernprozesse

• Planung• Analyse• Entwurf• Programmierung• Validierung und Verifikation

Page 5: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Planung

• Lastenheft• Pflichtenheft• Aufwandsabschätzung• Festlegen der Vorgehensweise

Page 6: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Aufgabe

1. Erstelle mit Deinem Nachbar ein Lastenheft für ein Programm zur Überprüfung der Versetzung in Klasse 12!

2. Erweitere das Lastenheft zu einem Pflichtenheft. Wie soll das Lastenheft umgesetzt werden?

• Literatur:Verordnung über die Bildungsgänge und die Abiturprüfung in der gymnasialen Oberstufe und dem beruflichen Gymnasium (VOGO/BG) § 17 Abs. 2f.

Page 7: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Analyse

• Anforderungsanalyse• Prototyp erstellen• Prozessanalyse • Erstellen eines Prozessmodells• Systemanalyse

Page 8: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Aufgabe

• Zeichnet ein Diagramm, welches Eure Vorgehensweise bei der Ermittlung der Zulassung für die Jahrgangsstufe 12/13 darstellt.

• Versucht anhand des Diagramms herauszufinden, ob Ihr alles richtig verstanden habt.

• Behebt mögliche Fehler

Page 9: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Entwurf

• Software-Architektur• Top – Down• Bottom – Up• Visualisierug

Page 10: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Programmierung

• Codierung

Page 11: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Validierung und Verifikation

• Test der einzelnen Module• Systemtest• Belastungstests• Benutzerfreundlichkeit• Abnahmetest durch den Kunden

Page 12: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Unterstützungsprozesse

• Anforderungsmanagement• Projektmanagement• Qualitätsmanagement• Konfigurationsmanagement• Dokumentation

Page 13: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Anforderungsmanagement

• Erhebung von Anforderungen• Kontrolle von Anforderungen• Verwaltung von Anforderungen

Page 14: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Qualitätsmanagement

• Qualitätsplanung• Qualitätslenkung• Qualitätssicherung• Qualitätsverbesserung

Page 15: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Projektmanagement

• Projektplanung• Risikomanagemnent• Projektsteuerung

Page 16: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Konfigurationsmanagement

• Versionsverwaltung• Änderungsmanagement /

Veränderungsmanagement• Release Management• Application Lifecycle Management

Page 17: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Dokumentation

• Handbuch• Online-Hilfe• Quellcode-Dokumentation• Konfigurations-Dokumentation

Page 18: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Prozessmodelle Rational Unified Process

Page 19: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Programmablaufplan(Flussdiagramm)

• Darstellung festgelegt in DIN 66001 • Graphische Umsetzung eines Algorithmus

in einem Programm und beschreibt die Folge von Operationen zur Lösung einer Aufgabe.

Quelle: wikipedia.de

Page 20: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Beispiel

Page 21: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (1)

• Operation

• Aufruf eines Unterprogramms

• Ein- bzw. Ausgabe

Page 22: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (2)

• Verzweigung

Übergangsstelle

• Grenzstelle, Start oder Ende

Page 23: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (3)

• Ablauflinien

• Schleifenbeginn

• Schleifenende

Quelle: http://schulen.freiepresse.de/gymnasiumolbernhau/informatik/algorithmen.htm#struktogramm

Page 24: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Struktogramm(Nassi und Shneiderman)

• Darstellung festgelegt in DIN 66261 • Das Gesamtproblem wird in immer kleinere

Teilprobleme zerlegt.

Page 25: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Beispiel

Page 26: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (1)

• Operationen

• Eingabe

• Ausgabe

Page 27: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (2)

• Schleife mit Überprüfung am Ende der Schleife

• Schleife mit Überprüfung am Beginn der Schleife

Page 28: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (3)

• Einfache Verzweigung

• Mehrfache Verzweigung

Page 29: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Wichtige Elemente (4)

• Aufruf eines Unterprogramms

Quelle: http://schulen.freiepresse.de/gymnasiumolbernhau/informatik/algorithmen.htm#struktogramm

Page 30: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Programmierung

Martin Müller-Fay

Page 31: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Programmiersprachen

Page 32: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Maschinensprache

• Der Mikroprogrammspeicher enthält Schaltgruppen zur Ausführung bestimmter Befehle, die durch ein spezielles Bitmuster identifiziert werden.

• Die Menge aller Bitmuster, denen Befehle zugeordnet werden, bilden die Maschinensprache der jeweiligen informationsverabeitenden Anlage.

• Jede Folge von Maschinenbefehlen ist direkt ausführbar.

Page 33: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Assembler Sprachen

• Programmiersprache, die der Maschinensprache sehr nahe ist.

Page 34: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Imperative Programmiersprachen

• „imperativ“ heißt das Befehlsfolgen codiert werden.

• Synonym:– prozedurale Programmiersprache – universelle Programmiersprache – problemorientierte Programmiersprache

Page 35: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Imperative ProgrammiersprachenGemeinsamkeiten

• Alphabet• Namenskonzept• Variablen• Operatorpriorität und Typanpassung• Anweisungen• Unterprogrammkonzept

Quelle: Duden Abiturwissen Informatik

Page 36: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Deklarative Sprachen

• Das Problem wird beschrieben, aber der Lösungsweg bleibt offen

Page 37: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Anweisungssprachen (1)

Page 38: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Normierte Programmierung

• Fest vorgegebene Verarbeitungsreihenfolge• DIN 66220

Page 39: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Quellen

• Duden Basiswissen Schule – Abitur Informatik

• Wilson & Adyman: Pascal• Wikipedia

Page 40: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Lastenheft

• Nach DIN 69905 die „vom Auftraggeber festgelegte Gesamtheit der Forderungen an die Lieferungen und Leistungen eines Auftragnehmers innerhalb eines Auftrages“.

Page 41: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Pflichtenheft

• Nach DIN 69905 die „vom Auftragnehmer erarbeiteten Realisierungsvorgaben aufgrund der Umsetzung des vom Auftraggeber vorgegebenen Lastenhefts“.

Page 42: Software-Entwicklung Gesamtschule Hungen Martin Müller-Fay

Systemanalyse

• Beschreibung aller relevanten Systemelemente und deren Beziehungen zueinander Ziel ist ausgehend vom Ist-Modell zu planen. Die Unterschiede zwischen dem Ist- und diesem Soll-Modell zeigen was das Programm leisten soll.