## ![](img/Copyrighted/ProjektResults.png){.center} ## Softwarekrise * Software wird immer größer * zu lösende Probleme werden immer anspruchsvoller * keine systematischen Entwicklungsmethoden * (unrealistische Kosten- / Zeitberechnungen) $\Rightarrow$ Softwareentwicklung braucht gute Projektplanung ## Projektideen - Echtzeitspiel \begin{center} \begin{tikzpicture} \node {\includegraphics[keepaspectratio, width=0.75\textwidth]{img/Copyrighted/supermarioflash3.jpg}}; \pause \node[rotate=3] {\includegraphics[keepaspectratio, width=0.75\textwidth]{img/pacman.jpg}}; \end{tikzpicture} \end{center} ## Projektideen \begin{center} \begin{tikzpicture} \node {\includegraphics[keepaspectratio, width=0.65\textwidth]{img/Copyrighted/SocialChess.PNG}}; \pause \node[rotate=3] {\includegraphics[keepaspectratio, width=0.75\textwidth]{img/linux-toy-advent.png}}; \end{tikzpicture} \end{center} ## Projektideen \vspace{-0.5cm} ![](img/Copyrighted/geldwechsler.jpg){.center} ## Projektideen - \footnotesize Beispiel: Projekt 10D 2023 \vspace{-0.5cm} \begin{center} \begin{tikzpicture} \node {\includegraphics[keepaspectratio, width=0.75\textwidth]{img/keyboard_menu}}; \pause \node[rotate=5] {\includegraphics[keepaspectratio, width=0.75\textwidth]{img/keyboard_song_screen}}; \end{tikzpicture} \end{center} ## {.standout} Was ist ein Projekt? ## Projekt ### Nach DIN 69901: „Ein Projekt ist ein Vorhaben, bei dem innerhalb einer definierten Zeitspanne ein definiertes Ziel erreicht werden soll, und das sich dadurch auszeichnet, dass es im Wesentlichen ein einmaliges Vorhaben ist.“ ## Memes \vspace{-0.5cm} ![](img/Copyrighted/baum_meme.png){.center} ## Projektorganisation * Festlegung des Projektleiters sowie der Arbeitsgruppen * Die Arbeitsgruppen erhalten jeweils festgelegte Zuständigkeiten und Befugnisse ## Wasserfallmodell \vspace{-0.5cm} ![](img/Copyrighted/wasserfallmodell.png){.center} ## Folgende Phasen werden unterschieden 1. Projektdefinition 2. Projektplanung 3. Projektkontrolle 4. Projektabschluss ## Agile Entwicklung \vspace{-1cm} ![](img/Copyrighted/agile-softwareentwicklung.png){.center} ## Projektabschnitte * Werden durch **Meilensteine** definiert. * Meilensteine sind Zeitpunkte, zu denen auf Grundlage der bisherigen Ergebnisse weitere Entscheidungen über den zukünftigen Projektverlauf getroffen werden müssen. * Ein **Meilensteinplan** enthält alle Meilensteine mit dem vereinbarten Termin ## Kriterien an das Projekt * Programmiert in Java, (SQL), ... * Mehrere Klassen, die in Beziehung zueinander stehen * Dokumentation der Modellierung (Klassendiagramm, ...) * Ein \underline{funktionierender} Prototyp ## Arbeitsauftrag Gruppenfindung zur Projektarbeit und Klärung folgender Punkte * Welche Art von Programm / Spiel wird entwickelt? * Wie wird das Projekt grob umgesetzt? (BlueJ, GraphicsAndGames, EngineAlpha, Greenfoot, …) **Notiert diese Informationen inklusive der Gruppenmitglieder auf einem Zettel, der zum Ende der Stunde abgegeben wird.**