Geplante Vorträge
Vortrag am 24. Februar 2010
Clean Code Development
MG Informatik, Dipl.-Inf. Mario Gleichmann
Universität Mannheim, A5 B243, 19:30 Uhr
Abstract:
Clean Code Development ist derzeit nicht zuletzt durch aktuelle Diskussionen zu den Themen Software Qualität oder auch 'Software Craftsmanship' in aller Munde.
In einer Zeit in welcher Kunden immer höhere Qualitätsanforderungen stellen, in dessen Rahmen Weiterentwicklung und Wartbarkeit von Softwaresystemen einen immer höheren Stellenwert einnehmen, ist es umso notwendiger nicht nur Code zu schreiben welcher die fachlichen Anforderungen erfüllt, sondern darüber hinaus 'sauberen' Code zu entwickeln welcher leicht zu verstehen und ebenso leicht zu ändern ist.
Die Berücksichtigung der zugrundeliegenden kognitiven Prozesse und die damit verbundene Frage unter welchen Umständen wir Code als lesbar bzw. nachvollziehbar erleben, wird dabei selten angesprochen.
Der Vortrag liefert einen tieferen Einblick in das innerhalb der Entwicklergemeinde eher unbekannte Forschungsgebiet 'Program Comprehension' und beleuchtet anschliessend gängige Prinzipien (S-O-L-I-D, DRY, TDA, ...), Modellierungsansätze (Domain Driven Design, Design by Contract, ...) und Programmier-Techniken (Immutability, Implementation Patterns, ...) zur Entwicklung von sauberen, lesbaren Code unter dem Gesichtspunkt kognitiver Leistungen und Beschränkungen des menschlichen (Entwickler-) Hirns.
Speaker
Dipl.-Inf. Mario Gleichmann ist unabhängiger IT-Consultant und in dieser Funktion seit vielen Jahren an der Konzeption, Design und Entwicklung grosser Enterprise-Systeme beteiligt. Zudem ist er aktiver Open Source Committer und Autor einiger Fachartikel.
Weitere zukünftige Vorträge
Vergangene Vorträge
Vortrag am 27. Januar 2010
Continuous Integration mit Hudson - (Noch) fauler werden in 10 einfachen Schritten!
Dr. Simon Wiest - Ingenieurbüro für Softwaretechnik, Dr. Simon Wiest
Abstract:
Hand aufs Herz: Gute Software zu entwickeln ist ja schon nervenzehrend genug. Wäre es da nicht schön, einen Butler zu haben, der einem den lästigen Routinekram abnimmt?
Hudson ist ein Java-basierter Continuous-Integration-Server, der in den letzen Monaten rasante Verbreitung gefunden hat. Entwickler und Teamleiter können damit einfach und zuverlässig wichtige Aspekte der Softwareerstellung automatisieren und so mehr Transparenz in IT-Projekte bringen.
Kein Wunder also, dass Firmen wie eBay, Yahoo, Sun Microsystems, Hewlett-Packard, Xerox, JBoss, Goldman Sachs oder die Allianz den Continuous-Integration-Server Hudson zum festen Bestandteil ihrer Werkzeugketten gemacht haben.
Hudson muss den Vergleich mit den „üblichen Verdächtigen“ seiner Gattung wie etwa CruiseControl nicht scheuen. Im Gegenteil: In vielen Fällen etabliert sich Hudson sogar als deren Ablösung. Für sein Potenzial spricht auch die Auszeichnung mit dem „Duke‘s Choice Award“ in der Kategorie „Developer Solutions“ auf der JavaOne 2008.
Hudson ist kostenlos, Open Source, und wird von einer äußerst rührigen Entwicklergemeinde vorangetrieben. Vor allem aber ist Hudson praxiserprobt.
Hudson bietet insbesondere:
- Einfache Installation - im Extremfall mit nur einem Klick
- Bequeme Konfiguration und Bedienung per Weboberfläche
- Direkte Unterstützung von Builds auf Basis von Ant, Maven, Shellskripten oder Windows-Batchdateien
- Darüberhinaus existieren Plug-Ins für Gant, Groovy, MSBuild, NAnt, Rake und viele weiter Buildsysteme
- Ansprechende Visualisierung von Statistiken, z.B. von JUnit- oder TestNG-Ergebnissen
- Umfangreiche Kommunikationsmittel wie E-Mail, RSS, IM-Integration oder Permalinks
- Fernsteuerbarkeit durch Remoting-Schnittstelle
- Verteilte Builds über mehrere Rechner
- Über 200 Plugins für die unterschiedlichsten Automatisierungsaufgaben: vom Checkout zum Deployment, von der Codemetrik bis zur Ansteuerung von sprechenden Hasen(!)
Im Vortrag werden wir – durchgehend unterstützt von Live-Demos – folgende Fragen behandeln:
- Was bringt kontinuierliche Integration überhaupt?
- Was macht Hudson so besonders?
- Passt Hudson zu meiner Arbeitsgruppe/Firma?
- An welchen Stellen wurde in den letzten Monaten am intensivsten weiterentwickelt?
- Welche Features sind in naher Zukunft zu erwarten?
Und natürlich dürfen auch dieses Mal eXtreme-Feedback-Devices (XFDs) wieder nicht fehlen…
Speaker
Dr. Simon Wiest ist Committer im Projekt Hudson. Seine Beiträge wurden mit einem Sun Microsystems Community Innovation Award ausgezeichnet. Zu Hudson spricht er regelmäßig bei Firmen, auf Fachkonferenzen und in Java User Groups.
Als Autor arbeitet er momentan am ersten deutschsprachigen Buch über Continuous Integration mit Schwerpunkt Hudson und an RockstarDemos (http://www.rockstardemos.de), einem Präsentationstraining für alle, die Software packender und professioneller demonstrieren möchten.
In seinem anderen Leben berät und leitet er als Freiberufler IT-Projekte im Enterprise-Java-Umfeld. Dies erklärt seine natürliche Schwäche für alles, was gut zu bedienen ist, robust funktioniert und das alltägliche Chaos in IT-Projekten ordnet – wie zum Beispiel Hudson.
Folien zum Vortrag
Vortrag am 9. Dezember 2009
Medizinische Informatik - zwischen Arzt und IT
Universität Heidelberg, Lukasz Plotnicki & Daniel Schrimpf
Abstract:
Medizinische Informatik umfasst die systematische Verarbeitung von Informationen, Wissen und Daten in den verschiedenen Bereichen des Gesundheitswesens, um sowohl die Prozesse während der Patientenbehandlung als auch die Medizinische Forschung optimal zu unterstützen. Das Gebiet der medizinischen Informatik lässt sich klassisch in vier Bereiche unterteilen: Bild- und Signalverarbeitung, Bioinformatik und Biostatistik, Informationsysteme und Wissensbasierte Systeme im Gesunheitswesen. Der Vortrag soll die Charakteristika dieser Bereiche (spezielle Anforderungen/Herausforderungen) sowie zum Einsatz kommende Technologien kurz darstellen. Dabei werden die in der healthcare-IT etablierten Standards (z.B. DICOM, HL7) wie auch das oft diskutierte Thema des Datenschutzes behandelt. Um den Vortrag anwendungsnah abzurunden, wird auf ein Open Source Projekt (RANDI2: www.randi2.org) im Bereich der Durchführung klinischer Studien eingegangen.
Speaker
Lukasz Plotnicki - Absolvent des Studiengangens Medizinische Informatik der Universität Heidelberg/Hochschule Heilbronn. Zur Zeit Doktorand an dem Universitätsklinikum Heidelberg (Security/Datenschutzkonformität bei medizinsichen Webanwendungen) und einer der Core Developer des RANDI2 Projektes.
Daniel Schrimpf - Student der Medizinischen Informatik der Universität Heidelberg/Hochschule Heilbronn; einer der Core Developer des RANDI2 Projektes, der in diesem Umfeld zur Zeit seine Diplomarbeit (über die Simulation des Randomisationsprozesses) schreibt.
Folien zum Vortrag
Vortrag am 4. November 2009
Verbindung von Modellierung und Programmierung über DSLs
itemis AG, Markus Völter, Berater & Coach
Abstract:
Traditionell sind Modellierung und Programmierung zwei verschiedene Dinge. Das eine eher graphisch, dass andere typischerweise textuell. Die verwendeten Tools sind üblicherweise unterschiedlich und lassen sich nur begrenzt sinnvoll integrieren. Es stellt sich die Frage, warum das so ist, und ob das so sein muss.
Mit textuellen DSLs und Language Workbenches lassen sich diese beiden Welten erheblich näher zusammen bringen, mit der Konsequenz dass man eigentlich nicht mehr zwischen Modellierung und Programmierung unterscheidet. Stattdessen, kann man einfach bei der Softwareentwicklung für die verschiedenen Aspekte eines Systems eine zu deren Beschreibung optimal passende Sprachen verwenden. Die Sprachen die zur Beschreibung eines Systems notwendig sind sind alle innerhalb einer IDE verwendbar und vollständig symbolisch integriert.
Dieser Vortrag besteht aus zwei Teilen. Im ersten Teil argumentiere ich, warum Modellierung und Programmierung nicht grundsätzlich unterschiedliche Tätigkeiten sind, und welche Vorteile sich ergeben, wenn sie denn konzeptionell und tooltechnisch das gleiche wären.
Im zweiten Teil zeige ich anhand von Eclipse TMF Xtext und JetBrains MPS zwei moderne Werkzeuge zur Implementierung von DSLs. Beide Werkzeuge sind Open Source.
Speaker
Markus Völter arbeitet als freiberuflicher Berater und Coach für die itemis AG in Stuttgart. Seine Schwerpunkte liegen dabei auf Architektur, Modellgetriebener Softwareentwicklung und domänenspezifischen Sprachen sowie Produktlinenengineering. Er hält regelmäßig Vorträge auf den entsprechenden Konferenzen und ist (Mit-) Autor verschiedener Bücher, Patterns und Artikel. Markus ist zu erreichen unter www.voelter.de sowie via voelter at acm dot org.




Folien zum Vortrag