3 Der Prozess der Softwareentwicklung
Prozess
Unter einem Prozess versteht man die Gesamtheit aller aufeinander einwirkenden Vorgänge innerhalb eines Systems.
Phasen des Softwareentwicklungsprozesses
- Anforderungsanalyse und Erstellung einer Spezifikation
- Design (Entwurf)
- Umsetzung (Implementierung)
- Testen
- Dokumentation
- Auslieferung
- Wartung und Support
Unter Projektmanagement ist die Planung, die Überwachung, die Steuerung und der Abschluss eines Projekts zu verstehen.
Aufgaben des Projektmanagements
- Projektziele abstimmen
- organisatorische Gestaltung des Projektes
- Planung der Termine, Ressourcen und der Kosten
- Aufgaben-, Kompetenz- und Verantwortungsverteilung
- Risikoabschätzung
- Teambildung
- Rollen, Werte und Regeln festlegen
- Personalmanagement, Mitarbeiterführung
- Koordination und Kommunikation intern und extern
- Dokumentation und Berichte
- Projektsteuerung und Projektcontrolling
- Vorbereitung und Durchführung von Projektbesprechungen
- Projekt abschließen
Faktoren für den Projekterfolg
Erfolgsfaktoren
- Genaue Definition von Projektzielen
- Entwicklung präziser Projektpläne und Kontrolle von deren Einhaltung
- Projektorganisation und -kultur
- Zusammenstellen eines geeigneten Projektteams
- Optimale Kommunikationsbedingungen
Risikofaktoren
- Schlechte Kommunikation
- Schlechte Planung
- Mangelnder Überblick über Projektdetails
- Falsche Projektmanagement-Tools
- Mangelnde Überwachung und Kontrolle
- Kein Risikomanagement
- Änderungen im Umfang
Klassiche Vorgehensmodelle
- Wasserfallmodell
- Spiralmodell
- V-Modell
- Rational Unified Process (RUP)
- ...
Video: Wasserfallmodell
Dauer: ca. 3 Min
Video: Spiralmodell
Dauer: ca. 3 Min
Agile Vorgehensmodelle
- Scrum
- DevOps-Ansatz
- Extreme Programming (XP)
- Kanban
- ...
Video: Scrum
Dauer: ca. 4 Min
Video: DevOps
Dauer: ca. 2 Min
Einteilung von Programmiersprachen
- Anwendungsgebiete
- Generationen
- Programmierparadigmen
Unterscheidung nach Generationen
- Maschinensprache
- Assemblersprache
- Höhere prozedurale Sprachen
- Sprachen für Datenbanken
- Sprachen der KI
Unterscheidung nach Programmierparadigmen
Ein Programmierparadigma ist das grundlegende Konzept (Grundauffassung, Methoden und Prinzipien), welches einer Programmiersprache zugrunde liegt.
- Imperative maschinennahe Sprachen (Assembler)
- Höhere imperative Sprachen (C, Fortran, COBOL, Pascal)
- Objektorientierte Sprachen (C#, Java, Smalltalk)
- Deklarative logische Sprachen (Prolog)
- Deklarative funktionale Sprachen (Lisp, Haskell)
Anwendungsbeispiele für Programmiersprachen
- Android-App: Java
- iOS-App: Objective-C, Swift
- Windows-App: C#, C++, Visual Basic
- Systemnahe Programme: C
- Webanwendungen: JavaScript, PHP
- Raspberry Pi: Python