Software Engineering mit saracus


Die Ziele von Software-Engineering sind Reduktion der Problemkomplexität.

saracus verfolgt innerhalb der Projekte daher Prinzipien des Software Engineerings, beispielsweise die Abstraktion & Modularisierung, Methoden (Softwareentwurfsmethoden) und den Einsatz von Entwicklungsumgebungen.

Die Einordnung von Software Engineering wird zum Teil der Informatik zugeordnet, da einige Prozesse aus dem betriebswirtschaftlichen Bereich kommen, wie Softwarekosten, Projektmanagement oder betrieblicher Einsatz.

saracus hat seit vielen Jahren für seine Kunden Software-Engineering-Projekte mit unterschiedlichen Technologien erfolgreich durchgeführt (s. folgende Graphik)

Teilgebiete von Software-Engineering

Zu den jeweiligen Softwareprojekten gehört häufig der Durchlauf von typischen Phasen, dazu gehört der Softwarelebenszyklus mit der Planungsphase, der Definitions- & Entwurfsphase, Implementierung, dem Testen, Softwareeinsatz und der Softwarewartung.

  1. Planungsphase
    In ihr werden die Anforderungen an die zu erstellende Anwendung ermittelt
  1. Definitionsphase
    Im Ergebnis liegt eine Beschreibung der Vorgänge der zu erstellenden Anwendung vor
  1. Entwurfsphase
    Sie bildet das Ergebnis der Definitionsphase auf Datenstrukturen ab, die mit einer beliebigen Programmiersprache implementiert werden können
  1. Implementierungsphase
    Das Ergebnis der Implementierungsphase ist die vollständig implementierte Anwendung
  1. Abnahme & Einführungsphase
    Die erstellte Anwendung wird in die Zielumgebung installierst und ihre Funktionsweise nachgewiesen. Nach der Abnahme durch den Auftraggeber wird die Anwendung in den Produktionsprozess integriert
  1. Wartungs- & Testphase
    Nach der Einführung der Software beim Auftraggeber werden fehlerhafte Funktionen nachgebessert und notwendige Anpassungen implementiert

Das Projektmanagement bei Software-Engineering setzt die Softwareprojekte voraus, welche in bestimmten Formen der Projektorganisation fertiggestellt werden. Zum Projektmanagement zählen ebenso die Anwendung von Kostenschätzungsmodellen und die Definition von Meilensteinen, um die nächsten Projektfortschritte zu planen und kontrollieren.

Das dritte Teilgebiet, die Softwarequalitätssicherung meint die Sicherung der Softwarequalität durch das Definieren von Qualitätsmerkmalen und der Entwicklung und Anwendung von Maßnahmen, um die Qualitätsmerkmale zu erfüllen.

Die Softwaretechnologie meint den Einsatz von Prinzipien, Methoden und Werkzeugen, um die Softwaresysteme und die Programmartefakte zu entwickeln.

Agile Softwareentwicklung


Agile Softwareentwicklung steht in vielerlei Aspekten im Gegensatz zu den klassischen Vorgehensmodellen, jedoch gibt es mittlerweile eine Vielzahl von Ausprägungen der agilen Vorgehensmodelle wie XP, Scrum, Feature Driven Development (FDD), Adaptive Software Development (ASD), Test Driven Development (TDD).

Agile Softwaremodelle basieren folgenden Zielsetzungen:

  • ✔ Minimierung des bürokratischen Aufwands und Verkürzung der  Projektlaufzeit
  • ✔ Flexibilisierung des gesamten Softwareentwicklungsprozesses
  • ✔ Die Lösung der Programmieraufgabe steht stets im Vordergrund
  • ✔ Reduzierung der Entwurfsphase sowie der Dokumentation auf das strikt erforderliche Maß
VorteileNachteile
Eine Kontrolle des Projektfortschritts kann in kurzen Intervallen erfolgenNicht von allen Auftraggebern unterstützt
Arbeitsergebnisse können frühzeitig validiert werdenProjektmitarbeiter müssen speziell geeignet sein
Kundenanforderungen können laufend überprüft und angepasst werdenBei eindeutig festgelegten Rahmenbedingungen und Funktionsumfang ist kein zusätzlicher Nutzen erzielbar
Ständige Einbeziehung der Benutzer und Auftraggeber, dadurch optimale flexible Erfüllung aller Kundenwünsche

Haben wir Ihr Interesse geweckt?