Lutz-IT GmbH - Ihr Partner für IT-Consulting und Programmierung
  • Email
  • Rss
Tel: +41 76 459 0580
  • IT-Consulting
  • Programmierung
  • Showcases
  • Blog
  • Referenzen
  • Auszeichnungen
  • Kontakt
Search the site...
Home» Consulting » Business Objekt Modelle in Entwicklungsprojekten

Business Objekt Modelle in Entwicklungsprojekten

Posted by Benjamin Lutz - 24. Dezember 2011 - Consulting, Programmierung
0

Benjamin Lutz - Tips für Erfolg im ConsultingImmer wieder kommt es vor, dass ein Entwicklungsvorhaben in Schieflage kommt und die Gründe analysiert werden, was alles schief gelaufen ist. Häufig ist einer der Gründe, dass der vorhandene Code “gewachsen” oder besser “gewuchert” und kein Architekturansatz erkennbar ist.

Aus diesem Grund dauern selbst die kleinsten Änderungen halbe Ewigkeiten.

Den Entwicklern ist dabei gar kein Vorwurf zu machen, denn oft fehlen schlicht die Vorgaben oder die Rolle des Architekten, der den Blick auf das Gesamtgewerk behält.

Häufig wird ein IT-Architekt erst ins Projekt geholt wenn die Situation schon völlig verfahren ist. Durch mühevolles Reverseengineering muss dieser sich ein Bild der vorhandenen Funktionalitäten machen. Doch eigentlich ist es zu diesem Zeitpunkt schon viel zu spät.

Zu Beginn eines neuen Projekts sollte ein Business Objekt Modell erstellt werden um die Zusammenhänge und damit den Objektgraph zu visualisieren. Mit dieser Diskussionsgrundlage ist es viel einfacher über Use-Cases oder Prozesse zu diskutieren. Zudem fallen Probleme in der Architektur sehr viel früher auf und können schon in viel früherem Stadium ausgemerzt werden. Schon alleine das Beschäftigen mit den benötigten Objekten hilft dem Architekten, die Probleme, die der Entwickler später bei der Implementierung haben wird zu verstehen und sich spezifische Lösungen zu überlegen.

Ein Beispiel: In einem Abrechnungssystem gibt es das Objekt Invoice. Diese Objekt hat die Properties SumNet, Handling und SumTotal. Der Entwickler wird nun fragen: Und wo ist die Mehrwertssteuer? Normalerweise würde der Entwickler nun SumTotal von SumNet abziehen um den Wert zu bekommen. Dies wird er an zig Stellen machen – überall dort, wo er die Mehrwertssteuer benötigt.

Erkennt der Architekt dies bereits in der Designphase, wird er die fehlende Property ins Modell aufnehmen und der Fall ist erledigt. Natürlich ist dieses Beispiel banal und wird so in der Praxis nicht vorkommen aber es verdeutlicht doch die Problematik. Mit steigendem Komplexitätsgrad steigen auch solche Fehler.

Nun stellen Sie sich vor zwei Entwickler arbeiten parallel und kodieren beide eine Mehrwertsteuer-Property. Das Problem ist nur, dass der Eine nach unten rundet und der Andere nach oben. Und schon haben wir den Schlamassel, denn die Rechnung wird in sich nicht mehr konsistent sein. Solche Fehler zu finden ist zeitaufwändig und teuer.

Aus diesem Grund sollte zur Designzeit sehr viel mehr Zeit in die Architektur und das Business Objekt Modell investiert werden. Mit solch einem Modell als Basis und Prozessketten und Sequenzdiagramme die darauf aufsetzen lassen sich transparente Vorgaben beschreiben und der Entwickler muss sich nichts aus den Fingern saugen.

Sobald das Modell steht beschäftigt sich der Architekt mit den Implementierungsvorgaben:

  • Wo wird Lazy-Loading verwendet?
  • Welche Methoden sind synchron und welche asynchron?
  • Wo muss skaliert werden?
  • Wo ist High-Availability notwendig?
  • Welche Teile des Modells müssen serialisierbar sein?
  • Was haben bestimmte Objekte für einen Lebenszyklus?
  • Welche Patterns sollen zum Einsatz kommen
  • Welche Codingguidelines sollen zur Anwendung kommen?

All diese Fragen sollten bereits im Vorfeld der Entwicklung beantwortet sein. Erst dann macht es Sinn gute Entwickler an die Umsetzung des Modells zu setzen. Die Entwickler werden sich in diesem Fall effektiv der Businesslogik widmen können ohne sich mit Randproblemen wie “wo bekomme ich diesen Wert her?” herumschlagen zu müssen.

Mit solch einem Vorgehen entsteht wartbarer, homogener Code der effizient entwickelt wurde, testbar und auf die Anforderungen der Zukunft vorbereitet ist. Zudem ist die Einarbeitung neuer Mitarbeiter viel einfacher weil ein verständliches Modell vorhanden ist, welches zu Demonstrationszwecken herangezogen werden kann.

Die Frage die sich mir immer wieder stellt ist: Warum wird diese Erkenntnis in vielen IT-Projekten nicht umgesetzt?

Beratung, Businessobjektmodell, Prozessberatung
0 comments
  Livefyre
  • Get Livefyre
  • FAQ
Sign in
+ Follow
Post comment
 
Link
Newest | Oldest

Neueste Artikel

  • Windows Service Installation Simplified

    17. Juni 2013
  • Generieren eines Software Architektur Dokuments mit Enterprise Architect

    21. Mai 2013
  • .NET 4.5 Trading API für Interactive Brokers

    6. Mai 2013
  • Windows 8.1 jetzt doch wieder mit Start Menü?

    29. April 2013
  • WCF Service Discovery mit .NET 4

    12. April 2013

    Artikel Archiv

    • [+] 2013 (15)
      • [+] Juni (1)
        • Windows Service Installation Simplified
      • [+] Mai (2)
        • Generieren eines Software Architektur Dokuments mit Enterprise Architect
        • .NET 4.5 Trading API für Interactive Brokers
      • [+] April (3)
        • Windows 8.1 jetzt doch wieder mit Start Menü?
        • WCF Service Discovery mit .NET 4
        • Hackerangriff auf Blog durch SQL-Injection
      • [+] März (3)
        • Distributed Event Aggregator bzw. ServiceBus simplified
        • Aspekt orientierte Programmierung (AOP)
        • Testautomatisierung mit Unittests und Moq
      • [+] Februar (2)
        • Unleash the power of Domain-Specific Language in VS2012
        • Benutzeroberflächen ergonomisch gestalten
      • [+] Januar (4)
        • Trend Trading System App für Windows 8 verfügbar
        • Erfahrungsbericht: Domain Oriented N-Layered von Microsoft Spain
        • Kommunikationsszenarien mit NServiceBus 3.3
        • HTML5 Anwendung als WinRT Application veröffentlichen
    • [+] 2012 (28)
      • [+] Dezember (1)
        • DataBinding und das MVVM-Pattern in HTML5
      • [+] November (2)
        • Der Unterschied zwischen Sieger- und Verlierertypen
        • Tücken bei der Personalbeschaffung von .NET Entwicklern
      • [+] Oktober (2)
        • Kostenloser Kursdaten REST-Service
        • Migration von .NET 4 Projekten nach WinRT (JS)
      • [+] September (2)
        • Migration von .NET 4 Projekten nach WinRT (XAML)
        • Windows 8 im Praxistest
      • [+] August (1)
        • Eigene Sections in der .NET Standard Konfiguration
      • [+] Juli (2)
        • Steigerung des Marktwerts durch Weiterbildung
        • Effiziente Kostenstrukturen im IT-Consulting - Teil 4
      • [+] Juni (1)
        • Effiziente Kostenstrukturen im IT-Consulting - Teil 3
      • [+] Mai (3)
        • Effiziente Kostenstrukturen im IT-Consulting - Teil 2
        • Effiziente Kostenstrukturen im IT-Consulting - Teil 1
        • Vision eines Entwicklerarbeitsplatzes in der Zukunft
      • [+] April (3)
        • Windows 8 und die Zukunft von Silverlight und WinRT
        • Elegante und Effiziente Data Access Layer mit Dapper.NET
        • Quartalsergebnis Q1/2012 des Trendfolge-Handelssystems
      • [+] März (3)
        • Konfiguration von WCF Services in Silverlight
        • Rapid GUI Prototyping mit Mockups
        • Chancen und Risiken des Entity Frameworks
      • [+] Februar (3)
        • Vorsicht vor Recruiter aus Grossbritannien
        • Financial Chart für Silverlight und WPF
        • Erste Handelssignale 2012
      • [+] Januar (5)
        • Microsoft Silverlight 5 endlich verfügbar
        • Riskmanagement in IT-Projekten
        • Artikelempfehlung: "Schluss mit dem Burnout-Gejammer!"
        • Ursachen von hoher Fluktuation in IT-Projekten
        • Einsatzgebiete von Silverlight5 und HTML5
    • [+] 2011 (36)
      • [+] Dezember (4)
        • Business Objekt Modelle in Entwicklungsprojekten
        • Einsatz von Open Source in Entwicklungsprojekten
        • Buchempfehlung: "Ich weiss, wie du tickst" ISBN 3280054109
        • Prozessverbesserungen für qualitativ hochwertigen Code
      • [+] November (2)
        • Deklarative .NET Programmierung mit Attributen
        • Favorisierte Lösung für Silverlight Reporting
      • [+] Oktober (3)
        • Silverlight Reportinglösungen
        • Testautomatisierung mit Silverlight
        • .NET Schlüsseltechnologien der nächsten Jahre
      • [+] September (4)
        • Hauptgründe für das Scheitern von IT-Projekten
        • Auswahl der Titel für das Handelssystem
        • WebClient Sicherheitsrichtlinien in Silverlight
        • Nachhaltiger Erfolg im Consulting Teil 7 - Projektdauer
      • [+] August (4)
        • Nachhaltiger Erfolg im Consulting Teil 6 - Vertragsverhandlungen
        • Nachhaltiger Erfolg im Consulting Teil 5 - Vorstellungsgespräch
        • Nachhaltiger Erfolg im Consulting Teil 4 - Stundensatzverhandlungen
        • Nachhaltiger Erfolg im Consulting Teil 3 - Bewerbungsmanagement
      • [+] Juli (4)
        • Nachhaltiger Erfolg im Consulting Teil 2 – Onlineportale
        • Nachhaltiger Erfolg im Consulting Teil 1 - Das Profil
        • Integration von Windows Forms Controls in WPF
        • Unittesten von WCF-Services mit der ServiceHost Klasse
      • [+] Juni (4)
        • Verteilte Transaktionen in einer Service orientierten Architektur
        • Service orientierte Architektur und Domain Driven Design
        • View und ViewModel mit MEF unter testbarkeits Aspekten verbinden
        • Entfernung ungenutzter Strings in .NET Resource-Files
      • [+] Mai (5)
        • Enterprise Library Silverlight Integration Pack Validation Block Teil II
        • Enterprise Library Silverlight Integration Pack Validation Block Teil I
        • Programmierung von Streaming Services mit WCF und Silverlight
        • Order Statemachine mit Workflow Foundation 4
        • Memory leaks bei eventbasierten Architekturen
      • [+] April (5)
        • Linq Expressions in der Praxis
        • Handelsregeln mit der .NET Rule Engine umsetzen Teil II
        • Handelsregeln mit der .NET Rule Engine umsetzen Teil I
        • Plugin Mechanismus für Trading Systeme
        • Charttechnik mit .NET
      • [+] März (1)
        • Schaffen der Grundlagen für ein eigenes Handelssystem
    © 2013 Lutz-IT GmbH