5

Click here to load reader

6 verschiedene Arten von Software

  • Upload
    yuhiro

  • View
    94

  • Download
    2

Embed Size (px)

Citation preview

Page 1: 6 verschiedene Arten von Software

yuhiro.de http://www.yuhiro.de/6-verschiedene-arten-von-software/

Sascha Thattil

6 verschiedene Arten von Software

Inspieriert von Joel Spolsky’s Five Worlds

Viele Unternehmen erstellen Software (in diesem Beitrag auch Computer Programm oder ITSystem genannt). Es ist jedoch wichtig zu wissen, um welche Art von Software es sich handelt.

Denn je nach dem unterscheidet sich auch der Ansatz mit welchem man an dieProgrammierung herangeht. Bei manchen spielt das Endgerät (Endgerät: zum Beispiel,Desktop, Smartphone, etc.) keine grosse Rolle, da es in manchen Fällen immer die selbe ist,wie zum Beispiel bei Embedded Software (mehr dazu im Beitrag). In manchen Fällen spielendie Endgeräte wiederum eine grosse Rolle, wie zum Beispiel bei paketierten IT Systemen.

Nicht nur bei den Endgeräten, also die Hardware auf dem das Programm läuft, ändern sich dieAnforderungen je nach der zu entwickelnden Software. Andere Parameter wie Budget, zeitlicheUmsetzung, Geschwindigkeitsanforderung und noch einige mehr ändern sich zudem auch.

Im Folgenden die unterschiedlichen Arten von IT Programmen:

1) Paketierte Software

1/5

Page 2: 6 verschiedene Arten von Software

Paketierte Software ist den meisten bekannt.Microsoft Windows oder Microsoft Office sindpassende Beispiele.

Das Besondere bei dieser Form von Programmenist, dass diese bereits fertig geliefert sind undnicht mehr für den Kunden spezifisch angepasstwerden. Alle Anwender bekommen das Gleiche.Lediglich einige Einstellungen können verändertwerden.

Die Herausfoderungen bei der Programmierungist hier, dass diese Computer Programme aufunterschiedlichsten Rechnern mitunterschiedlichsten Konfigurationen installiertwerden. Beispielsweise könnte das Programmunterschiedlich auf Intel Prozessoren reagieren,als es zum Beispiel auf AMD Prozessoren tunwürde.

Dies macht es notwendig, das IT System durchgängig zu testen. Gleichzeitig ist es nicht soschlimm eine erste Version 1.0 herauszubringen, welche noch Fehler (im Computer Jargon“Bugs” genannt) enthalten. In der nächsten Version kann man dann die von den Nutzern unddem eigenen Team gefunden Fehler beheben.

Das beste Beispiel ist auch hierfür Microsoft Windows. Bei fast jedem Neustart des Programmswerden neue Updates eingespielt. Dabei handelt es sich in den meisten Fällen umFehlerbehebungen, welche die Nutzer oder das eigene Testteam gefunden haben. Nur zueinem geringen Umfang handelt es sich um neue Funktionen die eingespielt werden.

2) Open Source

Bei Open Source handelt es sich um Software, welche kostenfrei bereitgestellt wird. DiesesSystem wird von einer Gemeinschaft an Entwicklern betrieben und weiterentwickelt, welchehierfür üblicherweise keine Remuneration nehmen.

Ein gutes Beispiel hierfür ist PHP. Es gibt hier eine grosse Gemeinschaft, welche dieseProgrammierung kostenfrei bereitstellt. PHP kann wiederum genutzt werden, umWebapplikationen zu schreiben. Hierfür könnte ein PHP Entwickler wiederum ein Entgelt

2/5

Page 3: 6 verschiedene Arten von Software

nehmen.

Die verschiedenen, bereits programmierten, Komponenten helfen dabei, Applikationenschneller zu entwickeln.

Die grosse Herausforderung bei solchen Systemen ist, dass die Programmierer die gemeinsamdaran arbeiten, sehr weit verstreut auf der Welt sind. Dies führt dazu, dass diese Systeme, oderzumindest deren Komponenten, nicht immer so gut durchgedacht sind, wie das bei anderenSystemen der Fall ist, wo sich Programmierer direkt in einer Gruppe vor Ort absprechen.

3) Unternehmens-/ Berater-Software

Unternehmens- / Beratungs-Software fällt zum Teil auch in den Bereich paketierte IT Systeme.

Hierbei werden bereits paketierte Programme an Unternehmen angepasst. Die Berater oder dieBeratungshäuser, die diese Anpassungen vornehmen, nehmen meistens mehrere Hundert Europro Stunde. Sicherlich auch deswegen, weil diese eine hohe Spezialisierung in ihrem Gebiethaben. Ein Beispiel hierfür wäre ein Beratungshaus, welches SAP in einer Grossbankimplementiert. Wobei SAP eine zum Grossteil bereits fertig geschriebene Software ist.

4) Individual-/ Interne Software

Unternehmen haben in manchen Fällen so ausgefallene Wünsche oder Anforderungen, dassApplikationen nur für diese geschrieben werden.

Ein Beispiel hierfür wäre eine spezielle Applikation für ein Unternehmen welches Motorenherstellt und deren Geräuschpegel auf den kleinsten Dezibel herausfinden muss. Hierfür lassensich höchstwahrscheinlich keine paketierten Systeme oder Open Source Module finden.

Der grosse Vorteil bei der Entwicklung von solchen Systemen ist, dass man Annahmen darübermachen kann, welche Hardware genutzt wird, sowie auch die generelle technische Umgebung.

Man weiss zum Beispiel, dass im Unternehmen eine bestimmte Version des Internet Explorersgenutzt wird und nur eine bestimmte Anzahl von unterschiedlichen Rechner-Systemen.Dementsprechend kann man gezielt für diese Umgebung entwickeln.

5) Embedded3/5

Page 4: 6 verschiedene Arten von Software

Bei Embedded Software handelt es sich um Technik, welche in einer speziellen Hardwareeingespielt wird und später nicht mehr verändert wird.

Bei der Entwicklung muss man extremst aufpassen, denn die Lösung welche schlussendlich indie Hardware eingespielt wird, darf keine Fehler mehr enthalten. Denn man kann meistenskeine Updates darauf einspielen. Ein Beispiel wäre hierfür eine Software welche in ein Autoimplementiert wird. Hier kann man dann keine Änderungen mehr vornehmen, sobald esverkauft ist. Im schlimmsten Fall können Programmierfehler zu Rückrufaktionen von diesenAutos führen.

Bei paketierten Systemen ist das wiederum nicht so schlimm, da, wie bereits erwähnt, einfacheine weitere Version, mit den Fehlerbehebungen, an die Kunden, entweder unentgeltlich odergegen Bezahlung, weitergegeben wird.

6) Cloud-basiert

Cloud-basierte Lösungen werden immer wichtiger im Unternehmensbereich. Früher mussten ITSysteme noch aufwändig intern von IT Abteilungen gewartet werden. Heute läuft alles imHintergrund ab und wird von den Cloud-Lösungsanbietern gewartet.

Bei solcher Software, kann der Anbieter, wie bei paketierten Systemen auch darauf setzen,dass Version 1.0 nicht perfekt sein muss. Er kann noch viel schneller neue Versionen einspielenund relativ zeitgleich auf Kundenfeedback eingehen.

Bei der Programmierung dieser Systeme müssen besonders auf Bereiche, wie Sicherheit,Offline-Nutzung und weitere ein Fokus gegeben werden.

Fazit

Wenn man verstanden hat, dass es unterschiedliche IT Systeme gibt und dieseunterschiedliche Anforderungen haben, dann wird man den Prozess der Entwicklung auch

4/5

Page 5: 6 verschiedene Arten von Software

anders angehen. Ein Cloud-basierter Anbieter kann viel entspannter auf die erste Version derLösung schauen und diese veröffentlichen, als dies zum Beispiel ein Embedded SystemAnbieter tun könnte.

Wer auf kleine Preise setzen will, sollte paketierte Software programmieren, da sich dieEntwicklungskosten leichter auf eine Vielzahl von Nutzern verteilen lässt.

Wer Grossunternehmen anspricht, kann sich auf Unternehmenssoftware spezialisieren, welcheauf die speziellen Bedürfnisse des Kunden angepasst werden. Eine SAP Implementierung kannBeispielsweise mehrere Millionen Euro kosten.

Anbieter welche schnell auf Kundenwünsche reagieren wollen und können, sollten auf Cloud-Lösungen setzen, welche sich schnell abändern lassen.

Es lassen sich noch viele weitere Schlüsse ziehen, sobald man weiss, welche Art von Softwareman anbieten will.

Gleichzeitig sollte man auch erwähnen das sich die IT Landschaft extrem schnell verändert.Grossunternehmen setzen vermehrt auf eine Cloud-Strategie und daher vermischen sich dieArten der IT Systeme in der Zukunft immer mehr.

Welche Erfahrungen haben Sie gemacht?

Bilder: Flickr.com/ Dineen/ Cote/ Farr/ Rodriguez/ Bruce

Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmernund Unternehmen beim einfachen Aufbau von Programmier-Teams inIndien. YUHIRO ist ein deutsch-indisches Unternehmen welches ITFirmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.

Artikel teilen

5/5