Was macht modulare Softwareentwicklung aus? Modulare Softwareentwicklung bezeichnet das Auftrennen eines Softwareprojekts in einzelne, logisch voneinander getrennte Komponenten. Diese Modularität führt dazu, dass die einzeln vorliegenden Softwarekomponenten getrennt voneinander entwickelt und dann (wieder-)verwendet werden können. Wie bereits in dem Blog-Beitrag zum Unit-Testing erwähnt, hat dies den großen Vorteil, dass die einzelnen Module getrennt voneinander getestet werden können. Softwareentwickler können bereits fertiggestellte Komponenten verwenden, ohne sie (teilweise) neu zu entwickeln. In diesem Blogbeitrag soll darauf eingegangen werden, wie Softwarepakete erstellt und bereitgestellt werden. Eine der verbreitetsten Möglichkeiten dies für die .NET Softwareentwicklung zu realisieren, ist das Softwarepaket-Verwaltungssystem NuGet. NuGet ist ein [...]
Unbeliebter Zaungast: Das Risiko Irgendwann sind wir alle mal Kunden und keiner von uns kauft gerne die Katze im Sack. Je größer die Investition – zum Beispiel eine individuelle Softwarelösung –, desto weniger Risiko möchte man eingehen. Unglücklicherweise scheint dieses Risiko jedoch mit dem Projektumfang anzusteigen. Dies gilt im Übrigen, je nach Vertragswerk, auch für den Auftragnehmer. Häufig werden so feste Budgets für einen festen Lieferumfang vereinbart. Dies sorgt zwar für Klarheit über Summen und Termin, was damit bis zum Projektabschluss geschieht, lässt einen jedoch das Lachen über manchen Projekt-Cartoon im Halse stecken bleiben. Im besten Falle ist der Aufwand [...]
In der Softwareentwicklung nimmt das Testen von Anwendungen und Beheben von Fehlern einen großen Teil der Arbeitszeit ein. Sind die Module einer Software durch lose Kopplung der Abhängigkeiten klar getrennt, lässt sich die Software unter Verwendung von Dependency Injection und Mock-Objekten isoliert testen. Werden jedoch externe Ressourcen von der Software verwendet, wie z.B. USB-Geräte oder Datenbanken, gestaltet sich das automatisierte Testen schwieriger. Deshalb geht es in diesem Blogbeitrag um das Testen einer Datenbankanbindung mit dem Entity Framework 6. Eine einfache ASP.NET MVC Anwendung Die Abb. 1 zeigt die grobe Softwarearchitektur einer einfachen ASP.NET MVC App. Die App baut sich aus [...]
Unser Weg zu Software-Entwicklerinnen Frauen in MINT Berufen? Mathematik-, Informatik-, Naturwissenschafts- oder Technikberufe ( MINT ). Für viele sind Frauen in diesen Bereichen noch immer undenkbar. Der Schritt, sich in diese berufliche Richtung zu begeben und den Mut zu haben, sich in der Informatikbranche einzugliedern, ist groß. Dabei ist die IT eine der wenigen Bereiche, die auf fast jeden anderen Zweig der Industrie Auswirkungen hat und somit in Zukunft immer wichtiger im Berufsleben wird. Für die meisten ist die Softwarebranche immer noch eine reine Männerdomäne, weshalb es für Frauen oft schwierig ist, den Sprung in diese Welt zu wagen. In [...]
Physical Computing Plattformen Mit Physical Computing Plattformen, wie dem Arduino , lassen sich schnell kleinere Projekte realisieren. Solche Plattformen sind eine gute Einführung in die Thematiken Mikrocontroller und Programmierung. Gerade in der kurzen Zeit von Schülerpraktika ist eine Einarbeitung in größere Projekte schwierig und ohne Vorkenntnisse von Mikrocontrollern oder Programmierung, fast unmöglich. Hier sind Boards, wie das Arduino , ein gutes Mittel, um Schülern ohne Vorkenntnisse die eigenständige Arbeit an Projekten zu ermöglichen. Was wir schon mit ein paar Praktika realisieren konnten und was wir noch vorhaben, erfahren Sie hier. Willkommen auf der SWMS Spielwiese. Das Board und die [...]
Warum Unit Tests? Das Testen von Produkten vor ihrer Auslieferung ist keine Neuheit. Maschinen jeglicher Art werden, bevor sie den Kunden erreichen, ausgiebig auf Ihre Stabilität, Laufzeit und Sicherheit getestet. Bei physisch vorhandenen Produkten lassen sich demnach auch physische Eigenschaften testen. Wie aber lässt sich Software testen? Die Softwaretechnik unterscheidet in verschiedenste Testarten. In diesem Blogeintrag werden wir uns auf eine der gängigen Testarten beschränken, welche bei vergleichsweise niedrigem Aufwand trotzdem leicht zu verwenden und warten ist und somit eine große Entwicklungsunterstützung darstellt: Unit Tests. Unit Tests sind in ihrer primitivsten Form erst einmal dazu da, zu überprüfen, dass eine [...]