Dieser Beitrag soll einen Einblick zum Thema TDD geben.

Häufig findet in der Praxis, nach kurzer Überlegung zur gestellten Aufgabe, ein Codieren statt, ohne sich zum gewünschten Ergebnis Gedanken zu machen. Bei Anwendung von TDD werden vor dem Umsetzen bzw. Codieren Testfälle generiert, um mit Testdaten gewünschte Ergebnisse erzielen zu können. Hierbei werden diverse Tools angeboten, welche diesbezüglich unterstützen.

NUnit ist ein Software-Framework, mit dem sich Code Tests für alle .NET Sprachen durchführen lassen.
Der Vorteil beim Einsatz von Unit Tests, ist eine Überprüfung der eigenen Softwarefunktionen mit Hilfe von „Code Schnipseln“
welche parallel zum eigentlichen Code entwickelt werden.
Bei der Gestaltung von Klassen sollten hierbei alle öffentlichen Funktionen und Methoden einen Unit Test unterliegen.
Da die Unit Tests zwar dem Softwareprojekt zugeordnet sind jedoch bei der Programmausführung nicht berücksichtigt werden
unterstützen die Tests bei der Gestaltung der einzelnen Funktionen und Methoden.

Häufige Änderungen von komplexen Anforderungen an eine Softwarelösung erhöhen den Aufwand bei der Softwareentwicklung.
Daher gilt es die Softwarearchitektur hinreichend zu planen um den Aufwand bei späteren Veränderungen möglichst gering zu halten.
Trotzdem wird häufig nach einer unpräzisen Beschreibung der Tasks bzw. Anforderung bereits mit der Umsetzung begonnen,
um möglichst schnell mit ersten Ergebnissen punkten zu können.
Meist ergibt sich durch ständige Nachbesserungen mehr Aufwand als gedacht, was sich negativ auf die Qualität der Software auswirkt.
Im folgenden Beitrag soll der Qualitätsaspekt bei der Softwareentwicklung näher erläutert werden.

Dieser Beitrag soll einen kurzen Einblick in die „Modellgetriebene Softwareentwicklung“ (Modell Driven Development) geben.
Dazu soll im weiteren Verlauf ein UML Tool vorgestellt werden, welches kostenlos verwendet werden kann und MDD verinnerlicht.
Softwareentwicklung fängt vor dem Codieren mit der Beschreibung und dem Modellieren der Kundenanforderung an.
Dabei kann der Kunde sowohl der interne wie auch der externe Auftraggeber sein.
Analog zur technischen Zeichnung und Kurzbeschreibung einer anzufertigenden mechanischen Komponente,
wird durch UML Software modelliert und beschrieben, quasi der Bauplan der Software erstellt.
Im folgenden Beitrag soll anhand eines konkreten Beispiels das Modellieren der Software näher erläutert werden.
Als UML Tool dient hierbei ObjectiF welche in der Personal Edition als Freeware vorliegt:
 
MICROTOOL ObjectiF

Nach der Installation von ObjectiF muss sich der Nutzer lediglich beim Hersteller registrieren und darf anschliessend die Software frei nutzen.
Als konkretes Beispiel soll die Erstellung eine File Explorers unter VS C# dienen
Nach dem Start von <objectiF> erfolgt eine Dialogabfrage, ob ein System neu angelegt oder bearbeitet werden soll.
In unserem Beispiel ist noch kein Modell vorhanden, somit wählen wir <Ein neues System anlegen>.
 
Im weiteren Verlauf wählen wir <UML with c#>, da in unserem Beispiel eine Komponente in Form von C# erstellt werden soll.

Der Prozess einer Software ist nach einem Modell zu gestalten, welches die Entwicklungsprozesse eines Softwareprodukts in kleine,
überschaubare Einheiten einteilt. Diese Einheiten müssen gegen Ende einer Phase validierbar sein.
Die Aktivitäten müssen zunächst nach einem Schema geordnet werden. Daraus lassen sich Teilprozesse bestimmen,
welche schrittweise umgesetzt werden sollen. Hierzu bietet sich das V-Modell an, welches sich durch seinen überschaubaren Aufbau
auch für ein kleineres Unternehmen eignet.