Lernkarten

Karten 84 Karten
Lernende 11 Lernende
Sprache Deutsch
Stufe Universität
Erstellt / Aktualisiert 21.05.2019 / 24.06.2019
Lizenzierung Keine Angabe
Weblink
Einbinden
0 Exakte Antworten 84 Text Antworten 0 Multiple Choice Antworten
Fenster schliessen

EINFÜHRUNG: SWEBOK

Steht für  Software Engineering Body of Knowledge und ist ein Guide für das Entwickeln von Software des IEEE (Institute of electrical and electornics engineers)

Ziele von SWEBOK:

  • to characterize the contents of the software engineering discipline;
  • to promote a consistent view of software engineering worldwide;
  • to clarify the place of, and set the boundary of, software engineering with respect to other disciplines;
  • to provide a foundation for training materials and curriculum development; and
  • to provide a basis for certification and licensing of software engineers.
Fenster schliessen

EINFÜHRUNG: Beispiele und Vor-/Nachteile plangetriebenen Softwareentwicklungsmethoden

Wasserfall:

  • Lineares Modell welches in aufeinanderfolgende Projektphasen organisiert ist: 
    • Anforderungen
    • Entwurf
    • Implementation
    • Überprüfung
    • Wartung
  • Vorteile:
    • Einfach verständlich
    • Bei soliden Anforderungen einigermasse gute Abschätzung von kosten und Umfang möglich
  • Nachteile:
    • Unflexibel
    • Softwareprojekte laufen häufig nichtlinear ab
    • Anforderungen sind im voraus so gut wie nie 100% bekannt
    • Es wird häufig am User vorbeientwickelt (Nur 20% der Features werden wirklich gebraucht)

Unified Process

  • Iterativ und inkremental
  • Use case driven
  • Risk first => d.H. kritische Use Cases zuerst entwickeln
  • Vier Phasen:
    • Inception (Risiken identifizieren sowie provisrische Architektur)
    • Elaboration (Architekturprototyp und detaillierte Beschreibung von 80% der Use Cases)
    • Construction (Entwickeln und testen des Produkts)
    • Transition (Übergabe und Auslieferung der Software)
  • Vorteile:
    • Skalierbarkeit auf grosse und kleine Projekte
    • Bekanntes Verfahren (d.H: es gibt Standards für Sachen wie UML)
    • Klare Struktur
  • Nachteile:
    • Sehr Dokumentationslastig (mit teilweise wenig Businessvalue)
    • Schwierige Einführung von neuen Entwicklern welche das System nicht kennen

 

Fenster schliessen

EINFÜHRUNG: No silver Bullet Artikel in groben Zügen erwähnen

Brooks unterscheidet zwischen ungewollter (accidental) und notwendiger (essential) komplexität. Ungewollte komplexität sind Probleme welche gelöst werden können. Notwendige Komplexität kann nicht umgangen werden. Wenn ein User 30 Sachen von einer Software will, muss diese Software diese 30 Sachen unterstützen. Ungewollte Komplexität geht immer mehr zurück, durch bessere Programmiersprachen und Tools und Programmierer können sich auf die notwendige Komplexität fokussieren.

Brooks empfiehlt Software inkrementell und anhand von Prototypen zusammen mit dem Kunden zu entwickeln. Ausserdem sagt er, dass der Fokus bei der Bildung von Programmieren auf der Softwaredesignebene liegen sollte. "Starsoftwaredesigner" sollten zudem gleich behandelt werden wie Starmanager.,

Fenster schliessen

AGILE MANIFESTO: Sie können die «Values» des «Agile Manifesto» aufzählen und dessen Bedeutung erklären 

Wir erschließen bessere Wege, Software zu entwickeln,
indem wir es selbst tun und anderen dabei helfen.
Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

Individuen und Interaktionen mehr als Prozesse und Werkzeuge
Funktionierende Software mehr als umfassende Dokumentation
Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
Reagieren auf Veränderung mehr als das Befolgen eines Plans

Das heißt, obwohl wir die Werte auf der rechten Seite wichtig finden,
schätzen wir die Werte auf der linken Seite höher ein.

Fenster schliessen

AGILE MANIFESTO: Sie kennen die «12 Principles» hinter dem «Agile Manifesto»: Wählen sie 4 «Principles» aus und studieren sie diese genauer.

  1. Kunden zufriedenstellen durch kontinuierliche Auslieferung funktionierender Software
  2. Veränderung sind in jeder Phase des Projekts willkommen
  3. Funktionierende Software alle paar Wochen / Monate liefern (kürzere Zeitspanne besser)
  4. Kunde und Entwicklern sollten täglich zusammenarbeiten.
  5. Entwickeln mit motivierten Teams, diesen Vertrauen und ein gutes Umfeld schaffen.
  6. Persönliche Kommunikation bevorzugen
  7. Funktionierende Software als wichtigstes Fortschrittsmass
  8. Nachhaltige Entwickelung => Kunde und Entwickler sollen das Tempo halten können
  9. Ständiges Augenmerk auf teschnische Exzellenz und gutes Design
  10. Einfachheit statt unnötiger Komplexität
  11. Selbstorganisierte Teams
  12. Regelmässige Reflektion
Fenster schliessen

AGILE MANIFESTO: Sie kennen die wichtigsten Verfasser des «Agile Manifesto» und deren Beitrag zur Agilität (Wählen sie 5 Verfasser aus) 

Robert C. Martin

Autor mehrerer Bücher zum Thema XP und Agiler Entwicklung. Gibt Vorträge und schreibt Artikel auf verschiedenen Plattformen. Seine Firma berät Firmen zu den Themen XP und agile.

Dave Thomas

War Mitautor von "The Pragmatic Programmer". Glaubt, dass das Herzen eines Projekts die Personen sind und nicht die Methode.

Alistair Cockburn

Bekannt für seine Interviews von Projektteams. Arbeitet an Empfehlungen für Agile Softwareentwicklung.

Martin Fowler

Chefwissenschaftler von Thoughtswork. Eine Firma für Softwareentwicklung und Beratung. Autor von mehreren Büchern über XP, Refactoring und UML

Ron Jeffries:

Autor von XP Büchern und gibt regelmässig Vorträge über XP. Ausserdem sehr aktiv in Online Foren.

Fenster schliessen

AGILE:  Sie können die “Agile Kompetenzpyramide” zeichnen und erklären 

                            Agile Values

                            ----------

                          Prinzipien / Managment Practices!

             --------------------------------------------

                     Engineering Practices

--------------------------------------------------------------------------

 

Values:

Kommunikation, Funktionierende Software, Zusammenarbeit und Flexibilität

Prinzipien:

Die 12 Agile Prinzipien

 

Fenster schliessen

*AGILE: Sie kennen die folgenden Begriffe und k�nnen sie erkl�ren: Risk, 4 variables in Agile development, Cost of change

Risk:

Project cancelledSystem does not evolve gracefully (defect rate increases)Defect rateBusines misunderstoodBusiness changesFalse feature richStaff turnoverXP gibt uns Prinzipien und How-Tos, um mit diesen Risiken umzugehen

4 variables in Agile Development:

Zeit, Ressourcen, Qualit�t, Scope. Die ersten drei sind meistens fix. Daher sollte Scope flexibel sein!

Cost of Change:

Dir kosten kos änderungen sollen nur minimal steigern. Z.b. durch automatisierte tests.