21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel...
-
Upload
linda-pfaff -
Category
Documents
-
view
215 -
download
1
Transcript of 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel...
26.04.23 syst_11_codierung_3.ppt 1
SystementwicklungContinuous Integration
Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law
26.04.23 syst_11_codierung_3.ppt 2
Struktur der Softwareentwicklung
Analyse Entwurf Implementierung TestPapier-PrototypenFragebögenLong Term ForecastActivity AnalysisTry it yourselfCard SortError AnalysisSzenarioRollenspielKonkurrenzanalyse5 Mal warum?
Vorgehensmodelle (V-Modell, Unified Process)
Strategien zum Umgang mitKomplexität
E/R-ModelleObjekt-orientierte ModellierungArchitekturSchichten- modelleDesign Pattern
ProgrammierungUnit Tests...
Black Box TestZweig-abeckungSystemtest...
26.04.23 syst_11_codierung_3.ppt 3
Ziele
Alle Entwickler sind zeitnah über den Gesamtzustand des Projektes informiert.
Spaghetti-Fehler werden schnell erkannt und lokalisiert. Alle Entwickler haben ein gutes Gefühl bei dem Projekt. Sicherheit, dass die Software die Anforderungen erfüllt.
Zum Thema Spaghetti
26.04.23 prog_sammelfolie.pptm 4
Manziehthier
Oh!hier
bewegtsich was!
Spaghetti-Code ohne Spaghetti
26.04.23 prog_sammelfolie.pptm 5
Manändertwashier
Oh!hier gehtwas nicht
mehr!
26.04.23 syst_11_codierung_3.ppt 6
Prinzipien des Continuous Integration
Quelle aller Information: http://martinfowler.com/articles/continuousIntegration.html
- Maintain a Single Source Repository.
- Automate the Build- Make Your Build Self-Testing- Everyone Commits To the Mainline Every Day- Every Commit Should Build the Mainline on an Integration Machine- Keep the Build Fast- Test in a Clone of the Production Environment- Make it Easy for Anyone to Get the Latest Executable- Everyone can see what's happening- Automate Deployment
26.04.23 syst_11_codierung_3.ppt 7
Ci-Frameworks
- Vereinfachen die Automatisierung durch Scripting- Stellen die Ergebnisse übersichtlich dar- Erlauben die regelmäßige, automatische Überwachung der Ergebnisse
Beispiele:Continuum - ein Subprojekt des Apache Maven Projekts. Unterstützt Maven 1, Maven 2, Ant und Shell-Skripte.
CruiseControl – ein Java-basiertes Framework für kontinuierliche Erstellungsprozesse, Derivate auch für .NET und Ruby
Xinc – Continuous-Integration-Server für PHP-Anwendungen NabiCI - Lightweight Continuous Integration Framework für PHP-
Projekte
26.04.23 syst_11_codierung_3.ppt 8
Beispiel Cruise Control
- http://cruisecontrol.sourceforge.net/dashboard.html
26.04.23 syst_11_codierung_3.ppt 9
Beispiel NabiCI
http://web3.vs150093.vserver.de/nabidoo_ci/nabidoo_ci_root/ci_web_pages/Result/Result.php
Der Build bei Nabidoo:
Checkout from SVN (Compilieren nicht notwendig) Alle Unit Tests Obfuscator (Code unlesbar machen) Alle Unit Tests auf obfuskierter Version Automatische Erstellung des Installationsmediums (zip-Datei) Automatische Installation Alle Unit Tests auf frisch installierter Version
26.04.23 syst_11_codierung_3.ppt 10
Überwachung bei NabiCI:
Freies Website-Monitoring-Programm „SiteUP“
26.04.23 syst_11_codierung_3.ppt 11
26.04.23 syst_11_codierung_3.ppt 12
Jetzt geht’s los
.... bis gleich