Was soll Software sein? (Software als Produkt)
-fehlerfrei
-anpassbar an Kundenwünsche (“Customizability“)
-gut Dokumentiert
-regelmäßige Pflege und aktualisieren
Was ist Software
-Immatriell (Unterliegt keinen physikalischen Grenzen)
-leicht veränderbar (Ohne austausche physikalischer Gegenstände möglich)
-EInfache Vervielfältigung (Massenproduktion, kostengünstige Verbreitung)
-kompliziertes Vertriebsmodell (Urheberrecht, Schutz vor Raubkopien)
Wie kann man Komplexität messen?
-schwer messbar
-code zeilen
-anzahl Schnittstellen
-Anzahlen Funktionen und Elementardatentypen
Was ist ein Artefakt?
Greifbares stück information, das im Verlauf eines Projektes durch Personen erzeugt, geändert und benutzt wird (Textuell oder Graphisch)
-Diagramme
-Textdokumente
-Programmcode
-Feedback
-…
Was ist wichtig bei der Anforderungserhebung? (Kriterien)
-Vollständige, korrekte, eindeutige Beschreibung der Funktionalität
-Konsistente und realisierbare Umsetzung, es soll sich nicht widersprechen und möglich sein
-Überprüfbare, verständliche und verfolgbare Umsetzung
Wie dokumentiert man Anforderungen
Mit Lastenhefte und Pflichtenhefte:
Lastenheft: Beschreibt die Anforderungen an das Systemaus Sicht des Auftraggebers („Was ist zu tun?“)
Pflichtenheft: Beschreibt die Anforderungen an dasSystem aus Sicht des Auftragnehmers („Wie wird dieAufgabe realisiert?“)
Nenne die 3 Modellierungsprinzipien
-Abstraktion (Details weglassen, nur das wesentliche)
-Modularisierung (System aufteilen in Subsysteme)
-Geheimnisprinzip/ Lokalität (Informationen nur über definierte Schnittstellen (Kapselung))
Strukturmodelle vs Verhaltensmodelle
Strukturmodelle:
-Statischer Aufbau eines Systems
-Komponenten und ihre Abhängigkeiten
-Aufbau von Datenstrukturen, Klassen, Objekte,…
Verhaltensmodelle:
-Dynamischer Ablauf eines Systems
-Menge von Szenarien und die zugehörige Ablauflogik
-Interaktion, Geschäftsprozesse, Algorithmen
Was versteht man unter CASE
Computer Aided Software Engineering
->Werkzeuge hilfen bei Aktivitäten der Software Erstellung (Modellieren, debuggen, testen, etc.)
Rollen in Software Projekten
Auftraggeber, Projektleiter, Anwendungsspezialist, Systemanalytiker, Entwerfer, Implementierer, Installationsentwickler
Was ist das Prinzip des klassischen Vorgehensmodell
Einteilung der Arbeitsschritte in Phasen, jede Phase wird nur einmal durchlaufen
Phasen des Wasserfallmodells
Machbarkeitsstudie, Anforderungsanalyse, Systementwurf, Coding&Testing, Integrations- und Systemtests, Auslieferung & Installation, Wartung
Typische Probleme klassischer Phasenmodelle
Veränderungen von Kundenwünsche oder Fehler können sehr teuer werden, da das Modell sehr unflexibel ist. Oft werden Fehler auch erste spät bemerkt, da der Code erst sehr spät verfügbar ist.
Was ist das Prinzip der Agilen Vorgehensweise
-Produkt ist jederzeit im lauffähigen Zustand
-Permanente Kundeneinbeziehung
12 Agile Prinzipien
-Zufriedenstellung des Kunden
-Änderungswünsche sind willkommen
-Software soll immer lauffähig sein
-Fachexperten und Entwickler arbeiten zusammen
-motivierende Arbeitsumgebung wird angestrebt
-die Beste Kommunikation der Beteiligten ist face- to Face
-Software als Instrument der Fortschrittkontrolle
-Nachhaltige Entwicklungen haben Vorrang
-Ägilität braucht moderne Techniken und Methoden
-Einfachheit ist das grundlegende Konstruktionsprinzip
-selbstorganisiertes Team -> Erfolg
-Regelmäßiges Treffen zur Selbstreflektion
Agile Grundwerte
Communication
Simplicity
Feedback
Courage
Xtreme Programming Praktiken
XP1: Customer = Team Member
XP2: User Stories
XP3: Pair Programming
XP4: Test-Driven Development
XP5: Collective Ownership
XP6: Continuous Integration
Techniken von Scrum
Retrospektiven (Regelmäßiges Reflektieren)
Teamverantwortung (Rollen und Verantwortung verteilen)
Daily Scrum
Scrum Phasen
Sprint Planning (Modellierung)
Entwicklung (Sprint)
Abschluss (Sprint Review)
Last changed2 years ago