19.01.2006, 20:28 Uhr
Entwickeln und Testen im Teamwork
Die Team-System-Edition von Microsofts Entwicklerwerkzeug Visual-Studio 2005 will die Bedürfnisse ganzer Entwicklergruppen abdecken.
Visual-Studio von Microsoft ist seit mehr als einem Jahrzehnt das Flaggschiff unter den Entwicklerwerkzeugen der Softwaregigantin. War Visual-Studio 6 noch ein Sammelsurium unterschiedlicher Werkzeuge, präsentiert sich die Entwicklersuite seit der Lancierung des Dotnet-Frameworks wesentlich homogener. Visual-Studio 2005 wurde vor kurzem als dritte Dotnet-basierte Generation des Werkzeugs freigegeben.
Ausgelöst wurde die neue Version wohl, weil das Dotnet-Framework selber erweitert wurde. Dessen Version 2.0 bringt zahlreiche Erweiterungen, unter denen einige nicht abwärtskompatibel zur Version 1.1 sind. Also braucht es auch ein Entwicklerwerkzeug, das die Neuerungen unterstützt. Ausserdem rufen neue Methoden im Anwendungsentwurf, beispielsweise die Service Oriented Architecture (SOA), nach entsprechender Unterstützung. Und nicht zuletzt muss Microsoft ihr Angebot gegenüber Konkurrenten wie etwa Eclipse oder den Borland-Paketen auf vergleichbarem Niveau halten, was sie mit verbesserter Unterstützung beim Codeschreiben, mit ausgebauten Testwerkzeugen und mit leistungsfähigen Entwurfswerkzeugen versucht.
Ausgelöst wurde die neue Version wohl, weil das Dotnet-Framework selber erweitert wurde. Dessen Version 2.0 bringt zahlreiche Erweiterungen, unter denen einige nicht abwärtskompatibel zur Version 1.1 sind. Also braucht es auch ein Entwicklerwerkzeug, das die Neuerungen unterstützt. Ausserdem rufen neue Methoden im Anwendungsentwurf, beispielsweise die Service Oriented Architecture (SOA), nach entsprechender Unterstützung. Und nicht zuletzt muss Microsoft ihr Angebot gegenüber Konkurrenten wie etwa Eclipse oder den Borland-Paketen auf vergleichbarem Niveau halten, was sie mit verbesserter Unterstützung beim Codeschreiben, mit ausgebauten Testwerkzeugen und mit leistungsfähigen Entwurfswerkzeugen versucht.
Entwickeln und Testen im Teamwork
Umgebung für Entwicklergruppen
Visual-Studio 2005 wird in unterschiedlichen Versionen angeboten. Das beginnt mit der Express Edition, welche im ersten Jahr kostenlos zu haben ist, geht über die Standard und Professional Edition, welche alle Dotnet-Sprachen enthalten und hauptsächlich für selbständig arbeitende Entwickler gedacht sind, bis zur neuen Team-System-Edition. Diese glänzt mit Hilfsmitteln zur Zusammenarbeit in Entwicklergruppen und kann eingesetzt werden zum Entwerfen, Entwickeln und Testen komplexer, mehrschichtiger Anwendungen.
In allen Editionen läuft die Entwicklungsarbeit nach dem gleichen, auch anderswo üblichen Muster ab. Der Entwickler eröffnet ein Projekt und legt in diesem die nötigen Programm- und Konfigurationsdateien an. Visual-Studio bietet Schablonen für zahlreiche Anwendungstypen wie traditionelle Windows-Anwendungen, Webserver-basierte Lösungen oder reine Serverpakete ohne Benutzerschnittstelle.
In allen Editionen läuft die Entwicklungsarbeit nach dem gleichen, auch anderswo üblichen Muster ab. Der Entwickler eröffnet ein Projekt und legt in diesem die nötigen Programm- und Konfigurationsdateien an. Visual-Studio bietet Schablonen für zahlreiche Anwendungstypen wie traditionelle Windows-Anwendungen, Webserver-basierte Lösungen oder reine Serverpakete ohne Benutzerschnittstelle.
Unterstützung für Programmierer
Entwickeln und Testen im Teamwork
Nach dem Start zeigt Visual-Studio eine übersichtliche Einstiegsseite. Hier sind die Projekte aufgelistet, an denen der Entwickler zuletzt gearbeitet hat. Ausserdem findet er direkt vom Web bezogene Neuigkeiten zur Programmiersprache, die er bei der Konfiguration von Visual-Studio als bevorzugte Sprache genannt hat.
Insbesondere beim Erstellen von Webserver-Anwendungen, die mit Microsofts ASP-Dotnet-Methode aufgebaut werden, zeigen sich zahlreiche Verbesserungen. ASP-Dotnet verwendet ähnlich wie PHP oder Java Server Pages (JSP) HTML-Seiten, in denen Programmcode eingestreut ist, der in allen Dotnet-Programmiersprachen geschrieben werden kann. Ausserdem stehen zahlreiche vorgefertigte Komponenten bereit für häufig zu lösende Aufgaben wie etwa den Zugriff auf Datenbanken, den Aufbau eines interaktiven Kalenders und vieles mehr. Oft sind die Komponenten so leistungsfähig, dass keine oder nur wenig Programmierarbeit nötig ist, um das gewünschte Verhalten zu erreichen.
Treten beim Entwickeln Probleme auf, lässt Visual-Studio die Muskeln spielen. Zuerst wird bereits beim Schreiben von Code vor möglichen Fehlern wie unterlassene Initialisierungen gewarnt, ähnlich wie bei der Rechtschreibprüfung einer Textverarbeitung. Dann liefert der Compiler vor dem Ausführen der Webseite detaillierte Fehlermeldungen mit Hilfestellung zum Beheben. Und schliesslich wird beim Auftreten eines Laufzeitfehlers ein sorgfältig aufgebauter Bericht an den Browser geliefert. Hilft all dies nicht weiter, kann die Webseite im Debug-Modus abgearbeitet werden. Hierin lässt sich der Programmcode schrittweise ausführen, der Inhalt von Variablen überwachen und bei Bedarf in den Ablauf des Programms eingreifen.
Insbesondere beim Erstellen von Webserver-Anwendungen, die mit Microsofts ASP-Dotnet-Methode aufgebaut werden, zeigen sich zahlreiche Verbesserungen. ASP-Dotnet verwendet ähnlich wie PHP oder Java Server Pages (JSP) HTML-Seiten, in denen Programmcode eingestreut ist, der in allen Dotnet-Programmiersprachen geschrieben werden kann. Ausserdem stehen zahlreiche vorgefertigte Komponenten bereit für häufig zu lösende Aufgaben wie etwa den Zugriff auf Datenbanken, den Aufbau eines interaktiven Kalenders und vieles mehr. Oft sind die Komponenten so leistungsfähig, dass keine oder nur wenig Programmierarbeit nötig ist, um das gewünschte Verhalten zu erreichen.
Treten beim Entwickeln Probleme auf, lässt Visual-Studio die Muskeln spielen. Zuerst wird bereits beim Schreiben von Code vor möglichen Fehlern wie unterlassene Initialisierungen gewarnt, ähnlich wie bei der Rechtschreibprüfung einer Textverarbeitung. Dann liefert der Compiler vor dem Ausführen der Webseite detaillierte Fehlermeldungen mit Hilfestellung zum Beheben. Und schliesslich wird beim Auftreten eines Laufzeitfehlers ein sorgfältig aufgebauter Bericht an den Browser geliefert. Hilft all dies nicht weiter, kann die Webseite im Debug-Modus abgearbeitet werden. Hierin lässt sich der Programmcode schrittweise ausführen, der Inhalt von Variablen überwachen und bei Bedarf in den Ablauf des Programms eingreifen.
Entwickeln und Testen im Teamwork
Alles in allem ist die Arbeit mit ASP-Dotnet komfortabel. Die mitgelieferten Komponenten sind leistungsfähig und vielseitig. Mit wenigen Mausklicks lässt sich eine Webseite mit der SQL-Datasource-Komponente an eine Datenbank anbinden. Ebenso einfach werden die abgerufenen Datensätze mit dem Data-Grid-Modul als HTML-Tabelle dargestellt. Auch Verfahren, mit denen die angezeigten Daten verändert werden können, sind fast ohne eigenen Programmcode zu verwirklichen. Allerdings zeigt sich hier ein generelles Problem der grafischen Anwendungserstellung. Solange sich der Entwickler in den Bahnen bewegt, welche die Werkzeugarchitekten vor Augen hatten, läuft alles rund. Nimmt er aber eine unglückliche Fehlmanipulation vor, verändert das Werkzeug den Code oft so, dass der normale Rückgängig-Mechanismus den ursprünglichen Zustand nicht mehr herstellen kann. Dann wird der Unglückliche mit Fehlermeldungen konfrontiert, die er nur mit solidem Grundwissen interpretieren kann.
Auch bei der Arbeit mit dem eigentlichen Programmcode hat Visual-Studio dazugelernt. Entwickler werden das Refactor-Werkzeug zu C-Sharp schätzen. Unter Refac-toring versteht man das Ändern bestimmter Aspekte von objektorientiertem Code. Das reicht von relativ einfachen Aufgaben wie dem Ändern eines Variablennamens im gesamten Code eines Projekts bis zu komplexen Manipulationen an der Klassenhierarchie. Solche Leistungen bieten Konkurrenzprodukte schon länger. Visual-Studio zieht hier nach, erreicht aber die Reife und die Vielseitigkeit der Konkurrenz nicht.
Auch bei der Arbeit mit dem eigentlichen Programmcode hat Visual-Studio dazugelernt. Entwickler werden das Refactor-Werkzeug zu C-Sharp schätzen. Unter Refac-toring versteht man das Ändern bestimmter Aspekte von objektorientiertem Code. Das reicht von relativ einfachen Aufgaben wie dem Ändern eines Variablennamens im gesamten Code eines Projekts bis zu komplexen Manipulationen an der Klassenhierarchie. Solche Leistungen bieten Konkurrenzprodukte schon länger. Visual-Studio zieht hier nach, erreicht aber die Reife und die Vielseitigkeit der Konkurrenz nicht.
Entwickeln und Testen im Teamwork
Ebenfalls schon länger bieten andere Werkzeuge standardisierte Testverfahren an, oft in Form von so genannten Unit-Tests. Damit ist ein Vorgehen gemeint, das alle Aspekte einer Software durch Aufruf der publizierten Schnittstellen nach einem vordefinierten Ablauf prüft. Visual-Studio verfügt nun in der Team-System-Edition ebenfalls über ein Unit-Test-Werkzeug. Damit lassen sich sehr leicht Prüfszenarien einrichten und ausführen. Ein Testdurchlauf liefert eine übersichtliche Liste der Resultate. Sie zeigt auf einen Blick, welche Methoden in welchen Klassen einen Prüflauf nicht bestanden haben. Trotz der guten Unterstützung darf aber nicht übersehen werden, dass die Konzeption und die Durchführung von wirksamen Tests viel Fachwissen erfordert und Erfahrung voraussetzt.
Ebenfalls zur Team-System-Edition gehören grafische Entwurfswerkzeuge, mit denen vorgängig die Struktur einer Anwendung geplant werden kann. Als Beispiel soll der Application Connection Designer (ACD) dienen. Mit seiner Hilfe werden die Schnittstellen der einzelnen Bausteine einer verteilten Anwendung entworfen. Dabei entwickelt man auch die Schnittstellen von Web-Services und legt fest, in welchen anderen Bausteinen diese eingesetzt werden. Dabei kann es sich sowohl um neu zu bauende wie auch um bereits bestehende Web-Services handeln. Ist das System fertig entworfen, kann der ACD die Codegerüste für die Web-Services und für deren Aufruf anlegen. Er soll auch in der Lage sein, Modifikationen an den Schnittstellen während der Projektlaufzeit zu verwalten.
Ebenfalls zur Team-System-Edition gehören grafische Entwurfswerkzeuge, mit denen vorgängig die Struktur einer Anwendung geplant werden kann. Als Beispiel soll der Application Connection Designer (ACD) dienen. Mit seiner Hilfe werden die Schnittstellen der einzelnen Bausteine einer verteilten Anwendung entworfen. Dabei entwickelt man auch die Schnittstellen von Web-Services und legt fest, in welchen anderen Bausteinen diese eingesetzt werden. Dabei kann es sich sowohl um neu zu bauende wie auch um bereits bestehende Web-Services handeln. Ist das System fertig entworfen, kann der ACD die Codegerüste für die Web-Services und für deren Aufruf anlegen. Er soll auch in der Lage sein, Modifikationen an den Schnittstellen während der Projektlaufzeit zu verwalten.
Die Konkurrenz ist mächtig
Visual-Studio Team System will ein ganzes Entwicklerteam in allen Phasen der Anwendungserstellung unterstützen. Es setzt dabei bereits bewährte Teilsysteme ein. Das bekannteste ist Visual-Studio selbst. Ergänzt wird es durch Systeme zur Kommunikation und Zusammenarbeit, welche auf dem Share-Point Portal Server basieren. Weiter werden grafische Entwurfswerkzeuge mitgeliefert. Vor allem der Entwicklerteil in Form von Visual-Studio ist ausgereift. Die mitgelieferte Dokumentation ist sorgfältig gemacht und vermittelt über weite Strecken das nötige Wissen. Wie weit sich die vom Team System zusätzlich angebotenen Teile bewähren, muss sich erst noch zeigen. Microsoft steht hier potenten Mitbewerbern wie etwa Borland oder IBM Rational gegenüber.