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.

Beziehungen (engl. assosciaton)
blank blank Klassendiagramm Komposition blank
gerichtete Assoziation Assoziation Generalisierung Komposition Aggregation

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

Ihn 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.

Neue RISC Prozessor Generation v9 von ARM

RISC Prozessoren bei mobilen Geräten gibt es seit vielen Jahren. Wir befinden uns jetzt am Anfang des Wandels durch RISC Prozessoren bei Notebooks, PCs, Netzwerk Geräten und Servern. Apple hat mit dem M1 Prozessor gezeigt, wie leistungsfähig und gleichzeitig stromsparend diese Technologie funktioniert.  Bald wird die zweite Generation von hauseigenen Prozessoren nochmals zeigen, wie leistungsfähig die Apple Computer damit werden.

Lizenzierung und Produktion

ARM ist das Unternehmen, das eine leistungsfähige CPU Architektur für mobile Geräte entwickelt hat. Das Lizenzmodell lässt den Käufern dieser Architektur weite Bereiche an eigenen Entwicklungen zu. Zudem gibt es Unternehmen, die die Pläne von Unternehmen in tatsächliche Produkte wandeln. Dazu kommt, dass die Fabriken dieser Auftragsfertiger im Gegensatz zu Intel einen wesentlich höheren Produktions-Standard besitzen. So werden dort CPUs und weitere elektronische Bauteile in 4nm Technologie hergestellt, wo Intel immer noch die 14nm Technologie einsetzen muss.

So hat ARM mit der Version 9 seiner CPU Architektur optimale Voraussetzungen, um Marktanteile in den Bereichen Automotive, Computer, Smartphones, Tablets, Netzwerk Geräten und IoT zu gewinnen. ARM rechnet 100 Milliarden Geräten in den nächsten 5 Jahren, bei einer Gesamtproduktion von 300 Milliarden ARM basierenden Chips. Die hohe Anzahl ist neben dem Einsatz bei Computern auch dem Internet der Dinge (IoT) geschuldet. Denn immer mehr Geräte arbeiten computergesteuert und vernetzt.

Sicherheitsarchitektur bei ARM v9

Dabei hat ARM auch eine neue Sicherheitsarchitektur entwickelt. Die ARM Confidential Computer Architecture (CCA) schützt den ausführbaren Code und die Daten vor Zugriffen oder Veränderungen.

Performance der CPUs

Dabei wird bei den ersten neuen Version von einem Performance Gewinn von 30% ausgegangen. Dieser Zuwachs betrifft aber nur die Standardentwicklung. Da jeder Käufer den Aufbau der CPU ändern darf, ist mit höheren Systemleistungen zu rechnen. Zudem wird für die KI notwendige Unterstützung in die Hardware integriert.

Fazit:

Ampere Computing, Foxconn, NVIDIA, NXP, Volkswagen, Zoom, Raspberry Pi, Google, Microsoft und viele Weitere IT Unternehmen arbeiten als Partner von ARM. So werden in den nächsten Jahren viele leistungsfähige, energiesparende Produkte auf den Markt kommen.

Quelle:: https://www.arm.com/company/news/2021/03/arms-answer-to-the-future-of-ai-armv9-architecture

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.

 

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.