Benutzer-Werkzeuge

Webseiten-Werkzeuge


de:lehre:programmierkonzepte:ws2018:03:index

03. Infrastruktur

Themen
Warum ist Infrastruktur wichtig?
Kosten-Nutzen-Abwägung
Übersicht über die nachfolgend behandelte Infrastruktur
Weitere Arten von Infrastruktur
Folien
PDF
Glossar
PDF


Zentrale Aspekte

  • Eine minimale Infrastruktur ist zwingende Voraussetzung zur
    Erfüllung der Kriterien für Auswertungssoftware.
  • Infrastruktur kann die Softwareentwicklung vereinfachen,
    disziplinieren und strukturieren.
  • Klare Abläufe sorgen für Konsistenz und Routine und erleichtern die Nutzung.
  • Nur eine funktionierende und möglichst einfach bedienbare Infrastruktur
    wird auch regelmäßig genutzt werden.
  • Entscheidend ist nicht der Einsatz konkreter Produkte,
    sondern der Werkzeuge als solcher.

Fragen zur Vertiefung und Wiederholung

Diese Fragen dienen der persönlichen Beschäftigung mit der Thematik, werden aber nicht separat in der Vorlesung besprochen.

  • Welche Argumente lassen sich für die Verwendung von Infrastruktur anbringen, trotz des initial höheren Aufwandes beim Einsatz der entsprechenden Werkzeuge?
  • Worauf sollte bei der Auswahl von Infrastruktur und der Festschreibung entsprechender Abläufe unbedingt geachtet werden?

Bausteine einer Infrastruktur

In der Vorlesung werden/wurden sechs Aspekte von Infrastruktur angesprochen: Versionsverwaltung, Versionsnummern, externe Dokumentation, Bugverwaltung, Editoren/IDEs, Lizenzen.

Sollte ich für mich beantworten, welche Lösungen ich für die jeweiligen Aspekte verwenden würde oder verwende, käme wohl die folgende Liste dabei heraus. Da die verwendete Infrastruktur teilweise von der gewählten Programmiersprache abhängt, ist auch diese hier mit angegeben.

Aspekt Lösung
Programmiersprache Python 3.x
Versionsverwaltung git mit Gitea als Web-Frontend
Versionsnummern SemVer
externe Dokumentation DokuWiki; alternativ: Sphinx
Bugverwaltung extern: Bugzilla; alternativ: Gitea
Editoren/IDEs PyCharm
Lizenzen GPL, BSD

Wichtig: Das ist eine mitunter sehr persönliche Wahl, außerdem werde ich sie an dieser Stelle nicht begründen. Jeder sollte sich gut überlegen, welche Wahl er selbst trifft. Ggf. kann man sich sonst auch noch „unterwegs“ umentscheiden, auch wenn das mühsam werden kann.

Editoren bzw. IDEs sind nicht nur eine Frage des persönlichen Geschmacks, sondern auch der verwendeten Programmiersprache. Wer MATLAB verwendet, wird (fast) nicht sinnvoll um den mitgelieferten Editor herumkommen. Für Python ist PyCharm eine echte Empfehlung, und die kostenlose Variante genügt vollkommen für die Zwecke wissenschaftlicher Programmierung. Ansonsten ist Eclipse immer eine interessante Option.

Weiterführende Literatur

Eine kommentierte und handverlesene Liste mit weiterführender Literatur zum Thema. Die Auswahl ist zwangsläufig subjektiv.

Projektmanagement

Auch wenn Projektmanagement über die in der Vorlesung besprochene Infrastruktur hinausgeht, lassen sich viele Aspekte, die hier unter Infrastruktur zusammengefasst werden, in diesen Kontext einbetten.

Ein „Klassiker“ zum Projektmanagement ist der Bericht von Frederick Brooks aus seiner Zeit bei IBM, wo er für die Entwicklung des Betriebssystems für die ersten IBM-Mainframes (OS/360) verantwortlich war. Das Buch ist gut geschrieben und beinhaltet in seiner Ausgabe von 1995 zusätzlich u.a. noch seinen ebenfalls berühmten (und lesenswerten) Essay „No Silver Bullet—Essence and Accident in Software Engineering“.

  • Brooks, Frederick P. (1995): The Mythical Man Month, Addison Wesley Longman, Boston
de/lehre/programmierkonzepte/ws2018/03/index.txt · Zuletzt geändert: 2020/09/30 21:35 von 127.0.0.1