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.
- Planungsphase
In ihr werden die Anforderungen an die zu erstellende Anwendung ermittelt
- Definitionsphase
Im Ergebnis liegt eine Beschreibung der Vorgänge der zu erstellenden Anwendung vor
- Entwurfsphase
Sie bildet das Ergebnis der Definitionsphase auf Datenstrukturen ab, die mit einer beliebigen Programmiersprache implementiert werden können
- Implementierungsphase
Das Ergebnis der Implementierungsphase ist die vollständig implementierte Anwendung
- 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
- 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ß
Vorteile | Nachteile |
---|---|
Eine Kontrolle des Projektfortschritts kann in kurzen Intervallen erfolgen | Nicht von allen Auftraggebern unterstützt |
Arbeitsergebnisse können frühzeitig validiert werden | Projektmitarbeiter müssen speziell geeignet sein |
Kundenanforderungen können laufend überprüft und angepasst werden | Bei 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?