Deutsch American
Software Engineering

Software Engineering

07.09.2015


"Als es noch keine Rechner gab, war auch das Programmieren noch kein Problem, als es dann ein paar leistungsschwache Rechner gab, war das Programmieren ein kleines Problem und nun, wo wir gigantische Rechner haben, ist auch das Programmmieren zu einem gigantischen Problem geworden. In diesem Sinne hat die elektronische Industrie kein einziges Problem gelöst, sondern nur neue geschaffen. Sie hat das Problem geschaffen, ihre Produkte zu benutzen."
Edsger Wybe Dijkstra - The Humble Programmer
Die Analyse der seit 1965 bekannten Softwarekrise hat zur Entwicklung des Software Engineerings geführt, also jener Teildisziplin der Informatik, die sich mit der "zielorientierten Bereitstellung und systematischen Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresystemen (Balzert)" beschäftigt. Die Anwendung dieser Prinzipien und Methoden unterscheidet heute einen Softwareingenieur von einem Programmierer.
Das Tetrahedron der Softwareentwicklung
Wir haben es uns zum Ziel gesetzt, Individualsoftware, die wir für unsere Kunden erstellen, nur nach diesen Prinzipien zu entwickeln. Im Kern geht es um die Lösung des Problems, die vier konkurrierenden Ziele Leistungsumfang, Zeit, Kosten und Qualität miteinander in Einklang zu bringen. Die Dominanz eines dieser Ziele ist immer zum Leidwesen der anderen.

 

Wir betrachten alle Dimensionen der Softwareentwicklung gleichgewichtig. Durch unsere methodische Vorgehensweise und unsere angewandten Software Engineering Prinzipien erreichen wir einen Ausgleich der konkurrierenden Ziele und schließen so unsere Projekte erfolgreich ab.

 

Das Design-First-Prinzip
In Theorie ist jedem Softwareentwickler bekannt, dass zur Lösung einer komplexen Aufgabenstellung nur eine systematische Vorgehensweise vielversprechend ist: Das Problem analysieren, die Lösung designen und anschließend implementieren. Leider klafft eine große Lücke zwischen diesem theoretischen Wissen und der angewandten Praxis der Softwareentwicklung. Viele Programmierer denken leider mit den Fingern und nicht mit dem Kopf.
Wir folgen strikt dem "Design-First-Prinzip": Es findet keine Implementierung ohne vorhergehende Problembeschreibung und nachfolgenden Lösungsentwurf statt. Zur Gliederung und Aufteilung der verschiedenen Teilaufgaben wenden wir konsequent agile Methoden der Softwareentwicklung an. Dazu zählen kurze Entwicklungszyklen - die sogenannte "Staged Delivery" - eine detaillierte Projektplanung und -steuerung, die obligatorische Erstellung eines Softwaredesigns vor der Implementierung, die Anwendung des "Test-Driven-Development"-Paradigmas und die umfassende Durchführung von Reviews und Inspections. Die frühzeitige Einbindung des Kunden und der Softwarebenutzer sowie die Anwendung der Software Engineering Prinzipien und Methoden versetzt uns in die Lage, qualitativ hochwertige Individualsoftware termingerecht unter Einhaltung definierter Budgets mit vereinbartem Leistungsumfang zu erstellen.
Microsoft.NET Entwicklungsplattform
Von den vielen Entwicklungssystemen, die heute existieren, habe wir uns für die Microsoft.NET Plattform entschieden, weil wir sie für das leistungsfähigste System zur effizienten Softwareentwicklung halten. Die Konzentration auf Microsoft_Technologie versetzte uns in die Lage, das für erfolgreiche Projekte notwendige Detailwissen der Entwicklungsplattform zu akquirieren. Seit der ersten Version im Jahre 2000 entwickeln wir ausschließlich mit Microsoft.NET und verfügen über tiefgreifende Erfahrung in der Implementierung von Web-, Portal-, Kollaborations-, Anwendungssoftware. Daneben haben wir uns auf die Entwicklung von Microsoft SQLServer-basierten Business Intelligence Lösungen spezialisiert. Mit der Partner Kompetenz Application Development bestätigt Microsoft unsere Leistungen als Softwareentwickler.
Search
 
Links