Seit 2010 widmen wir uns ebenfalls der
Ein weiteres Highlight unserer Dienstleistungen ist das Erstellen von Berechnungstools, die sowohl in die eigene Website implementiert werden können, als auch über einen externen Zugang aufgerufen werden können. Dadurch erhalten Mitarbeiter sowohl im Innendienst, als auch im Außendienst stets verfügbare Werkzeuge für das Tagesgeschäft oder können bei Beratungsgesprächen schnell agieren.
Immer wiederkehrende Berechnungen können effizienter durchgeführt und Fehler minimiert werden. Beispiele für von uns erstellte Tools aus dem Bereich Maschinenbau finden Sie unter nachfolgenden Links:
Berechnungstools müssen natürlich nicht immer so umfangreich ausfallen, wie in obigen Beispielen. Aber jede Zeitersparnis schafft Freiräume für andere wichtige Arbeiten und Aufgaben.
Der Begriff „Programmierung” kommt aus dem Altgriechischen (prógramma) und bedeutet so viel wie „öffentlich und schriftlich bekannt gemachte Nachricht, Befehl”). Heute bezeichnet es die Tätigkeit, Computerprogramme zu erstellen und wird der Softwareentwicklung zugerechnet.
Computerprogramme werden mit Hilfe einer Programmiersprache formuliert („codiert”). Der Programmierer überführt dabei z. B. die in einem Pflichtenheft vorgegebenen Anforderungen in eine bestimmte Programmiersprache. Eine Möglichkeit ist, hierzu sogenannte Codegeneratoren zu verwenden, die Teile des Programmcodes auf Basis von Modellen automatisch zu erzeugen.
Beim Programmieren sind wesentliche Aspekte zur Softwarequalität zu berücksichtigen und durch die Gestaltung des Quellcodes umzusetzen.
In erweitertem Sinn umfasst das „Programmieren” neben der Codeerstellung zahlreiche weitere Tätigkeiten. Dazu gehört z. B. das Testen (Entwicklertest) des Programms oder das Erstellen einer Programmdokumentation.
Abgrenzen vom Begriff des Programmierens lassen sich andere Tätigkeiten zur Softwareentwicklung wie beispielsweise das Projektmanagement, die Anforderungsanalyse oder die Datenmodellierung. Das sind nicht minder wichtige Aufgaben, die im Vorfeld geklärt werden müssen. Abhängig vom Typ und der Einsatzumgebung von Software (z. B. für Systemsoftware, Standardsoftware, Grafiksoftware. usw.) können zur Entwicklung unterschiedliche Verfahren und/oder Werkzeuge (wie Programmiersprachen, Testverfahren etc.) zum Einsatz kommen.
Je nach angewendetem Vorgehensmodell verlaufen die Aktivitäten zur Programmierung in zeitlich voneinander abgegrenzten Projektphasen, parallel oder iterativ. In der Praxis geschieht das Programmieren häufig in Teamarbeit, mit modernen Entwicklungsmethoden und Programmierwerkzeugen.
Beim Programmieren wird im Wesentlichen auf 4 Bereiche großen Wert gelegt:
- Korrektheit
- Robustheit
- Wartbarkeit
- Effizienz
Korrektheit
Ein Programm muss die im Entwurf gemachten Vorgaben korrekt umsetzen. Dazu muss es in der Regel fehlerfrei sein, wobei beim Programmieren meist zwei verschiedene Arten von Fehlern auftreten:
- 1. Syntaxfehler: Fehlerhaft formulierter Quellcode – man verwendet Formulierungen oder Konstrukte, die so nicht in der verwendeten Programmiersprache vorkommen (Tippfehler, Unkenntnis, ...). Da Syntaxfehler beim Übersetzen vom Compiler/Interpreter oder Parser erkannt werden können, verhindern i. d. R. diese Fehler die Programmausführung.
- 2. Semantische Fehler: Das Programm verhält sich nicht wie gewünscht, weil möglicherweise der Algorithmus oder seine Umsetzung fehlerhaft war. Semantische Fehler können in der Regel nicht automatisch erkannt, sondern nur durch gewissenhaftes Testen gefunden werden – beispielsweise in Form von Unittests. ...
Der Übergang zwischen diesen beiden Fehlerarten ist fließend. So kann mitunter ein Tippfehler im Code zu einem gültigen ausführbaren Programm führen, aber das Resultat könnte dennoch falsch sein. Insofern ist konzentriertes Arbeiten ein „Muss”.
Robustheit
Statistisch gesehen wird die meiste Zeit für die Entwicklung von Quelltext benötigt, um auf Fehler oder außergewöhnliche Anwendungs- oder Hardwareumgebungen zu reagieren. Ein Programmtext, der auch bei unvorhergesehenen Fehlern oder ungewöhnlichen Umgebungen sinnvoll reagiert, wird als robust bzw. portabel bezeichnet.
Geübte Programmierer können die möglichen Fehler und Laufzeitumgebungen gut einschätzen und strukturieren das Programm und seinen Quelltext dementsprechend. Der Zeitdruck bei der Entwicklung von Anwendungen stellt selbst an erfahrene Programmierer immer höchste Ansprüche hinsichtlich dieses Kriteriums.
Wartbarkeit
Damit eine Software dauerhaft funktioniert, muss sie „wartbar” sein. Das heißt, Änderungen wie Bugfixes, Anpassungen und neue Features müssen ohne großen Aufwand eingepflegt werden können. Dies erfordert vor allem, dass der Programmierer keinen zu kurzen, „kryptischen” Quelltext (oder Quellcode) erzeugen soll, der für andere Entwickler nicht oder nur mit hoher Einarbeitungszeit verständlich ist.
Um solche Probleme zu vermeiden, existieren häufig Namenskonventionen, in denen beispielsweise selbsterklärende (oder auch „sprechende”) Bezeichner/Namen für Variablen etc. zur Verwendung empfohlen oder sogar vorgeschrieben werden. Nicht selten greift man auf die Verwendung aussagefähiger Kommentare im Code zurück. Auch eine sinnvolle Aufteilung des Codes in intuitiv verständliche Funktionen und Klassen trägt zum Verständnis und Übersichtlichkeit bei.
Effizienz
In der Regel stehen einem Programm nur begrenzte Ressourcen (Laufzeit, Speicherverbrauch, Bandbreite) zur Verfügung. Gute Programmierung kann dazu beitragen, unnötigen Ressourcenverbrauch zu reduzieren. Beispielsweise erfolgt dies, indem bei Verwendung großer Datenmengen an mehreren Stellen im Programm nicht jeweils der gesamte Datensatz kopiert wird, sondern nur die Adresse übertragen wird, an der die Daten gespeichert werden. Inhaltlich gleicher Code oder gleiche Textbausteine werden nur einmal erstellt und bei Bedarf eingeschlossen. Oder der Text wird zeitverzögert vom Server geladen, sobald der User eine Internetseite mit der Maus scrollt.
Man sieht schon, ein Programmierer sollte sich durch analytisches, strukturiertes und ganzheitliches Denken auszeichnen. Das Ergebnis bereitet dann allen Beteiligten – sprich dem Auftraggeber (Kunden), dem Programmierer und dem User (Anwender) – ein funktionales, informatives und ansprechendes Erlebnis.
auf unsere Kunden zugeschnitten.
⇦ Startseite