RAID 1 – Spiegelung von Festplatten

RAID heißt „redundant array of independent discs“. Bei dem RAID 1 Verbund werden die Daten gespiegelt. Daher werden mindestens 2 Festplatten gebraucht und die Daten werden auf den Datenträgern redundant gespeichert. Das erhöht die Daten- und Ausfallsicherheit.

Auch bei einem RAID 1 System können die Daten durch paralleles Lesen mit erhöhter Geschwindigkeit geladen werden. Aber dies muss durch den RAID Controller ermöglicht werden und nicht jeder Controller bietet diese Möglichkeit.

 

RAID 0 – Striping

RAID 0 ist ein ein Festplattenverbund von unabhängigen Festplatten. Bei RAID 0 gibt es keine Redundanz und daher keine erhöhte Datensicherheit. Das bedeutet, dass bei RAID 0 die Daten wie bei einem Reisverschluss auf den benutzten Festplatten in Blöcken angeordnet sind. Wird ein „Stripe“ oder Datenblock beschädigt, sind die dort abgelegten Daten nicht mehr lesbar. Die Größe eines Datenblocks, der auch chunk size, stripe size oder interlace size genannt wird, beträgt meist 64 kB.

blank

Da die Daten auf den Datenträger verteilt sind, kann auf die Daten parallel zugegriffen werden. Es erhöht sich die Übertragungsgeschwindigkeit bei sequentiellen Datenzugriffen. Daher wird dieser RAID Verbund meist dann gewählt, wenn große Datenmengen eingelesen werden müssen.

 

JBOD Festplatten Verbund

„Just a bunch of Disks“ wird als JBOD abgekürzt und bedeutet „Nur ein paar Festplatten“. Da an  einem Computer mehrere Datenträger angeschlossen werden können, die nicht zu einem Array zusammengefasst werden, ist JBOD kein RAID System. Mehrere Datenträger können aber zu einem logischen Volume geschaltet werden.

blank

 

 

UML Klassendiagramm Symbole

Das UML Klassendiagramm ist bei der Dokumentation von Software ein weit verbreiteter Diagrammtyp. Eine genauere Beschreibung gibt es in dem Artikel Darstellung von Klassen und Objekt Diagrammen mit UML Darstellung von Klassen und Objekt Diagrammen mit UML.

Dieser Artikel ist eine Ergänzung. Denn hier werden die Symbole für die Beziehungen des UML Klassendiagramms gelistet.

[hypeanimations_anim id=“2″]

Beziehungen in der Objektorientierung sind Verbindungen zwischen Objekten einer oder mehrerer Klassen. So gibt es die Assoziation, Aggregation und die Komposition.

Sichtbarkeit bei Klassen (engl. class visibility)
+ ~ #
public
öffentlicher, unbeschränkter Zugriff
private
nur die Klasse selbst kann es sehen
package
innerhalb des Pakets sichtbar
protected
geschützter Zugriff nur von der Klasse, sowie von den Unterklassen

Ein weiterer wichtiger Aspekt ist die Sichtbarkeit, die mit der Datensicherheit einhergeht. Des wird durch die gezeigten Symbole dokumentiert.

Kardinalität (engl. multiplicity)
0 1 0…1 * 1…*
Kein genau 1 0 bis 1 0 bis viele 1 bis viele

Die Kardinalität bestimmt, zu welchen Objekten ein bestimmtes Objekt in Verbindung steht.

 

 

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

 

Tim Cook: Wie setzt Apple auf Datensicherheit

Im Januar 2021 nahm Apples CEO Tim Cook an der Konferenz für Datenschutz und Datensicherheit teil. Er sprach darüber, wie Apple die Daten seiner Kunden schützt und ungeht. Hören Sie diesen interessanten Beitrag. Hier können sich viele Unternehmen ein Beispiel nehmen.

Denn der sichere Umgang mit Kunden und dessen Daten ist ein beständig wichtiger Punkt. Der Kunde soll über die Nutzung selber entscheiden können und die Geräte und Software sollen das Bestreben des Kunden zur Datenminimierung unterstützen.

 

 

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

Eine weitere wichtige Rolle spielen die Beziehungen zwischen den Objekten, Klassen, der Sichtbarkeit und der Kardinalität. Diese wird im Artikel UML Klassendiagramm Symbole beschrieben.

 

AMD SOC auf Basis von ARM Prozessoren

Die Entwicklung von Prozessoren und Betriebssystemen ist einer fortlaufenden Änderung unterworfen. Die x86 Prozessoren von Intel stoßen auf immer neue Hemmnisse. Die Technologie bei der Produktion vieler Prozessoren von Intel liegt bei 14 nm. AMD stellt seine Ryzen x86  Prozessoren im 7 nm Prozess her. ARM RISC Prozessoren werden meist mit 5 nm Technologie gefertigt und Apple wird im nächsten Jahr seine M1 Prozessoren von 5 nm auf 4 nm umstellen. Die RISC Prozessoren sind leistungsfähig, effizienter und haben einen geringeren Energieverbrauch als die CISC Prozessoren von Intel.

In diesem Kontext tauchen immer wieder Information auf, dass AMD seine Ryzen Serie mit den x86 Prozessoren um ARM Prozessoren erweitert. Die K12 ARM CPU aus dem Jahr 2014 wurde von AMD weiterentwickelt und nun soll der erste SoC „AMD Ryzen C7“ heißen. Es würde der erste Prozessor der AMD Ryzen Mobile Platform sein.

AMD Ryzen Mobile Platform
AMD Ryzen Mobile Platform, Image Source: chiphell.com

Der SoC soll zwei  der neu spezifizierten Cortex-X1 Kernen mit 3,0 GHz und zwei Cortex A78 mit 2,6 GHz, sowie vier Cortex A55 Kerne mit 2,0 GHz enthalten. Eine Besonderheit soll die von AMD entwickelte GPU darstellen. Sie unterstützt Ray Racing, Sharing, 144 Hz Bildwiederhol Frequenz und HDR10+. Die Geschwindigkeit liegt um ca. 45% höher als bei der von ARM momentan käuflichen GPU Ardeno 650 mit Snapdragon 865. Damit bietet AMD Produzenten von Notebooks und weiteren mobilen Geräten einen leistungsfähigen Einstieg in die neuentwickelte Prozessor Technologie.

AMD Roadmap
AMD Roadmap 2017 – 2022 mit SKU Liste, Image Source: @KOMACHI_ENSAKA on Twitter

Sollte diese Prozessorreihe von den Geräteherstellern angenommen werden, dann wird sich daraus eine Erweiterung des Marktes ergeben. Denn Tests haben ergeben, dass Windows on ARM schneller läuft, als auf x86 Prozessoren.

Wird Intel nachziehen können, wo NVIDIA die Prozessorschmiede ARM gekauft hat?

Fazit:

Diese RISC Prozessoren mit 5 nm Technologie sind für mobile Geräte wie Notebooks, Tablets vorgesehen. Der SoC soll in etwa der gleichen Leistungsklasse wie der Apples M1 Prozessor liegen. Ein Grund mehr für Kunden auf stromsparende, kostengünstigere und leistungsfähigere Geräte umzusteigen. 

 

 

 

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.

 

 

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.

 

Abkehr von Intel Prozessoren durch Apple M1 und ARM

Intel kann seit längerer Zeit nicht mehr mit der Konkurrenten bei der Chip Herstellung mithalten. Apple, ARM und Huawei verkaufen Prozessoren, die leistungsfähiger als die Intel Prozessoren sind.

Intel stellt immer noch CISC Prozessoren mit 14 nm Strukturen her, wo die Konkurrenz auf RISC Prozessoren mit bis zu 5 nm Strukturen produziert. Durch die geringere Größe der Transistorfunktionen und Leiterbahnen sind die hergestellten Prozessoren nicht nur leistungsfähiger, sondern auch energieeffizienter.

So verlängert sich die Laufzeit der Apple MacBooks mit dem Apple Silicon M1 je nach Nutzung um fast 80%. Die CPU- sowie die Grafikleistung bei Apple Silicon M1 CPU steigt signifikant an. Da durch den geringeren Energieverbrauch auch weniger Abwärme entsteht, sind Geräte meist geräuschlos oder haben durch kleinere Kühler ein geringeres Gewicht.

Apple MacBook mit dem M1 Chip
Foto aus dem Apple News Room

Die Revolution findet aber nicht nur im Notebook und Desktop Segment statt. Mit dem Raspberry Pi 400 wird ein Einsteiger Computer mit Ubuntu Linux oder Raspberian OS angeboten. Der funktioniert mit einer ARM V8 CPU und dem Broadcom BCM2711 bei einer maximalen Leistungsaufnahme von 15 Watt ebenfalls herausragend, selbst bei passiver Kühlung.

Raspberry Pi 400 Mainboard
Aufbau des Mainboard bei heise.de zeigt, wie klein die ARM CPU ist

Foto Raspberry Pi 400 von heise.de
Der Computer ist in der Tastatur eingebaut

Fazit:

IT Innovationen werden nicht nur Informatiker, Fachinformatiker und Anwender beschäftigen, sondern durch Industrie 4.0 an immer mehr Plätzen in Unternehmen eingesetzt.

 

 

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.