Software Engineering – Herstellung und Entwicklung von Software

Software Engineering war die Antwort auf die Software-Krise Ende der 60er Jahre. Dank der Software Engineering können komplexe Softwareanforderungen umgesetzt werden. Auch bestimmte Arten von Problemen lassen sich bereits beim Entwurf einer Software lösen oder zumindest reduzieren.

Ziele vom Software Engineering

Zum Zeitpunkt, als das Software Engineering eingeführt wurde, sollten die bewährten Methoden aus den Ingenieurwissenschaften auf die Softwareentwicklung vererbt werden. Das heißt, dass die Entwicklungszeit einer Software deutlich verkürzt werden sollte. Die Qualitätsstandards angehoben und die Softwareentwicklung systematisiert werden. Dabei sollten die Kosten für die Software-Entwicklung so weit wie möglich gesenkt werden.

Methoden und Verfahren

Das Software Engineering umfasst im Entwicklungsprozess verschiedene Methoden, Verfahren und Prinzipien. Dabei beschreiben die Prinzipien die Handlungsansätze. Methoden beschreiben geplante Vorgehensstrukturen, die zur Erreichung festgelegter Ziele dienen. Ein Verfahren ist eine Anweisung oder Kontrollstruktur. Hier werden die Methoden gezielt eingesetzt.

Software als fester Bestandteil des Software Engineering

Die Software ist ein Zyklusmodell, auch als Phasenmodell bezeichnet. Sie ist ein fester Bestandteil der strukturierten Software-Entwicklung. Dabei beinhaltet die Software-Entwicklung die Entwurfsphase, Implementierungsphase, Definition- und Analysephase und die Wartungsphase.

Qualitätsanforderungen an Software

Im Bereich der Software-Entwicklung ist die Qualität von Softwareprodukten ein wichtiges Thema. Wichtig dabei ist, dass der Qualitätsbegriff immer im engen Zusammenhang mit den entstandenen Kosten und der benötigten Zeit im Entwicklungsprozess zu sehen ist. Die Qualitätsanforderungen müssen dabei unterschiedlichsten Zielgruppen gerecht werden. Zum einen sind es die Anwender. Zum anderen sind die Qualitätsmerkmale aus der Sicht des Entwicklers zu berücksichtigen.

Anwendersicht

Hier spielt die Erfüllung der erwarteten Funktionen eine erhebliche Rolle. Dabei muss das System zuverlässig und effizient arbeiten. Insbesondere muss die Sicherheit und Stabilität aber auch die Bedienerfreundlichkeit der Software gewährleistet sein.

Entwicklersicht

Das System muss Möglichkeiten für Erweiterungen und Änderungen an der Software bieten. Zudem muss eine einfache Wartung gegeben sein. Das System darf nicht altern – Wiederverwendbarkeit und Übertragbarkeit auf andere Projekte. Weitere Qualitätskriterien sind die Anwendbarkeit auf verschiedenen Plattformen, die Effizienz und die Genauigkeit. Diese Anforderungen an die Software werden durch verschiedene Methoden sichergestellt. Dabei ist zu berücksichtigen, dass sowohl das System von diesen Maßnahmen betroffen ist als auch die Softwareentwicklung. Dies ist wichtig, denn nur eine hochwertige Software-Entwicklung Fehler verhindert, die später zu finden und zu korrigieren sehr aufwendig wäre. Eine einfache Maßnahme sind Inspektionen. Hier prüfen einzelne Personen Softwarekomponenten auf Korrektheit und Klarheit. Meist geschieht dies durch Nachvollziehen der Komponente und ihrer Dokumentation am Schreibtisch. Darüber hinaus gibt es die sogenannten Reviews. Hierbei prüft eine Gruppe von Gutachtern oder Kunden die Ergebnisse einer Arbeit. Dabei dienen formale Beweismethoden zur Sicherung der Software. Eine weitere Methode der Qualitätssicherung sind aufwendige Tests. Vor allem bei großen Projekten ist dies besonders sinnvoll. Beim Testen ist zwischen Testläufen mit zufälligen Testdaten und solchen, deren Daten gezielt konstruiert wurden, zu unterscheiden. Auch das Messen von Größen, wie der Anzahl, der Programmzeilen und Modulen, der Laufzeit, dem benötigten Speicherplatz und der Menge, der gefundenen Fehler lässt sich zur Qualitätsbestimmung heranziehen. Des Weiteren hat sich eine Beauftragung eines Projektleiters mit der Betreuung und der Entwicklung eines Projekts als vorteilhaft erwiesen.

Foto: Kaarsten – FotoliaSimilar Posts: