communardo software gmbh lösungen aus leidenschaft für netzwerke
TRANSCRIPT
![Page 1: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/1.jpg)
Communardo Software GmbHLösungen aus Leidenschaft für Netzwerke
![Page 2: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/2.jpg)
Communardo Software GmbHLeistungsportfolio - Kompetenzen
Themen Produkte Technologien
• Knowledge Management
• Intranet 2.0
• Project & Team Collaboration
• Microsoft Office SharePoint Server
• Microsoft Office Project Server
• Atlassian Confluence Enterprise Wiki
• Communardo ProductivityNet Publisher SurveyFramework
• Individuelle Software- Entwicklung • auf Basis Java/JEE, .NET und PHP
• Technische An- forderungsanalyse und Software- konzeption
![Page 3: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/3.jpg)
Communardo ThemenModerne IT Lösungen im Enterprise 2.0
KnowledgeManagement
Project & TeamCollaborationIntranet 2.0
• Wissensportale
• Enterprise Wikis
• Community
Portale
• Corporate Search
• Corporate
Tagging
• Team Workspace
• Corporate Blogging
• Collaboration Workflow
• Security Workspace
• Virtuelle Projekträume
• Weblogs für Firma, Bereich und Mitarbeiter
• Wissenswiki
• RSS-Feeds
• Social Bookmarks
• Personalisiertes Tagging
![Page 4: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/4.jpg)
Communardo Software GmbH Referenten
Dipl.-Inf. Torsten Lunze
Software Architekt
www.communardo.de
www.xing.com/profile/torsten_lunze
Dipl.-Inf. Tino Schmidt
Teamleiter CMT
www.communardo.de
www.xing.com/profile/Tino_Schmidt5
![Page 5: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/5.jpg)
Effiziente Softwareentwicklung
1. Motivation
2. Build Management
3. MDA
4. Software Factories
5. Test & Reports
![Page 6: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/6.jpg)
Effiziente SoftwareentwicklungWas ist Effizienz?
DIN EN ISO 9000:2000
„Effizienz ist das Verhältnis zwischen dem erzielten Ergebnis und den eingesetzten Mitteln.“
> Maß der Wirtschaftlichkeit
Quelle: http://www.spmconsult.de/Effizienz.jpg
![Page 7: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/7.jpg)
Effiziente SoftwareentwicklungWarum beschäftigt uns dieses Thema?
Standish Group führt seit 1994 Umfragen zum Erfolg von Softwareentwicklungsprojekten durch -> CHAOS Report
0% 20% 40% 60% 80% 100%
2004
2002
2000
1998
1996
1994
erfolgreich
behindert
gescheitert
![Page 8: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/8.jpg)
Effiziente SoftwareentwicklungKriterien für den Erfolg von Projekten.
Termin eingehalten
Kosten eingehalten Anforderungen erfüllt
![Page 9: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/9.jpg)
Effiziente Softwareentwicklung
… führt zu:
- ertragreichen Projekten
- zufriedenen Kunden
- zufriedenen Mitarbeitern
- Wachstum und Arbeitsplätzen
- Freiraum für Innovationen
Die Summe zeigt: ein wichtiges Thema.
![Page 10: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/10.jpg)
Effiziente Softwareentwicklung
Schwerpunkt dieser Vorlesung:
- Betrachtung technischer Einflüsse
- Vorstellung MDA, Produktlinien
Was ist nicht Inhalt dieser Vorlesung:
- Projektmanagementthemen
- Teamstrukturen, Zusammenarbeit
- Kunden – Auftragnehmerbeziehungen
![Page 11: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/11.jpg)
Probleme in der Softwareentwicklung
Analyse Entwurf Implemen-
tierung Integration
& Test Installation
Standards/Richtlinien werden nicht eingehalten
nicht ausreichende Dokumentation
unklare Anforderungen
hohe Fehlerrateninstabiles System
Copy&Paste - Code
lange Implemen-tierungszeiten
wiederkehrende Implementierungs-aufgaben durch fehlende Modularität
Kommunikation
Zu schneller Start in die Implementierung
Qualitätsmerkmale werden nicht festgelegt.
Vorgehens-modell fehlt
Systematische Tests fehlen
Kundenzufriedenheit sieht anders aus.
![Page 12: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/12.jpg)
Effiziente Softwareentwicklung
Frameworks und Bibliotheken nutzen
- generische Lösung für verwandte Probleme
- aktive Wiederverwendung
- z. B. Jakarta Commons Bibliotheken
Generierung nutzen
- in der integrierten Entwicklungsumgebung
- bei der Erstellung von WebServices
- für ganze Projekte und Module
Implementierung
![Page 13: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/13.jpg)
Effiziente Softwareentwicklung
Einheitliche Entwicklungsumgebung
- Pakete mit Voreinstellungen bereitstellen
- Eclipse Distribution: Yoxos
Wikis & FAQs
- Links der Umgebungen (Dev, TuA, Live)
- Entwicklungshandbuch
- technische Beschreibungen, Zugangsdaten
Infrastruktur
![Page 14: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/14.jpg)
Effiziente Softwareentwicklung
1. Motivation
2. Build Management
3. MDA
4. Software Factories
5. Test & Reports
![Page 15: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/15.jpg)
Buildmanagement
• Teil des Konfigurationsmanagements
• Erstellung eines Softwarepaketes (Buildskripte)
• Verteilen der Softwarepakete (Deployment)
• Berechnung von Softwaremetriken
• Automatisierung dieser Punkte
• Tools:
• Ant• Maven• Continous Integration (Continuum, Cruise Control)• Shell Skripte
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 15
![Page 16: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/16.jpg)
Entwickeln im Team
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 16
SVN Repository
Commit
![Page 17: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/17.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 17
SVN Repository
Commit
Update
Entwickeln im Team
![Page 18: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/18.jpg)
Entwickeln im Team
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 18
SVN Repository
Commit
Update
Compiler Error!
![Page 19: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/19.jpg)
Ursachen für Fehler
• Fehlerhafter Stand wurde eingecheckt
• Bearbeitung gleicher Module
• Fehler im lokalen Code
• Falsche Konfiguration
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 19
![Page 20: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/20.jpg)
Continous Integration
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 20
SVN Repository
Commit
Update
Compiler Error!
Build
Test
Report
Fehler im Buildaufgetreten?
![Page 21: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/21.jpg)
Continous Integration
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 21
SVN Repository
Commit
Update
Compiler Error!
Build
![Page 22: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/22.jpg)
Continous Integration
• Definition Martin Fowler: „Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible. Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.” [http://martinfowler.com/articles/continuousIntegration.html]
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 22
![Page 23: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/23.jpg)
Vorteile Continous Integration
• Schnelles Auffinden von Fehler
• Automatisierung von Tests
• Automatisierung der Überprüfung von Metriken
• Bereitstellung einer aktuellen Version zum Testen
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 23
![Page 24: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/24.jpg)
Deployement
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 24
Lokal 1
Continous Integration
DB
Applikation
Code
…DB
Applikation
Code
DB
Applikation
Code
DB
Applikation
DB
Applikation
Testsystem Wirksystem
Lokal n
![Page 25: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/25.jpg)
Vorteile Build Management
• Standard Build Umgebung
• Früher: eigenes ANT Build Framework• Heute: Maven (1 und 2), Nutzung der Standardfunktion soweit es
geht
• Nutzung von Funktionen wie Continous Integration• Bündelung und Bereitstellung von Software• Kontinuierliche Generierung von Reports• Ähnliche Struktur der Projekte
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 25
![Page 26: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/26.jpg)
Effiziente Softwareentwicklung
1. Motivation
2. Build Management
3. MDA
4. Software Factories
5. Test & Reports
![Page 27: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/27.jpg)
Motivation für MDA
• Welchen Vorteil bringt uns eine MDA Lösung?
• Anforderungen
• Return of Investment• Erlernbarkeit• Stabilität• Geringe Kosten für Tools
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 27
![Page 28: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/28.jpg)
AndroMDA
• Java Sourceforge Projekt
• Version 3.2 im weiteren verwendet
• Modellierung erfolgt über UML
• Anpassungen durch UML Profile (Stereotypen und Tagged Values)
• Generierung anhand von Velocity Templates
• Bündelung von Templates und Konfigurationen in Cartridges
• Anpassung an generierten Code durch
• Vererbung• Mergemappings
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 28
![Page 29: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/29.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 29
Andromda Generierungsprozess
![Page 30: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/30.jpg)
Cartridges
• Vorgefertige Cartridges:
• (N)Hibernate• EJB3• Spring• Webservices (AXIS, Xfire)• Struts
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 30
AndroMDA und Cartridges können direkt verwendet werden ohne Generator oder Templates anzupassen oder zu erstellen.
![Page 31: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/31.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 31
Andromda Standardarchitektur
![Page 32: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/32.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 32
=>
Modelliert
Generiert
RentalServiceBase
#handleGetCustomersByName( name : String )
+getCustomersByName( name : String )
#getCarDao() : CarDao
#handleGetAllCars()
+getAllCars() : List
#getPersonDao()
RentalServiceImpl
#handleGetCustomersByName( name : String )#handleGetAllCars()
RentalService
+getCustomersByName( name : String )+getAllCars() : List
ServiceLocator
+getRentalService() : RentalService
CarDao
+remove( car : Car, id : Long ) : void+allCarsRented() : boolean
+update( car : Car ) : void+create( car : Car ) : Car
+load( id : Long ) : Car+loadAll() : Car
CarDaoBase
+remove( car : Car, id : Long ) : void
#handleAllCarsRented() : boolean
+allCarsRented() : boolean
+update( car : Car ) : void
+create( car : Car ) : Car+load( id : Long ) : Car
+loadAll() : Car
CarDaoImpl
#handleAllCarsRented() : boolean
Car
-name : String-serial : String
-type : String-id : Long
+isRented() : boolean+getOwner() : Person
Person
-birthday : Date-name : String
+getCars() : Collection
CarImpl
+isRented() : boolean
Person.hbm.xml
Car.hbm.xml
PersonDao
Einmalig generiert
-owner
1
-cars
0..*
![Page 33: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/33.jpg)
MDA - Buildmanagement
• Integration der Generierung in Maven 2
• Kleine Änderung im Modell
• Ziel: Nur die Dateien neu generieren, die davon betroffen sind
• Lösung: Generierung nur eines bestimmten Packages Generierung nur durch ausgewählte Cartridges
• Die Festlegung was neu generiert werden soll, wird nicht automatisch sondern muss vom Entwickler getroffen werden.
![Page 34: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/34.jpg)
Versionierung von Modellen
• Problem: XML Format eines Modells komplex
• Mergen nahezu unmöglich
• Lösung:
• Aufsplitten der Modelle in Schichten (FE/Service/Backend) und Komponenten (User/Evaluation/Security…)
• Mehrere Modelldateien
• Nutzen von Locks in Versionskontrollen
• Alternativ:
• Teamworkserver (Checkin/Checkout über MagicDraw)
• Generierte Dateien nicht in Versionskontrolle
![Page 35: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/35.jpg)
MDA - Releasemanagement
• Neues Release 2 wird entwickelt.
• Das Modell für Release 2 wird umfangreich angepasst.
• Es tritt ein Bug im Release 1 auf.
• Der Bugfix benötigt eine Änderung des Modells für Release 1.
• Die Änderung muss auch in Release 2 nachgezogen werden…
• Automatismus?
![Page 36: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/36.jpg)
MDA - Probleme
• Konfliktlösung in Modellierung falls Entwickler gleichzeitig ein Modell bearbeitet haben
• BPM4Struts Cartridge zu unübersichtlich verwendbar
• Modellierung zu umständlich mit MagicDraw• Zusätzlich hoher Lernaufwand um Cartridge zu verstehen
• Bugs die durch Cartridge / Generator erzeugt werden sind schwieriger zu beheben
• Lösungen die an Standardarchitektur vorbeigehen:
• Erstellung von nichtgenerierten Klassen • Keine Modellierung im Modell
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 36
![Page 37: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/37.jpg)
Einfluss auf den Softwareprozess
• Learning Curve: „Lernen statt Arbeiten“• Lernaufwand höher: Zu verstehen was wird wie wo generiert• Dafür Einsparung von Arbeit: Kleine Anpassung im Modell
Große Änderung im Code (anstatt per Hand)
• Bei der Konfiguration des Projektes:• Auswahl der zu nutzenden Cartridges• Anpassung, Erweiterung an Architekturforderungen
• Während des Projektes:• Fehlerbehebung und Anpassung der Cartridges• Zu entscheiden: Passe ich die Implementierung an oder suche
ich eine generische Lösung durch Veränderung der Cartridges?
• Nachdem Projekt:• Einfluss der Erfahrungen• Wiederverwendung in neuen Projekten
![Page 38: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/38.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 38
Andromda - Vorteile
• Vorgefertige Cartridges (Hibernate, Spring) sind Out Of The Box verwendbar
• Müssen in anderen System i. d. R. erst von Hand geschrieben werden
• Anpassbarkeit gegeben
• Schnelles Entwickeln: Modell in Code
• Gerine Fehleranfälligkeit durch generierten Code
• Sicherstellung von Architekturrichtlinien
• Konsistenz zwischen Code und Modellen
Erhöhung der Entwicklungsgeschwindigkeit
![Page 39: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/39.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 39
Andromda - Nachteile
• Muss mit den vorgefertigten generierten Konzept der 3-Schichten-Architektur leben
• Trennung des Plattformspezifisches Modell nicht gegeben (für Andromda 4 geplant)
• Verknüpfung von mehreren AndroMDA Projekten nur durch Anpassung von Cartridges
![Page 40: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/40.jpg)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 40
Open issues
• Stabilität des Datenmodells
• Auswirkungen auf Datenbank
• Entfremdung des Entwicklers vom Code
• Herstellerabhängigkeit durch Verwendung der Tools
• Modellierung im Team
• Releasemanagement
![Page 41: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/41.jpg)
Effiziente Softwareentwicklung
1. Motivation
2. Build Management
3. MDA
4. Software Factories
5. Test & Reports
![Page 42: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/42.jpg)
Software Factories
- aktuell: Begriff stark von Microsoft geprägt
- Paradigma der industriellen Softwareentwicklung
- Aufsetzen von Produktlinien
Ziele: Risiko, Kosten, Fehlerraten minimieren
Produkt-/ Projekteinführungszeiten verringern
hohe Qualität beibehalten / erreichen
![Page 43: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/43.jpg)
Software Factories
Prinzipien: - Geschäftsorientierung
- Domänenentwicklung und Applikations- entwicklung
- Trennung von Produkt übergreifenden und Produkt spezifischen Funktionen
- Architektur zentrierte Entwicklung
- Varianten Management
![Page 44: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/44.jpg)
Software Factories
Vorgehen:
Quelle: iX 5/2008. „Softwarewiederverwendun. Produktlinien – die Zukunft der industriellen Softwareentwicklung“
![Page 45: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/45.jpg)
Software Factories
Funktionsplattform Konkrete Variante
Erstellung konkreter Produkte - Bindungszeitpunkte
![Page 46: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/46.jpg)
Software Factories
Erstellung konkreter Produkte - Bindungszeitpunkte
Funktionsplattform Konkrete Variante
![Page 47: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/47.jpg)
Software Factories
Herausforderungen:
- Trennung in Domän- und Applikationscode
- Änderung und Weiterentwicklung
- Dokumentation u. Information bei Änderungen
- Build Management
Teamorganisation:
- Abstimmung über Änderung am Domäncode
- Durchführung von Änderungen
![Page 48: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/48.jpg)
Effiziente Softwareentwicklung
1. Motivation
2. Build Management
3. MDA
4. Software Factories
5. Test & Reports
![Page 49: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/49.jpg)
Test & Quality
Automatisierte Test
- Junit, Mock-up Test
- Frontend Tests: Selenium
Quality Reports (Force Feedback für Entwickler)
- in der integrierten Entwicklungsumgebung (Metriken, CheckStyle)
- im Build Prozess verankert – Maven Reports
- Nutzung technischen Know Hows
![Page 50: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/50.jpg)
Syntaktische Tests
- CheckStyle, Java Doc Abdeckung
- JDepend
Semantische Tests
- PMD Report
- FindBugs Report
manuelle und automatische Auswertung möglich >> Beispiel
Test & QualityMaven Reports
![Page 51: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/51.jpg)
Frontendtests
• Testen der Funktionalität so nah am Anwendungsfall wie möglich
• Verschiedene Frameworks:
• HttpUnit, HtmlUnit, Selenium
• Vorteile Selenium:
• Testen direkt im Browser• Testen von verschiedenen Browserderivaten mit einer
Codebasis möglich• Testen der Frontendkomponenten (insb. Javascript, Formulare)
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 51
![Page 52: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/52.jpg)
Selenium
© Communardo Software GmbH · Fon +49 (0) 351 833820 · [email protected] · www.communardo.de
Folie 52
![Page 53: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/53.jpg)
Praktikanten. Diplomarbeiten.
Aktuelle Arbeiten:
- Tagging Server
- Tag Cloud Navigationen
- Performance Optimierung von Webapplikationen
Aktuelle Themen:
- Produktentwicklung,
- Enterprise 2.0,
- Visualisierung von Informationen,
- Projekt Twitter
![Page 54: Communardo Software GmbH Lösungen aus Leidenschaft für Netzwerke](https://reader036.vdocuments.net/reader036/viewer/2022062417/55204d6349795902118b8caf/html5/thumbnails/54.jpg)
Effiziente Softwareentwicklung
Vielen Dank.