21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel...

12
05.07.22 syst_11_codierung_3.ppt 1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law

Transcript of 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel...

Page 1: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

26.04.23 syst_11_codierung_3.ppt 1

SystementwicklungContinuous Integration

Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law

Page 2: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous 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...

Page 3: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

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.

Page 4: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

Zum Thema Spaghetti

26.04.23 prog_sammelfolie.pptm 4

Manziehthier

Oh!hier

bewegtsich was!

Page 5: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

Spaghetti-Code ohne Spaghetti

26.04.23 prog_sammelfolie.pptm 5

Manändertwashier

Oh!hier gehtwas nicht

mehr!

Page 6: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

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

Page 7: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

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

Page 8: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

26.04.23 syst_11_codierung_3.ppt 8

Beispiel Cruise Control

- http://cruisecontrol.sourceforge.net/dashboard.html

Page 9: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

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

Page 10: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

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

Page 11: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

Überwachung bei NabiCI:

Freies Website-Monitoring-Programm „SiteUP“

26.04.23 syst_11_codierung_3.ppt 11

Page 12: 21.07.2015syst_11_codierung_3.ppt1 Systementwicklung Continuous Integration Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and Law.

26.04.23 syst_11_codierung_3.ppt 12

Jetzt geht’s los

.... bis gleich