223 lines
4.9 KiB
Markdown
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 -->
|
||
|
|