3 - Introduction to Software Engineering [ID:50475]
50 von 792 angezeigt

Ja, willkommen zur Einführung in das Software Engineering und heute haben wir leider nur ein

Video. Ich befinde mich leider auf einer Reise und kann deswegen heute nicht in Person dort sein,

aber trotzdem können wir die Vorlesung machen, indem wir eben hier eine kleine Aufnahme machen.

Ich habe mich auch extra wieder eingerichtet, dass wir uns gut die Folien gemeinsam angucken

können und dafür haben wir heute ein neues Thema und dieses Thema ist jetzt endlich die

Agilmethoden. Das heißt, uns würde es in dem Folieninsatz darum gehen, wie wir eben mit

Agilmethoden auf veränderliche Anforderungen uns einsetzen können oder einlassen können und dann

diese entsprechend umsetzen können. Schauen wir uns das Ganze ein bisschen an, machen wir einen

Recap. Rückblickend können wir feststellen, dass Software Engineering nicht nur das Tippen von

Code ist, sondern eine breite Palette von Aktivitäten umfasst. Von der Planung und

Anforderungsanalyse bis zur Wartung und Dokumentation. Das alles sind Bausteine,

um unser Software Gebäude zu erstellen, ähnlich wie bei einem Legoturm, wo jeder Stein seinen

Platz hat. Überspringt man einen Stein, riskiert man eben, dass der ganze Turm instabil wird.

Und dazu haben wir im Prinzip uns in der letzten Vorlesung mit plangetriebenen Modellen angeguckt

und im Unterschied dazu haben wir eben heute agile Modelle, die eben ein bisschen flexiblere

Bauweisen ermöglichen. Also wenn es um Software Engineering geht, haben wir diese zwei prominenten

Modelle und im plangetriebenen Modell geht es eben darum, bis ins letzte Detail zu planen und

ähnlich wie man ein riesiges Legoschloss baut, quasi der Anleitung folgend, fühlt man, dass man

quasi 100 Seiten Anleitung oder vielleicht sogar 1000 Seiten Anleitung hat und diese Stück für

Stück abarbeitet. Im Gegensatz dazu steht das agile Modell, das zwar auch plant, aber deutlich

flexibler ist. Man könnte es quasi damit vergleichen wie, vielleicht kennt ihr den Legofilm,

in dem gibt es ja auch diese Meisterbauer, die zwar immer wieder Komponenten wieder verwenden,

aber die dann dynamisch umgestalten. So ähnlich ist das mit den agilen Methoden. Man hat eine

Vorstellung davon, was man erreichen möchte, aber man ist jederzeit in der Lage quasi seine Ziele

und seine Vorgehensweisen zu ändern. Und damit kommen wir auch schon zum Unterschied zwischen

den plangetriebenen und agilen Methoden. Das liegt eben hauptsächlich in der Flexibilität

und der Reaktionsfähigkeit auf Anforderungen. Plangetrieben ist wie das Spielen von einem

linearen Videospiel, wo man eben genau weiß, ein Quest nach dem anderen muss man erledigen und

danach kommt man irgendwann am Ende an und hat das Spiel gelöst. Agile ist mehr wie so ein

Open-World-Spiel, wo man die Freiheit hat, je nach Situation zu entscheiden. Und im plangetriebenen

Modell starten wir mit einer detaillierten Anforderungsspezifikation und denken dann

uns eine Strategie aus, wo wir quasi Ressourcen sorgfältig planen bis ins letzte Detail wohnt.

Am Ende wird eben dieser Plan umgesetzt. Im agilen Ansatz ist das Anforderungsengineering

integriert und interaktiv. Das heißt, wir gehen immer wieder zurück ins Anforderungsengineering,

wo wir quasi dann gleichzeitig die Anforderungen anpassen und eben auch unseren Plan damit anpassen

können, wie wir unser entsprechendes Produkt oder unser Implementationsziel erreichen können.

Genau und ja, wir haben also keine detaillierte Liste in den agilen Methoden von dem, was unsere

Software genau können muss, sondern wir sind eben etwas flexibel, etwas dynamisch und ja,

das ist eben eine wesentliche Erleichterung, wenn man quasi dynamisch reagieren muss,

wenn man nicht vom Anfang an Stück für Stück einer Anleitung folgen kann und dafür sind eben genau

diese agilen Verfahren sehr, sehr nützlich. Ja, dazu haben wir auch schon eine Art agiles Manifest.

Das ist im Grunde das Regelbuch für die Enthusiasten, das Agilen entwickeln. Das ist ein

bisschen so, als hätte man eben die Spielregeln für ein neues Videospiel in der Hand und man kann

quasi die Regeln noch mitgestalten und wir haben im Wesentlichen vier Schlüsselwerte,

die uns die Grundprinzipien vorgeben und die sollen eben genau uns akile Entwicklungsmethoden erlauben.

Nun, diese vier Werte sind kurzgefasst Individuen und Interaktion über Prozesse und Werkzeuge. Also,

es geht viel weniger darum, dass eben der Mensch hier im Zentrum steht und nicht so sehr der Prozess,

das heißt wir passen uns an, wir nehmen die richtigen Prozesse und die richtigen Werkzeuge,

um unser Ziel zu erreichen. Dann Funktionieren des Software ist wichtiger als umfassende

Dokumentation. Dokumentation ist natürlich wichtig für die Wiederverwendbarkeit des Software,

Zugänglich über

Offener Zugang

Dauer

01:27:04 Min

Aufnahmedatum

2023-10-31

Hochgeladen am

2023-10-31 23:46:03

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen