Software Engineering
Beim Software Engineering befasst man sich mit dem Design, der Implementierung und der Modifizierung von Software. Das Ergebnis der Arbeit sind Programme, die sich durch ihre hohe Qualität, einen günstigen Preis und leichte Wartbarkeit auszeichnen. Zudem beinhaltet gutes Software Engineering auch immer schon Tests für die erstellte Software. Software Engineering endet nicht mit der Übergabe der Software an den Kunden, sondern umfasst auch die Wartung und Weiterentwicklung der Programme.
Teildisziplinen des Software Engineering
Das Software Engineering gliedert sich in verschiedene Teildisziplinen: Im Anforderungsmanagement werden die Anforderungen an die Software festgelegt. Softwarearchitektur beinhaltet Analyse, Spezifikation, Definition, Design und Validierung von Anforderungen, die an die Software gestellt werden. Beim Software Design wird mithilfe spezieller Programme und Sprachen wie der UML das Design der Software entwickelt. Die Softwareentwicklung beinhaltet die eigentliche Entwicklung der Software in einer Programmiersprache. Bei Softwaretests, die im Idealfall parallel zur Entwicklung stattfinden, wir die Funktionsfähigkeit der Software überprüft. Mit Problemen, die beim Einsatz der Software nach dem Entwicklungsprozess entstehen, befasst sich die Softwarewartung. Das Konfigurationsmanagement beschäftigt sich mit Themenfeldern wie Versionierung und Management des Quellcodes. Softwareentwicklungsprozesse versuchen Abläufe festzulegen, die bei der Softwareentwicklung durchgeführt werden sollten. Bekannte Prozessmodelle sind das Wasserfallmodell oder auch die agile Softwareentwicklung.
Software Engineering in einer globalen Wirtschaft
Software Engineering hat vor allem im Rahmen der Globalisierung immer weiter an Wichtigkeit gewonnen, so dass es bei der Arbeit in Teams, die in der ganzen Welt verstreut sind, enorm wichtig ist, die Arbeit genau zu koordinieren und auf die Teams zu verteilen. Standardisierte Prozesse helfen enorm dabei, die Ansprüche an moderne Software auch in solchen verteilten Teams zu erfüllen. Gleichzeitig können die Vorteile der globalen Wirtschaft genutzt werden, indem zum Beispiel der anspruchsvolle Teil des Software Engineering von lokalen Fachleuten erledigt wird und einfachere Programmiertätigkeiten an Unternehmen aus dem Ausland vergeben werden, die günstige Arbeitskräfte einsetzen. Diese Arbeitsweise wird auch von den modernen Programmiersprachen unterstützt, die einen modularen Aufbau von Software ermöglichen, der inzwischen als optimale Lösung angesehen und nicht nur in verteilten Teams umgesetzt wird.
Nötige Qualifikationen für das Software Engineering
Die Ausbildung zum Software Engineer ist weltweit nicht standardisiert. Während es in anderen Ländern die Möglichkeit gibt eine Ausbildung oder ein spezielles Studium zum Software Engineer zu machen wird in Deutschland meistens auf Informatiker zurückgegriffen, bei denen Software Engineering ein Bestandteil ihres Studiums war. Es gibt allerdings keine gesetzlichen oder anderen Vorgaben für die Qualifikationen, die man als Software Engineer mitbringen muss, deshalb ist dieser Beruf im Prinzip offen für Quereinsteiger, die sich die nötigen Kenntnisse selbst angeeignet haben. Dies ist bei der Softwareentwicklung nicht unüblich, da es bei der Entwicklung von Software von Vorteil ist, wenn der Programmierer die Prozesse versteht, die hinter der Software stehen. Aus diesem Grund werden beispielsweise für die Programmierung von naturwissenschaftlicher Software gerne Absolventen dieser Fächer gewählt, die sich ihre Programmierkenntnisse selbst angeeignet haben.
Bildquelle: zothen – Fotolia
