Softwarefirmen

Softwarefirmen   Informationen   Kontakt

caramba-werbung

 


 


 



 

 

Software

Software bezeichnet alle nichtphysischen Funktionsbestandteile eines Computers bzw. eines jeden technischen Gegenstandes, der mindestens einen Mikroprozessor enthält. Dies umfasst vor allem Computerprogramme sowie die zur Verwendung mit Computerprogrammen bestimmten Daten.

Software wird in der Regel in Gegensatz zu Hardware gesetzt, welche den physischen Träger bezeichnet, auf dem die Software existiert und funktioniert und allein mit Hilfe dessen sie ihre Funktion erfüllen kann. In diesem Sinne wurde der Begriff erstmalig 1958 von John W. Tukey benutzt. Umgangssprachlich wird „Software“ oft auch ausschließlich für „aktive“ Daten, also ausführbare Computerprogramme gebraucht. Andererseits wird manchmal auch jede Art von digitalen Daten als Software bezeichnet, also auch z. B. Musikdaten auf einer CD.

Arten von Software

Software lässt sich nach verschiedenen Kriterien unterscheiden.

Sie kann nach der Funktion unterteilt werden in:

  • Systemsoftware, die für das ordnungsgemäße Funktionieren des Computers erforderlich ist. Hierzu zählen insbesondere das Betriebssystem als auch zusätzliche Software wie Systemnahe Software, Gerätetreiber, usw.
  • Anwendungssoftware, die den Benutzer bei der Ausführung seiner Aufgaben unterstützt und ihm dadurch erst den eigentlichen, unmittelbaren Nutzen stiftet

Software nach der Art der Einbettung:

  • nicht eingebettete Software (Software, die installiert wird)
  • fest in einem Gerät zu dessen Steuerung untergebrachte Software (z. B. in einem ROM), bezeichnet man als Firmware oder auch Eingebettete Software.

Einstufung nach Nutzungsrecht (Lizenz):

  • Adware
  • Beerware
  • Cardware
  • Careware
  • Crippleware
  • Demoware
  • Donationware
  • Freeware
  • Nagware
  • Peaceware
  • Shareware
  • Gemeinfreiheit (engl. „Public Domain“)

Nach Quellcode-Veränderbarkeit:

  • Freie Software
  • Open Source
  • Proprietäre Software

Nach Verfügbarkeit:

  • Abandonware
  • Vaporware

Andere:

  • Portable Software
  • Bananenware (unausgereifte Software)
  • Schlangenöl (Programm ohne echte Funktion, wird aber als Wundermittel angepriesen)
  • Shovelware (Sammlung von Software, wobei die Quantität zählt)
  • Riskware

Erstellung von Software

Die Entwicklung von Software ist ein komplexer Vorgang. Dieser wird durch die Softwaretechnik, einem Teilgebiet der Informatik, systematisiert. Hier wird die Erstellung der Software schrittweise in einem Prozess von der Analyse über die Softwaremodellierung bis hin zum Testen als wiederholbarer Prozess beschrieben.

Wesen und Eigenschaften von Software

Software ist vergegenständlichte, im Voraus geleistete geistige Arbeit:

  • Vergegenständlicht heißt: Die Ergebnisse der geistigen menschlichen Tätigkeit liegen in Form eines Gegenstandes vor; hier in Form des auf dem Datenträger (CD-ROM, Magnetband, ...) gespeicherten Programms.
  • Im Voraus geleistet meint: Die Programmautoren erarbeiten z. B. ein Lösungsverfahren für die korrekte Trennung aller deutschen Wörter in einem Textverarbeitungsprogramm. Damit ist im Voraus, also bevor diese Tätigkeit überhaupt anfällt, schon für alle Schreiber, die mit diesem Textverarbeitungsprogramm arbeiten, die geistige Arbeit „korrektes Trennen deutscher Wörter“ geleistet. Dabei kann ein Softwareentwickler mitunter auf „im Voraus“ von Dritten entwickelte Algorithmen zurückgreifen.

Weitere Eigenschaften von Software sind:

  • Standardsoftware (im Gegensatz zu Individualsoftware) wird nur einmalig erzeugt und kann dann mit verhältnismäßig geringen Kosten kopiert und verteilt werden und breite Wirkung entfalten; Kosten entstehen durch den Datenträger, Werbung, Herstellen von Schulungsunterlagen und durch etwaige Lizenzen.
  • Software verschleißt nicht durch Nutzung sie unterliegt jedoch auch mit der Zeit der Softwarealterung.
  • Software ist austauschbar, aktualisierungsfähig, korrigierbar und erweiterbar, insbesondere dann, wenn Standards eingehalten und der Quelltext verfügbar ist.
  • Software kann vorkonfiguriert werden, um so eine Neuinstallation zu beschleunigen und um Fehler bei der Konfiguration zu minimieren.
  • Software tendiert dazu, um so mehr Fehler zu enthalten, je neuer und je komplexer sie ist. Außer bei Software von trivialem Funktionsumfang ist daher nicht von Fehlerfreiheit auszugehen. Fehler werden häufig erst nach Veröffentlichung einer neuen oder funktionserweiterten Software bekannt. Diese werden dann oftmals durch Veröffentlichung einer um die bekannt gewordenen Fehler bereinigten Softwareversion oder eines Patches behoben. Softwarefehler bezeichnet man auch als Bugs.
  • Der Beweis der Fehlerfreiheit ist in der Regel nicht zu erbringen. Nur bei formaler Spezifikation der Software ist der mathematische Beweis ihrer Korrektheit (Software) theoretisch überhaupt möglich.

Juristische Definition

In der Rechtsprechung wird zwischen Individualsoftware und Standardsoftware unterschieden: Bei dem Erwerb von Individualsoftware wird ein Werkvertrag bzw. Werklieferungsvertrag abgeschlossen, der Erwerb von Standardsoftware gilt als Sachenkauf.

Lizenzmodelle

Die Verbreitung und Nutzung von Software unterliegt dem Urheberrecht. Es gibt in diesem Zusammenhang mehrere typische Überlassungsmodelle:

  • Verkauf: Der vollständige Verkauf von Software, inklusive der Überlassung von Weiterverbreitungsrechten, kommt praktisch nur zwischen Firmen vor, in der Regel im Rahmen von Auftragsprogrammierung oder beim Verkauf einer Softwareentwicklungsfirma.
  • Nutzungsrecht: Bei der meisten Software, die zum Beispiel für PCs „gekauft“ werden kann, wird in Wirklichkeit nur ein Nutzungsrecht überlassen. Dieses Modell ist auch bei der Auftragsprogrammierung üblich, bei der eine Firma ein Programm für den Eigengebrauch einer anderen Firma speziell entwickelt. Bei Freeware ist dieses Recht kostenlos, was nicht mit Freier Software verwechselt werden darf.
  • Freie Software/Open Source/GPL: Freie Software darf von jedem genutzt, beliebig verändert und weiterverbreitet werden. Oft unterliegt dieses Recht gewissen Einschränkungen, wie zum Beispiel der Nennung des Autors oder die Verpflichtung, veränderte Versionen unter die gleiche Lizenz zu stellen (GPL).

Software, die nicht zur letzten Gruppe zählt, wird proprietär genannt. Zwischen den oben genannten Hauptformen der Softwareverbreitung gibt es zahlreiche Zwischen- und Mischstufen.

Siehe auch: Lizenzen der freien Software, Lizenzmanagement

Software in der Betriebswirtschaft

In der Betriebswirtschaft spricht man von Standardsoftware, wenn für die Abwicklung der Geschäftsprozesse eine bei einem Fremdhersteller gekaufte, anpassungsfähige Software benutzt wird. Vorteile der Benutzung von Standardsoftware sind die wesentlich geringeren Kosten (Keine eigene Projektierung, keine eigene DV-Abteilung notwendig) und die Funktionsgarantie. Nachteile sind die geringere Flexibilität der Software, die zu Anpassungsschwierigkeiten führen kann und die Abhängigkeit vom Fremdhersteller (bei dessen Insolvenz meist der Garantieanspruch verfällt). Häufig in großen Unternehmen eingesetzte Standardsoftware ist R/3 von SAP. Entwickeln Firmen ihre Software selbst, geschieht dies meist mit Werkzeugen wie ARIS, einem Architekturmodell, das die komplexen Vorgänge in einem Unternehmen abbilden kann. Selbst entwickelte Software muss sorgfältig geplant, aber auch zügig realisiert werden. Jede Standardsoftware oder selbst entwickelte Software hat einen bestimmten Lebenszyklus, innerhalb dessen sie gewinnbringende Wirkung hat.

Dieser Artikel basiert auf dem Artikel Software aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar.

Softwarequalität

"Unter Softwarequalität versteht man die Gesamtheit der Merkmale und Merkmalswerte eines Softwareprodukts, die sich auf dessen Eignung beziehen, festgelegte oder vorausgesetzte Erfordernisse zu erfüllen" (Ist/Soll) [1]. Diese Definition bezieht sich damit ausschließlich auf die Produktqualität und nicht die Prozessqualität.

Qualitätsmodelle

Konzept

Der Begriff der Softwarequalität selbst ist nicht operabel und in der Praxis direkt anwendbar. [1] Deshalb existieren Qualitätsmodelle, die durch eine weitere Detaillierung und Konkretisierung das Konzept der Softwarequalität operationalisieren. Dies leisten die Qualitätsmodelle durch Ableiten von Unterbegriffen. Dadurch entsteht ein Baum (oder ein Netz) von Begriffen und Unterbegriffen.

Die Qualitätsmerkmale tragen im Englischen die Bezeichnung factor, ein Qualitäts-Teilmerkmal heißt criterion und die Qualitäts-Indikatoren metrics. Deswegen erscheinen derartige Qualitätsmodelle in der Literatur auch als FCM-Modelle. Bei den Blattknoten im Baum des Qualitätmodells, den Qualitätsindikatoren, sollte es sich um beobachtbare oder messbare Sachverhalte handeln. Hier können beispielsweise Softwaremetriken zum Einsatz kommen.

Modelle

Es existieren bereits ausgearbeitete Qualitätsmodelle, wie zum Beispiel die [[ISO/IEC 9126] bzw. [DIN 66272]].

Es existieren allerdings auch Vorgehensmodelle, wie der GQM-Ansatz, die zu individuellen Qualitätsmodellen führen.

Sicherstellung der Qualität

Für die Sicherstellung, dass die Software bezüglich der verschiedenen Qualitätsmerkmale den Anforderungen entspricht, existieren verschiedene Vorgehensmodelle und -methoden.

Einige Modelle:

  • Organisatorische Qualitätsmodelle, zum Beispiel das Capability Maturity Model (CMM)
  • Prozessmodelle, wie zum Beispiel
  • Capability Maturity Model Integration
  • der Rational Unified Process (RUP)
  • Agile Methoden
  • das V-Modell

Diese Modelle lassen sich eher dem Konzept der Prozessqualität zuordnen. Dieses geht davon aus, dass ein qualitativ hochwertiger Prozess der Produkterstellung die Entstehung von qualitativ hochwertigen Produkten begünstigt. Deshalb stellen die obigen Modelle Qualitätsanforderungen an den Prozess, in dem die Software entwickelt wird.

Einige Methoden:

  • iterative Software-Entwicklung
  • das zur Methode gewordene Spiralmodell
  • Softwaretests (siehe auch Test (Informatik))
  • statische Analyse
  • Refaktorisierung
  • Code Reviews
  • Paarprogrammierung
  • Testgetriebene Entwicklung
  • Keyword driven testing

Softwaretests, Refaktorisierung und Code Reviews gehen direkt auf die Produktqualität ein. Das konkrete Produkt wird untersucht und bearbeitet, damit es die gestellten Qualitätsanforderungen möglichst gut erfüllt.

Die Modelle lassen sich teils, die Methoden größtenteils miteinander kombinieren. Interessant sind die Modelle der agilen Prozesse wie das Extreme Programming insbesondere deshalb, weil sie Synergieeffekte des gleichzeitigen Einsatzes verschiedener Methoden nutzen.

Dieser Artikel basiert auf dem Artikel Softwarequalität aus der freien Enzyklopädie Wikipedia und steht unter der GNU-Lizenz für freie Dokumentation. In der Wikipedia ist eine Liste der Autoren verfügbar.

Textlinks

Promillegrenzen
Fussballrechte
Lohn- und Finanzbuchhaltung
Druckerei
Übersetzungen
Übersetzersuche
Börse
Anlagevermittlung
Nanotechnik
Webkatalog
Softwarefirmen
Industriestahl
Expresssendung
Produktkopie
Fremdspracheninformation
E-Mail