01.02.2013 Aufrufe

IT-Freiberufler in guter Gesellschaft - Resoom Magazine

IT-Freiberufler in guter Gesellschaft - Resoom Magazine

IT-Freiberufler in guter Gesellschaft - Resoom Magazine

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

26<br />

<strong>IT</strong>-Technologie Software<br />

József Horváth<br />

Zwischen Standardsoftware und<br />

Individualsoftware<br />

Da der Markt von Standardlösungen für fast jeden Anwendungsbereich überflutet ist, denkt<br />

man heutzutage nur selten an die Entwicklung von größeren Individualsoftware-Systemen.<br />

Die Geschäftsprozesse s<strong>in</strong>d komplizierter, die Entwickler teurer und die Generationenwechsel<br />

der Hardware/Software-Umgebungen rasant. Gerade deshalb zählt die Anpassung von Standardsoftware<br />

zu den von Kunden am häufigsten geäußerten Wünschen. Welche Überlegungen<br />

kommen jedoch dabei zum Tragen?<br />

Per def<strong>in</strong>itionem deckt Standardsoftware<br />

e<strong>in</strong>en bestimmten Anwendungsbereich ab<br />

und kann als fertiges Produkt erworben<br />

und „out of the box“ <strong>in</strong>stalliert werden. Im<br />

Gegensatz dazu wird Individualsoftware<br />

gezielt für e<strong>in</strong>en e<strong>in</strong>zelnen Kunden bzw. für<br />

e<strong>in</strong> e<strong>in</strong>zelnes Unternehmen maßgeschneidert<br />

entwickelt.<br />

Limitierungen der E<strong>in</strong>satzmöglichkeiten<br />

von Standardsoftware<br />

In vielen Fällen ist es nicht oder nur mit unverhältnismäßig<br />

hohem Aufwand möglich,<br />

Standardsoftware e<strong>in</strong>zusetzen. Dies kann<br />

unterschiedliche Gründe haben, die <strong>in</strong> der<br />

Praxis am häufigsten anzutreffen s<strong>in</strong>d:<br />

• Es müssen sehr spezielle und komplexe<br />

Geschäftsprozesse abgebildet werden<br />

• Es gibt ke<strong>in</strong>e geeignete Standardsoftware,<br />

die den speziellen Anforderungen<br />

h<strong>in</strong>sichtlich der bestehenden Infrastruktur<br />

entspricht<br />

• Es ist e<strong>in</strong>e Schnittstelle zu vorhandenen<br />

Systemen notwendig, etwa zu Datenbanken.<br />

• Der Kunde möchte die Kontrolle über<br />

die Entwicklung der Software une<strong>in</strong>geschränkt<br />

behalten und die une<strong>in</strong>geschränkten<br />

Rechte am Quellcode haben<br />

• Die Software soll dem Unternehmen natürlich<br />

Wettbewerbsvorteile gegenüber<br />

den Mitbewerbern verschaffen<br />

<strong>IT</strong>-Projekte <strong>in</strong> der Zwickmühle<br />

Jedoch lassen sich heutzutage immer weniger<br />

Firmen auf das „Abenteuer“ Software-<br />

Entwicklung e<strong>in</strong>. Denn nicht nur die Zielvorgaben<br />

s<strong>in</strong>d <strong>in</strong> der Regel unklar, sondern auch<br />

<strong>in</strong> fachlicher H<strong>in</strong>sicht ist die Aufgabe für den<br />

Entwickler zu Beg<strong>in</strong>n oft e<strong>in</strong> unbekanntes<br />

Terra<strong>in</strong>. Häufig erwartet e<strong>in</strong> Auftraggeber<br />

von e<strong>in</strong>em <strong>IT</strong>-Projekt, dass es Lösungen hervorbr<strong>in</strong>gt,<br />

die se<strong>in</strong>e Wünsche vollständig<br />

erfüllen. Gleichzeitig berichten zahlreiche<br />

Studien über kostspielige und nicht enden<br />

wollende Projekte, die dann letztlich scheitern.<br />

Die Entwicklungskosten für e<strong>in</strong>e Individualsoftware<br />

s<strong>in</strong>d verglichen mit dem E<strong>in</strong>satz<br />

von Standardsoftware aus Kundenperspektive<br />

enorm hoch. Das rührt daher, dass die<br />

Kosten für den Entwicklungsaufwand nicht<br />

auf Tausende oder Millionen von Nutzern<br />

umgelegt werden können, sondern e<strong>in</strong>zig<br />

von e<strong>in</strong>em e<strong>in</strong>zelnen Auftraggeber aufzubr<strong>in</strong>gen<br />

s<strong>in</strong>d.<br />

Grundsätzlich muss im E<strong>in</strong>zelfall entschieden<br />

werden, ob der E<strong>in</strong>satz von Standardoder<br />

Individualsoftware lukrativ genug ist.<br />

Als Hauptvorteil des E<strong>in</strong>satzes von Standardsoftware<br />

werden meist die ger<strong>in</strong>geren<br />

Kosten genannt, was häufig allerd<strong>in</strong>gs durch<br />

die erforderlichen Anpassungen an die vorhandene<br />

Infrastruktur relativiert wird.<br />

Software-Entwickler József Horváth: „Die Entwicklungskosten<br />

für e<strong>in</strong>e Individualsoftware s<strong>in</strong>d verglichen mit<br />

dem E<strong>in</strong>satz von Standardsoftware aus Kundenperspektive<br />

enorm hoch.“<br />

Individualisierte<br />

Standardlösungen<br />

Moderne Standardsoftwaresysteme bieten<br />

heutzutage programmierbare Schnittstellen,<br />

sog. Application Programm<strong>in</strong>g Interface<br />

(API), die es ermöglichen, <strong>in</strong>dividuelle<br />

Komponenten passend zur Software zu entwickeln<br />

bzw. verschiedene Standardpakete<br />

mite<strong>in</strong>ander zu verb<strong>in</strong>den. Dies ist aber nur<br />

möglich, wenn diese Schnittstellen standardisiert<br />

s<strong>in</strong>d. Dabei ist die verwendete<br />

Programmiersprache zentral. Die meistverbreiteten<br />

Sprachen im Bereich Schnittstellenprogrammierung<br />

s<strong>in</strong>d C und C++.<br />

Das hohe C der Schnittstellenprogrammierung<br />

C ist e<strong>in</strong>e Programmiersprache, die der Informatiker<br />

Dennis Ritchie <strong>in</strong> den frühen<br />

1970er-Jahren an den Bell Laboratories für<br />

das Betriebssystem Unix entwickelte. Die<br />

C-Sprache steht heute auf fast allen Computersystemen<br />

zur Verfügung. Sie zählt zu<br />

den prozeduralen Programmiersprachen<br />

und wird zur System- und Anwendungsprogrammierung<br />

e<strong>in</strong>gesetzt. Da diese Sprache<br />

als weitgehend standardisiert angesehen<br />

werden kann, können C-Programme, die<br />

ke<strong>in</strong>e stark Hardware-nahe Programmierung<br />

enthalten, <strong>in</strong> der Regel gut auf andere Zielsysteme<br />

portiert werden. Zahlreiche andere<br />

Sprachen wie C++, Objective-C, C#, Java, PHP<br />

oder Perl orientieren sich an der Syntax und<br />

an anderen Eigenschaften von C.<br />

C++ ist e<strong>in</strong>e von der ISO standardisierte höhere<br />

Programmiersprache. Mittlerweile ist<br />

C++ selbst sehr stark verbreitet und kann<br />

den Vorteil der Objektorientierung gegenüber<br />

C oft dann ausspielen, wenn die Größe<br />

e<strong>in</strong>es Projektes die Verwendung von C nicht<br />

ratsam ersche<strong>in</strong>en lässt.<br />

C <strong>in</strong> der Praxis<br />

Im Verlagswesen s<strong>in</strong>d die meisten Arbeitsplätze<br />

mit Standardsoftware der Firmen<br />

Quark und Adobe ausgestattet. Aufgaben

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!