Grundlagen der Informatik

Zum Verständnis des Verhältnisses von Software und Patentrecht sind Grundkenntnisse über die Informatik erforderlich. Insbesondere werden Grundbegriffe und -prinzipien vor dem Hintergrund des Patentrechts erläutert. Beispielsweise wird das Schichtenmdell beschrieben, um die Rechtsprechung zum "weiteren" technischen Effekt zu verstehen. Außerdem wird der grundlegende Begriff des Algorithmus präsentiert. Die Begriffe Datenstruktur, Computerprogramm und Software werden ebenfalls aus Sicht der Informatik, auch in ihrer Vielfalt, vorgestellt. Insbesondere der Begriff "Computerprogramm", im speziellen als Patentanspruch, stellt ein zentrales Element bei computerimplementierten Erfindungen dar.

Software wird von Programmierern bzw. Entwicklern auch als Kunst bezeichnet. Ihr Werken sehen sie als künstlerisches Schaffen. Entsprechend kann das Urheberrecht besser geeigent sein als das Patentrecht, um das geistige Schaffen einer Software vor Nachahmung zu schützen. An der Auffassung von Software als Kunst kann auch erkannt werden, dass Software nicht per se als technsich anzusehen ist, und daher je nach Einzelfall festzustellen ist, ob die konkret vorliegende Software dem Patentrecht zugänglich ist.

Grundlagen der Informatik

Computer als Schichtenmodell

Zum Verständnis eines Computers ist die Kenntnis des Schichtenmodells sehr bedeutsam. Auch um das Verhältnis von Computerprogramm zum Patentrecht zu verstehen, dient das Schichtenmodell. Das Schichtenmodell verdeutlicht, dass jedes Computerprogramm eine Hardwareseite und eine Softwareseite aufweist. Die Hardware wird vom Patentrecht als technisch angesehen. Die Software zunächst nicht. Zwischen der reinen Anwendungssoftware und der Hardware gibt es mehrere Schichten, die hin zur Hardware zunehmend konkreter und detaillierter sind.

Die oberste Schicht ist die Anwendungssoftware. Die Anwendungssoftware gibt Steuerbefehle an das Betriebssystem, das eine weitere Schicht darstellt. Zwischen Anwendungssoftware und Betriebssystem kann eine API vorhanden sein, die die Kommunikation zwischen Anwendungssoftware und Betriebssystem sicherstellt. Die Hardware kann als eine weitere Schicht aufgefasst werden.

Grundlagen der Informatik

Softwareengineering als Abstraktion

Softwareengineering bedeutet die planmäßige, industrielle Entwicklung von Software nach ingenieurmäßgen Grundsätzen. Softwareengineering ist als Gegensatz zum Hobbyprogrammieren zu verstehen. Die Entwicklung von Software gemäß den Vorgaben des Softwareengineering folgt einem strikten Ablauf. Zunächst wird ein Anforderungsprofil an die Software erstellt. In einem nächsten Schritt wird ein Modell der Software erarbeitet. Dieses Modell wird als ein konkretes Ablaufdiagramm entwickelt. Das Ablaufdiagramm wird als ein Produkt implementiert.

Grundlagen der Informatik

Algorithmus

Ein Algorithmus zusammen mit einer Datenstruktur werden durch ein Computerprogramm realisiert. Algorithmus ist ein zentraler Begriff in der Informatik, wobei ein Algorithmus nur sein kann, was finit, deterministisch und effizient ist. Durch ein Computerprogramm wird ein Algorithmus für einen Computer lesbar.

Grundlagen der Informatik

Datenstruktur

Eine Datenstruktur stellt die Beziehungen zwischen einzelnen Daten dar. Datenstrukturen können insbesondere als arrays, linked lists, stacks, trees oder hash tables dargestellt werden und erleichtern damit dem Computerprogramm die Abarbeitung der Programmschritte.

Buy now