pse-documentation/40-abschlusspraesentation/presentation.md
2024-05-24 17:47:22 +02:00

223 lines
4.9 KiB
Markdown

---
theme: white
css:
- style.css
- assets/fontawesome/css/all.min.css
scripts:
- script.js
highlightTheme: base16/solarized-light
revealOptions:
transition: 'slide'
---
<img src="assets/logo.svg" />
<span style="font-size: 16px; line-height: 1 !important; color: #888; letter-spacing: -.5px; font-weight: light;">
<br>
M.Sc. Hans-Peter Lehmann,
M.Sc. Daniel Seemaier <br>
Daniel Hönlinger,
Gero Beckmann,
Immanuel Reitz,
Julius Friesen,
Lukas Schmidheissler
</span>
Note:
- Guten Morgen + Herzlich Willkommen
- Abschlusspräsentation
- Praxis zur Software-Entwicklung
- Podcast Synchronisatin made Efficient
- PSE²
- Wir sind
---
#### Übersicht
<img style="width: 70%;" src="assets/component6.svg" />
Note:
- Podcast Sync Server
- Podcatcher syncen Abos + Hörfortschritte mit anderen Geräten
- GPodder überfüllt
- Server mit Spring, MariaDB
- Metadaten von Podcast-Server
- Mail
- Frontend mit Vue, Bootstrap
----
### Anforderungen
<div style="display: inline-block; text-align: left;">
🚀 50 Anfragen/Sekunde<br>
✉️ Registrieren per E-Mail<br>
📰 Metadaten aus RSS <br>
🔐 Persönliche Daten schützen<br>
🔗 Kompatibilität mit GPodder<br>
</div>
---
Klassendiagramm
<div class="r-stack">
<img class="fragment" height="550" src="assets/diagrams/packageDiagram1.svg">
<img class="fragment" height="550" src="assets/diagrams/packageDiagram2.svg">
<img class="fragment" height="550" src="assets/diagrams/packageDiagram3.svg">
<img class="fragment" height="550" src="assets/diagrams/packageDiagram4.svg">
</div>
Note:
- Schichtenmodell
- HTTP-Anfrage
- Controller parse
- Service: Daten verarbeiten
- DAO: Datenbank
----
Web-Komponenten
<div class="r-stack">
<img class="fragment" src="assets/ui-components/layer1.png">
<img class="fragment" src="assets/ui-components/layer2.png">
<img class="fragment" src="assets/ui-components/layer3.png">
<img class="fragment" src="assets/ui-components/full.png">
</div>
Note:
- Wiederverwendbare Komponenten.
- Wie lang her? / Wie lange dauert?
- Abonnement
- Seite
- Web-Anwendung
---
<img width="200px" src="assets/docker.webp" />
<img width="200px" src="assets/gitlab.svg" />
<img width="200px" src="assets/jmeter.svg" />
<img width="200px" src="assets/latex.svg" />
<img width="200px" src="assets/plantuml.svg" />
<img width="200px" src="assets/lets-encrypt.svg" />
<img width="200px" src="assets/checkstyle.png" />
Note:
- Neben Spring/Vue
- Orga: GitLab (Issues)
- Dokumenten-erstellung: LaTeX, PlantUML (Diagramme)
- Analyse: Checkstyle, JMeter (Lasttest)
- Deploy: Docker, Letsencrypt
----
<!-- .slide: data-background-image="assets/coffee.gif" -->
# Koffein!!!
Note:
wie bei jedem PSE: dauert länger
-> Kaffee / Mate Begleiter
---
<!-- .slide: data-auto-animate -->
#### Das Projekt in Zahlen
<pre data-id="code-animation"><code data-line-numbers="|3-4|6-7|9-10">
class Statistics {
long SLOCDashboard = 2403;
long SLOCServer = 5986;
long commitsDashboard = 247;
long commitsServer = 435;
long filesDashboard = 38;
long filesServer = 72;
}
</code></pre>
----
<!-- .slide: data-auto-animate -->
#### Das Projekt in Zahlen
<pre data-id="code-animation"><code data-line-numbers="14-21">
class Statistics {
long SLOCDashboard = 2403;
long SLOCServer = 5986;
long commitsDashboard = 247;
long commitsServer = 435;
long filesDashboard = 38;
long filesServer = 72;
long total(long a,b) { return a + b }
total(SLOCDashboard, SLOCServer);
total(commitsDashboard, commitsServer);
total(filesDashboard, filesServer);
/*
* SLOC Total: 8389
* commits Total: 687
* files Total: 110
*/
}
</code></pre>
----
### Leistungsmessung
<div style="display: flex; flex-direction: row; ">
<img style="flex-basis: 55%; flex-grow: 0; flex-shrink: 0; width: 40%;" src="assets/tachodiagramm.svg">
<div style="flex-basis: 45%; flex-grow: 0; flex-shrink: 0;">
<img src="assets/balken-old.svg">
<img src="assets/balken-optimized.svg">
</div>
</div>
Note:
- Lasttest kategorisiern Requests in Wertebereiche
- dual core erreicht Ziel nicht
- mehr Kerne besser
- Optimierungen nach Impl-Phase:
- Docker, kompilieren zu JAR, Parameter
----
## Commit-Verlauf
<img class="r-stretch" src="assets/commits.svg" />
Note:
- 3 Treffen/Woche
- Klausurpausen
- Längen Nächte zu Abgaben
---
## Fazit
<div style="display: inline-block; text-align: left;">
🌊 Wasserfallmodell mit Rückkopplung<br>
✊ Mut für Neues<br>
🗓️ Teamarbeit und Organisation<br>
🧠 Lernerfahrung<br>
Note:
- Rückkopplung: Verbesserungen nach Abgabe
- Mut: Komfortzone, Erfahrungen in Web-Entwicklung
- Teamarbeit: 3 Treffen/Woche a 5 Std, Bib Buchen
- Lernerfahrungen: LaTeX, Git, Web, Server/Domain aufsetzen, Docker
- Vorschau
</div>
---
<!-- .slide: data-background-iframe="http://pse-squared.de" data-background-interactive -->