Geany IDE für Entwickler mit Python

Entwickler brauchen die passenden Werkzeuge, um effizient zu programmieren. Die Open Source Software Geany nennt sich auch Lightweight IDE und ist eine Entwicklungsumgebung, die auf Windows, Linux und MacOS installiert werden kann.

Der Geany Editor IDE unterstützt über 50 Programmiersprachen und ist in 40 verschienen Sprachen nutzbar. Eine Programmiersprache ist zum Beispiel Python, eine der zur Zeit beliebtesten Programmiersprachen. Dabei unterstützt Geany Interpreter und Compiler Sprachen. Auch optisch kann Geany durch auswählbare Themen grafisch verändert werden.

Der Funktionsumfang kann durch wählbare Plugins individuell angepasst werden. So bietet Geany auch Unterstützung für Git, Subversion, einen Datei Manager und den Projekt Organizer.Probieren Sie Geany aus.

Meine Empfehlung lautet: Installieren Sie unter Windows und Linux die zusätzlich erhältlichen Geany Plugins. Diese sind bei MacOS bei der Standard Installation enthalten.

Die 10 Gebote der Netzsicherheit

Datenschutz und Datensicherheit spielen immer eine wichtige Rolle und das ist bereits seit mehr als 2500 Jahren bekannt. Denn Meister Sun, auch unter den Namen Sunzi, Sun Tsu oder 孫子 / 孙子bekannt, schrieb in seinen Schriften: 

Der General ist ein weiser Verteidiger, wenn sein Gegner nicht weiß, was er angreifen soll.

Die weltweit führenden Schulen des Management unterrichten diese wichtigen Schriften noch Heute. Daraus leiten sich auch die 10 Gebote der Netzsicherheit ab.

10 Gebote der Netzsicherheit

  1. Lege stets Verantwortlichkeiten fest
  2. Finde einvernehmliche Regeln für alle Akteure
  3. Stelle ausreichend Ressourcen bereit
  4. Beziehe die Nutzer stets mit ein
  5. Definiere wichtige Prozesse und kontrolliere die Ausführung
  6. Sichere regelmäßig die Daten
  7. Setze Firewall-, Antiviren und weitere Schutz-Software ein
  8. Nutze Verschlüsselung für wichtige E-Mails und wichtige Internet Verbindungen
  9. Gib nur notwendige Daten preis
  10. Bedenke: Der Mensch hinter dem Computer ist das größte Sicherheitsrisiko

Ignoranz und Unwissenheit erzeugen auch solche Worte:

Das Internet ist für uns alle Neuland

Seien Sie wachsam und sorgen Sie für eine zeitgemäße Entwicklung. Denn Freiheit sollte niemals gegen für vorübergehende Sicherheit aufgegeben werden, wie bereits Benjamin Franklin sprach.

Wer die Freiheit aufgibt, um Sicherheit zu gewinnen, der wird am Ende beide verlieren

Darstellung von Klassen und Objekt Diagrammen mit UML

UML wird zur Modellierung und zur Darstellung der Struktur von Softwaresystemen eingesetzt.  Die Unified Modeling Language nutzt dazu verschiedene Diagrammarten und wird zur

  • Beschreibung aller Arten von objektorientierter Software und der dazugehörenden Dokumentation eingesetzt;
  • zeigt die Prozesse, zeitlichen Kommunikationsverläufe, Objekte, Klassen zum Erstellen eines Modells auf;
  • dient zur Erkennung von Risiken und Fehlern;
  • sowie der Zuweisung von Verantwortlichkeiten und Ressourcen.

Inzwischen gibt es Software Tools, mit denen nicht nur UML dokumentiert werden kann. Es wird auch der passende Quellcode für verschiedene Programmiersprachen generiert.

Das Klassen Diagramm

Das Klassendiagramm ist ein Bauplan verwandter Objekte mit ähnlichen Eigenschaften und Methoden. Die Kommunikation dieser Objekte erfolgt über Schnittstellen. Dafür sind Schnittstellenmethoden notwendig.

Beispiel eines Klassen Diagramms

UML Klassendiagramm

  1. Name der Klasse
  2. Attribut oder Eigenschaft der Klasse mit Datentyp
  3. Eine Methode der Klasse

Das Objekt Diagramm

Das Objektdiagramm zeigt eine Instanz der Klasse zu einer bestimmten Zeit. Das heißt, ein aus dem Klassenbauplan erzeugtes Objekt wird zu einem bestimmten Zeitpunkt dargestellt.

Beispiel eines Objekt Diagramms

UML Objekt-Diagramm

  1. Klasse : Objekt => beschreibt das Objekt
  2. Zeigt an einem Beispiel den Wert und Datentyp des Attributs

 

 

 

PSPad – hochwertiger Editor für Entwickler

Entwickler brauchen regelmäßig einen Texteditor mit umfangreichen Funktionen. PSPad ist ein hochwertiger Editor mit umfangreichen Möglichkeiten. So kann der Editor unter anderem:

  • Quellcode Entwicklung mit Syntax Highlighter für viele Programmiersprachen
  • Umfangreiche Funktionen für die Textverarbeitung
  • Integrierter Dateivergleich
  • Integration von HTML-Tidy
  • Integrierter Hexadezimal Editor
PSPad-Editor

Besonders interessant die Möglichkeit weitere Funktion über viele zusätzliche Plug-ins einzubinden. Dies ermöglicht eine individuelle  Funktionserweiterung des Editors.

PSpad

Wer den Editor ausprobieren möchte, kann die Installationsdatei des kostenlosen Editors und https://www.pspad.com finden.

Fazit:

PSPad ist ein hochwertiger Text Editor, mit dem verschiedene Programmier- und Datenbearbeitungsaufgaben in Windows gelöst werden können. Der eingebaute Hexadezimal Editor lässt sich für Analysen auf binärer Ebene verwenden. eine klare Empfehlung für PSPad.

Das ISO-OSI Schichtenmodell

Um die  Datenübertragung in Netzen leichter beschreiben zu können, wurde in den 1960er Jahren das DoD Schichtenmodell entwickelt.

Schicht Name
4 Process
3 Host-to-Host
2 Internet
1 Network Access

Dieses Modell besteht aus 4 Schichten und bildet eine Grundlage des heute verwendeten ISO-OSI Schichtenmodells. Die Organisation ISO hat den Open Systems Interconnect im Jahr 1978 entworfen.

Das heutige OSI Modell nutzt 7 Schichten, bei der die Kommunikation zwischen Sender und Empfänger mit Hilfe von technischen Einrichtungen beschrieben wird.

Schicht Deutsche Bezeichnung Englische Bezeichnung Protokolle Geräte oder Hardware
7 Anwendungs-schicht Application Layer HTTPS
FTP
SMTP
LDAP
Gateway
Proxy
6 Darstellungs-schicht Presentation Layer
5 Sitzungsschicht Session Layer
4 Transport-schicht Transport Layer TCP
UDP
3 Vermittlungs-schicht Network Layer IP
ICMP
IPsec
Router
Layer 3 Switch
2 Sicherungs-schicht Data Link Layer WLAN
Ethernet
MAC
Switch
Bridge
Access-Point
1 Bitübertragungs-schicht Physical Layer 1000BASE-T
Token Ring
Repeater
Hub
Netzwerk-kabel

In Schicht 7 werden Daten durch die Anwendung über das Netzwerk an ein weiteres Gerät gesandt.

Das ISO-OSI Schichtenmodell

Dabei nehmen die Daten den Weg von Schicht 7 (Application Layer) des Senders zu Schicht 1 (Physical Layer) des Senders. Dann werden die Daten als Datenpakete über das Netzwerk zum Ziel transportiert. Beim Empfänger nehmen die Daten den Weg von Schicht 1 zu Schicht 7 und werden aufbereitet. Die Anwendung im Empfänger nutzt die Daten und visualisiert sie.

 

Pseudocode in Entwicklungen und Prüfungen einsetzen

Prüfungen von Fachinformatiker können Aufgaben enthalten, die mit Pseudocode geschrieben werden sollen. Verschaffen wir uns dazu einen Überblick was Pseudocode ist.

Was ist Pseudocode?

Pseudocode ist eine Schritt für Schritt Anleitung zum Entwickeln einer Abbildungsvorschrift mit allgemeiner Logik. Meist wird damit ein auf Anforderungen basierender Algorithmus beschreiben. Pseudocode kennt keinen Standard, die Nutzer orientieren sich aber an den Strukturen von Programmiersprachen.

Grundformen bei Pseudocode

Die Sequenz

Die Sequenz ist eine lineare Abfolge an Befehlsschritten. Dazu ein Beispiel:

Gib die Seitenlänge des Quadrats ein
Berechne den Seitenumfang ist gleich 4 *Seitenlänge
Gib den Seitenumfang aus

Die IF- oder WENN-Abfrage

Mit der IF Abfrage können Entscheidungen getroffen werden, wie das einfache Beispiel zeigt.

IF GefahreneGeschwindigkeit >= 100 THEN
    Zeige im Display „Geschwindigkeit zu hoch“
ELSE
    Zeige im Display „Geschwindigkeit in Ordnung“
ENDIF

Die SELECT CASE Auswahl

Wenn eine Auswahl von mehreren Möglichkeiten angeboten werden soll, dann lässt sich dies mit mit der WENN Abfrage lösen. Meist wird aber der Code kompliziert und daher ist es einfacher, eine SELECT CASE Auswahl zu schreiben.

Bewertung = 0
EINGABE „Geben Sie die Note zwischen 1 und 6 ein“ Bewertung
CASE = 1
AUSGABE „Sehr gut“
VERLASSE den CASE
CASE = 2
AUSGABE „Gut“
VERLASSE den CASE
CASE = 3
AUSGABE „Zufriedenstellend“
VERLASSE den CASE
CASE = 4
AUSGABE „Ausreichend“
VERLASSE den CASE
CASE = 5
AUSGABE „Mangelhaft“
VERLASSE den CASE
CASE = 6
AUSGABE „Ungenügend“
VERLASSE den CASE
DEFAULT
AUSGABE „Die Bewertung wird wiederholt“
GEHE ZU EINGABE

Die WHILE-Schleife

Mit der WHILE Schleife kann ein Code wiederholt ausgeführt werden, bis die Bedingung nicht mehr erfüllt ist.

ASCIICode = 32
WHILE (ASCIICode <= 126)
Umwandlung und Ausgabe in ASCIICode Zeichen
ASCIICode = ASCIICode + 1
ENDWHILE

Fazit:

Mit dem Pseudocode kann ein Algorithmus beschrieben werden, ohne dass eine Programmiersprache ausgewählt wurde. Daher ist dies eine gängige Methode, um den Algorithmus in kodierter Form  lesbar darzustellen.

 

Mozilla Javascript Engine WARP beschleunigt Firefox

Mozilla wird voraussichtlich in der KW 47/2020 für den Browser Firefox ab Version 83 den neuen Javascript Compiler WARP ausliefern. WARP bringt Verbesserungen bei der Ausführung von Javascript mit sich. Bei geringerem Speicherverbrauch werden die Lade- und Antwortzeiten von Javaskripten in den Webseiten beschleunigt.

Mozilla Javascript WARP Diagramm
Mozilla Javascript Compiler WARP

Die Javascript Funktionen können zwischen dem Javascript Interpreter und dem JIT Compiler wechseln. Ähnlich wie bei Java wird in einem ersten Schritt der Javascript Quellcode in nativen Bytecode umgewandelt. Der Bytecode wird durch den Javascript Interpreter des Browsers ausgeführt.

Mozilla Javascript Prozess
Mozilla Javascript Prozess

Fazit:

Eine praktische Verbesserung bei Mozilla Firefox ab Version 83, die die Nutzung von Webseiten erhöht und noch zukünftig weiter optimiert werden wird.

Das Pflichtenheft im Anforderungsmanagment

Das Pflichtenheft beschreibt, wie der Auftragnehmer die Anforderungen des Auftraggebers lösen will. Die Anforderungen sind im Lastenheft beschrieben. Das Pflichtenheft enthält das Lastenheft als Anlage. Genaues ist in der DIN 69901-5 und der DIN VDI/VDE 3694: 91-04 geregelt.

Das Pflichtenheft schildert, wie und mit welchen Mitteln die Anforderungen umgesetzt werden. Die Umsetzung wird erst nach der Zustimmung der Auftraggebers durchgeführt. Die Abnahme wird mit Hilfe der Beschreibung aus dem Pflichtenheft und Lastenheft durchgeführt.

Das Lastenheft im Anforderungsmanagement

Jeden Tag werden durch Auftraggeber Projekte gestartet und Auftrage vergeben. Häufig wird dabei das Lastenheft eingesetzt, das in verschiedenen Normen wie z.B. VDI 4403 Blatt1, DIN 69901-5, VDI 3694 beschrieben ist.

Was ist ein Lastenheft?

  • Im Lastenheft werden alle Anforderungen des Auftraggebers an den Auftragnehmer beschrieben.
  • Es wird beschrieben, was für Aufgaben vorliegen und wofür dies zu lösen ist.
  • Es werden alle Forderungen vollständig beschrieben.
  • Eine Abgrenzung wird getroffen und beschrieben, was nicht zur Aufgabe gehört.

Nach der Klärung der Anforderungen folgt eine Analyse der Interviews und der verfügbaren Daten. Dann kann das Lastenheft strukturiert geschrieben werden.

Aufbau eines Lastenhefts

Die Gliederung ist nicht fest vorgegeben. Von dem Beispiel kann abgewichen werden.

  • Einführung und Beschreibung des Ist-Zustands
  • Beschreibung des Soll-Entwurfs und der Schnittstellen
  • Zusammenfassung der Anforderungen und der Spezifikation
  • Risikobewertung
  • Aufzeigen der Architektur, Entwicklungsmethoden und Projektphasen
  • Umfang der Lieferung und gegebenenfalls Lieferzeitpunkt
  • Kriterien für die Abnahme
  • Vereinbarung für Wartung, Support und Pflege

Auf Basis des Lastenhefts erstellen mögliche Auftragnehmer ein Pflichtenheft, das ich noch ein einem weiteren Artikel beschreibe.

Qualitätsanforderungen an Software

Standardsoftware wird nach unternehmensinternen Qualitätsrichtlinien programmiert und verkauft.
Wie ist das aber bei individuell erstellter Software?

Es gibt allgemeine Qualitätsrichtlinien, die aber vor der Auftragserteilung festgelegt sein sollten. Denn es gilt:

„Qualität ist die Erfüllung der Kundenanforderungen.“

8 Kriterien für Qualität bei Software Entwicklung

Es gibt wichtige Eigenschaften, die bei der Softwareentwicklung eine tragende Rolle spielen. Denn schließlich soll die Software während der Nutzungsdauer problemlos und kostengünstig eingesetzt werden können.

Benutzerfreundliche Bedienung

Ein Programm oder eine App sollen einfach zu bedienen sein. der Anwender soll möglichst ohne Hilfe zum Erfolg kommen.

Unempfindlich gegen Fehler

Eingabefehler sollen abgefangen werden, Fehlbedienung nicht möglich sein.

Integrität und Sicherheit

Die Daten und das System sollen gegen unberechtigte Zugriffe und Manipulation geschützt sein.

Korrekte Funktion

Bei der Eingabe, Verarbeitung und Ausgabe dürfen keine Fehler auftreten. Bei gleichen Eingeben muss stets das gleiche Ergebnis erscheinen.

Portable Verwendung

Die Software soll auf anderen Systemen nutzbar sein.

Überprüfbarkeit

Bei der Abnahme der Software soll der Prüfungsaufwand gering sein.

Kompatibel zu anderen Anwendungen

Die Software soll einfach mit weiterer Software verbunden werden können.

Erweiterbare und wiederverwendbare Eigenschaften

Die Software soll leicht mit neuer Funktionalität ausgestattet und vorhandene Funktionen erweitert werden können.

Fazit:

Software Qualität ist wichtig und entscheidet mit, wie die Nutzung im beruflichen Alltag stattfindet. Gerade bei den Projekten Industrie 4.0 und der zunehmenden Digitalisierung in allen beruflichen Bereichen ist fehlerfreie, hochwertige Software eine Basisvoraussetzung.