von christian düfel & christopher fries. agenda vision – was ist moserec? projektmanagement...
TRANSCRIPT
von Christian Düfel & Christopher Fries
Agenda Vision – Was ist moseRec? Projektmanagement Kostenanalyse Live-Demo Architektur Qualitätsmanagement
Vision Movies Series Recommendation
Den richtigen Film für sich zu finden kann schwierig sein
Deshalb bietet moseRec Empfehlungen auf Basis von gesehenen Filmen des Users
Verbindung zu Versandhändlern / Streaming Diensten → direktes Filmerlebnis
Finanzierung über Beteiligung der Versandhändler und Exklusivverträge
Use Cases
Projektmanagement Langzeit Planung
Scrum mit Sprints
Function Points zur Bestimmung des Aufwandes für zukünfiger Sprints
Projektmanagement (longterm planing) OpenProject für die Projektplanung unter Verwendung von
RUP
Rational Unified Process (RUP)- Iterativer Prozess- Jede Iteration ist ein Sprint
Projektmanagement (Scrum) Jira Unterteilung in 1-wöchige Sprints
- am Ende eines Sprints immer eine Test-Phase Fehler/Problem die am Ende eines Sprints erkannt wurden,
wurden ins Backlog für den nächsten Sprint gepackt- frühzeige Erkennung von Problemen- besser reagieren- Verbesserte Planung von Sprint zu Sprint (Lern-Effekt)
Projektmanagement (Jira)
Projektmanagement (Function Points)
KostenanalyseStundenlohn 35 €
Use Case Stunden Preis
Project Management 20 700 €
Register/Login 8 280 €
Add watched movie 12 420 €
Get Recommandations 10 350 €
Rate Movies 4 140 €
Write reviews 6 210 €
Cache movies 14 490 €
Link with facebook 2 70 €
Link movie to seller 4 140 €
Search movies 4 140 €
Cache series 16 560 €
Overall 100 3.500 €
Demo
ArchitekturTechnologie: Web Applikation LEMP-Stack
Percona XtraDB Foundation CSS
FramewrokPatterns: MVC Concept Singleton für DB
Gründe für eigenes PHP Framework Lightweight Gut skalierbar Sehr schnelle Verarbeitung von großen
Datenmengen dank direkter Intergration der Datenbank
Einfache Integration von beliebigen APIs (themoviedb.org, Facebook, Amazon, etc.)
Nur minimale Anpassungen notwendig
Datenbank-Design
Change Management (via Jira)
Risk Management Minimieren des Risikos durch frühzeitige
Erkennung von Problemen (Testing)
Präventiv Maßnahmen (großzügige langzeit Planung)
Environment IDE: PHPStorm Jira und Git Integration
Environment
PHPUnit Support Composer Support Server:
CPU: Intel Xeon E5-1620v2 4C/8T 3,7GHz RAM: 64GB DDR3 ECC 1600MHz Festplatten: 3x 300GB SSD im RAID 1 Netzanbindung: 1Gbit/s Kosten: 103,98€ / Monat
Automation Composer & Cronjobs
Lädt Abhängigkeiten herrunter
Ergänzung um weitere Befehle
Testing
Erstellen/Konfigurieren einer neuen “sauberen” Umgebung
Testing Function Testing mit Cucumber Feature-Files
tested mit Behat Performance & Load Testing mit ApacheBench Unit Testing mit PHPUnit
Testing Workflow
Am Ende jedes Sprints werden alle Tests durchgeführt und die auftretenden Probleme im Backlog eingetragen
Unit-Tests werden auch während des Sprints mit Hilfe eines täglichen Cronjobs durchgeführt
Metrics Für die Metrics verwenden wir PHPMetrics Ausgeführt durch Composer Wir verwenden Maintainability, was sich aus LOC (lines-of-code),
CC (cyclomatic complexity) und Halstead complexity zusammensetzt
Vielen Dank!