Deutsch American
triomis Software Factories

Software Factories

07.09.2010


Software-Entwicklung, wie sie heute vielfach praktiziert wird, ist langsam, kostspielig, störungsanfällig und häufig werden Produkte mit vielen Fehlern produziert, die ernste Probleme in Bezug auf Brauchbarkeit, Zuverlässigkeit, Sicherheit, Wiederverwendbarkeit und andere Qualitätsanforderungen mitbringen.
Nach Untersuchungen der Standish Group werden alleine in den Vereinigten Staaten jedes Jahr ungefähr 250 Milliarden Dollar in 175.000 Projekte für Software-Entwicklung investiert. Nur 16 Prozent dieser Projekte werden im Zeitplan und innerhalb des Budgets umgesetzt. 31 Prozent werden hauptsächlich wegen der Qualitätsprobleme gestoppt, was zu Verlusten von ca. 81 Milliarden Dollar führt. Weitere 53 Prozent übersteigen das Budget im Durchschnitt um 189 Prozent, woraus ein Verlust von 59 Milliarden Dollar resultiert. Die Projekte, die beendet werden, liefern im Durchschnitt nur 42 Prozent der ursprünglich geplanten Eigenschaften.
Diese Zahlen bestätigen objektiv das, was wir bereits durch Erfahrung wissen. Software-Entwicklung ist arbeitsintensiv und verbraucht mehr menschliches Kapital pro Dollar Wertschöpfung, als dies von einer modernen Industrie erwartet werden darf.

Software Factories

Eine Lösung für das geschilderten Problem ist der Einsatz von Software Factories. Eine Software Factory stellt eine Kombination aus einer für spezielle Anwendungsfamilien zusammengestellten Methodenbibliothek sowie einer erweiterbaren Entwicklungsumgebung dar. Die Methodenbibliothek umfasst Frameworks, Patterns, Domain Specific Languages, Designer und Tools zur automatisierten Generierung fragmentarischer oder vollständiger Artefakte in Form von Modellen, Quellcodes oder Konfigurationen. Die erweiterbare Entwicklungsumgebung ist Visual Studio 2005. In Verbindung mit einer Anleitung (Guidance) für die Verwendung dieser Werkzeuge entsteht eine Software Factory.
Die triomis software factory ist eine solche Methodenbibliothek. Ziel der triomis software factory ist die Reduzierung der Freiheitsgrade eines einzelnen Entwicklers durch die Verwendung von Designpatterns in Form von Visual Studio Templates. Die triomis software factory ergänzt mit eigenen Frameworks, die immer wieder benötigte Funktionen implementieren, das .NET Framework 2.0. Ergänzt um Beispiele und eine Guidance-Dokumentation werden insgesamt die Qualität gesteigert, die Entwicklungskosten reduziert und das Design durch Verwendung standardisierter Designpatterns verbessert.

Xml-Factory

Xml ermöglicht als plattformunabhängiges Transportformat eine flexible und leistungsfähige Entwicklung von Geschäftsapplikationen. Allerdings erfordert Xml, da es zumeist untypisiert und oftmals erst zur Laufzeit evaluiert, eine saubere Implementierung. Die Xml Factory erleichtert den Umgang mit Xml, indem Routinen für eine sichere XPath-Evaluierung vorliegen. Weiterhin wird durch das Caching kompilierter XPath-Ausdrücke und häufig verwendeter Xml-Files (Dokumente, Stylesheets, Schemata) die Performance erhöht. Daneben existieren Klassen zur Implementierung eigener XPath-Funktionen (z.B. eine Distinct-Function). Ergänzt wird die Factory durch eine Erweiterung, mit der lesend und schreibend per XPath auf ADO.NET Datasets zugegriffen werden kann.

Business Entities Factory

Es existieren viele verschiedene Möglichkeiten, Businessobjekte oder auch Transport zu implementieren. Zur Anwendung können Datasets, Customtypes oder auch Xml kommen. Die Business Entities Factory implementiert ein Facade Designpattern und ermöglicht bei Verwendung von Xml einen typisierten Zugriff auf Xml-basierte Datenstrukturen. Dadurch werden XPath-Ausdrücke an einer einzigen Stelle im Code hinterlegt, was das Schemamapping erleichtert, die XPath-Evaluierung kann durch Unit-Tests überprüft werden und die Verwendung der Strukturen wird durch Intellisense wesentlich vereinfacht. Aus Basis eines existierenden Xsd-Schemas können die Business Entities per Codegenerator automatisch generiert werden, was den Entwicklungsaufwand erheblich reduziert.

UI-Factory

ASP.NET sowie WinForms bieten sehr viele verschiedene Entwicklungsalternativen. Die UI Factory vereinfacht die Implementierung dieser Applikationsarten durch die Reduktion von Freiheitsgraden. Die UI Factory implementiert das Model-View-Controller Designpattern und verbessert so das Design der Anwendungen. Durch die Bereitstellung von ASP.NET abgeleiteter UI-Controls und einen konfigurierbaren Navigationsbaum wird die Navigation abstrahiert und flexibler. Es existieren definierte Eintritts- und Austrittspunkte in Oberflächenabläufe, was zusammen mit einem automatischen Statemanagement die Implementierung von ASP.NET-Anwendungen wesentlich vereinfacht. Weiterhin unterstützt die UI Factory ein vollständiges Xml-Databinding.​
Suche
 
  • Xml-Factory

    • Standardisierte Routinen für sichere XPath-Evaluierung
    • Automatisches Anlegen von Knotenhierarchien aus XPath-Ausdrücken
    • Caching von XPath-Ausdrücken
    • Caching von Xml-Dokumenten, Xslt-Stylesheets, Xsd-Schemas
    • Automatisches Caching von embedded Xml-Files
    • Vorkompilierte Stylesheet-Generatoren
  • Business Entities

    • Facade Designpattern für typisierten Zugriff auf Xml-Strukturen
    • Abbildung komplexer Objektgraphen
    • Automatische Generierung
    • Sicherer Zugriff auf das Xml
    • Erzeugung von Lightweight-Objekten beim Zugriff
    • Automatische Serialisierung
    • Automatische Schemavalidierung
    • Vollständige Unterstützung aller Xml-Funktionen von .NET 2.0
  • UI-Factory

    • Implementierung des Model-View-Controller-Designpatterns
    • Automatisches Statemanagement
    • Abbildung von UI-Workflows
    • Abstrakte Navigation und konfigurierbarer Navigationsbaum
    • Xml-Databinding ergänzt das existierende Databinding von .NET 2.0
    • Erweitertes Eventmodell
Links