IoT, Big Data und BI

In der modernen Geschäftswelt nimmt die Bedeutung von Daten stetig zu. Insbesondere durch die Entwicklung des Internets der Dinge (IoT) hat sich das Potenzial zur Datenerfassung und -analyse erheblich erweitert. IoT-Geräte, von Sensoren in Fabriken bis hin zu smarten Geräten im Einzelhandel und Industrie, ermöglichen es Unternehmen, kontinuierlich Daten in Echtzeit zu sammeln. Diese Daten bieten wertvolle Einblicke in verschiedene Business Prozesse und können dazu beitragen, diese Prozesse zu optimieren, die Effizienz zu steigern und letztlich den Gewinn zu maximieren.

Nachdem die Daten von den IoT-Geräten erfasst wurden, müssen sie verarbeitet und für Analysen vorbereitet werden. Hier kommt der ETL-Prozess ins Spiel. ETL steht für „Extrahieren, Transformieren und Laden“ (Extract, Transform and Load).

Extrahieren

Im ersten Schritt werden die Daten aus den unterschiedlichsten Quellen gesammelt.

Transformieren

Anschließend werden diese Daten bereinigt, transformiert und in ein standardisiertes Format überführt.

Laden

Schließlich werden die transformierten Daten in ein Data Warehouse (DWH)  geladen. Das ist eine spezialisierte Datenbank, die dafür optimiert ist, große Mengen von Daten zu speichern und komplexe Abfragen effizient auszuführen.

 

Sobald die Daten im Data Warehouse liegen, können sie mit Analyse-Tools wie QlikView geladen werden. QlikView ist eine Business-Intelligence-Plattform, die es Nutzern ermöglicht, Daten zu visualisieren, Dashboards zu erstellen und durch Analyse tiefe Einblicke in ihre Daten zu gewinnen. Unternehmen können QlikView verwenden, um Muster und Trends in ihren Daten zu identifizieren, was letztlich zu fundierteren Entscheidungen und besseren Geschäftsergebnissen führt.

Fazit

Durch die Kombination von IoT-gewonnenen Daten, dem ETL-Prozess und Analyse-Tools wie QlikView können Unternehmen wertvolle Erkenntnisse aus ihren Daten ziehen und ihre Geschäftsprozesse kontinuierlich verbessern. Dieser Prozess bietet nicht nur eine verbesserte Effizienz, sondern auch die Möglichkeit, auf verändernde Marktbedingungen und Kundenbedürfnisse proaktiv zu reagieren.

 

 

Netzwerk Kabel mit metallischen Leitern

Netzwerkkabel

Netzwerkkabel spielen eine zentrale Rolle bei der Verbindung von Geräten in einem Computernetzwerk. Sie stellen sicher, dass Daten effizient und zuverlässig übertragen werden. Unter den verschiedenen Arten von Netzwerkkabeln sind STP (Shielded Twisted Pair) und UTP (Unshielded Twisted Pair) die gängigsten. Beide haben ähnliche Designs und bestehen aus gedrehten Kabelpaaren, unterscheiden sich jedoch in Bezug auf Abschirmung und EMI (elektromagnetische Interferenzen) Widerstandsfähigkeit.

In Deutschland ist der Einsatz von STP-Kabeln besonders weit verbreitet. Durch die zusätzliche Abschirmung der Kabel bieten sie einen besseren Schutz vor äußeren elektromagnetischen Störungen und sorgen für eine stabilere und zuverlässigere Datenübertragung. Besonders wichtig ist dies in Umgebungen mit hohem EMI-Aufkommen. Daher werden STP abgeschirmte Kabel oft in industriellen oder kommerziellen Umgebungen eingesetzt, wo diese Art von Störungen häufiger sind.

Im Vergleich dazu sind UTP-Kabel weniger anfällig für physische Schäden, weil sie technischer einfacher aufgebaut sind.  Dieser Kabeltyp ist flexibler und einfacher zu installieren.

Sowohl STP- als auch UTP-Kabel haben ihre spezifischen Vorzüge. Ihre Auswahl hängt von der spezifischen Netzwerkumgebung und den Anforderungen ab.

Tabelle von Netzwerkkabel Typen

Kat. Max. Frequenzbereich Geschwindigkeit Anwendungs-bereich Stecker
Cat 1 n/a Bis zu 1 Mbps Ältere Telefonleitungen RJ11
Cat 2 1 MHz Bis zu 4 Mbps Ältere Telefonleitungen und Netzwerke RJ11, RJ45
Cat 3 16 MHz Bis zu 10 Mbps Ältere Telefonleitungen und Netzwerke RJ45
Cat 4 20 MHz Bis zu 16 Mbps Ältere Netzwerke (Token Ring) RJ45
Cat 5 100 MHz Bis zu 100 Mbps Heim- und Büronetzwerke RJ45
Cat 5e 100 MHz Bis zu 1 Gbps Heim- und Büronetzwerke RJ45
Cat 6 250 MHz Bis zu 1 Gbps (10 Gbps bei kurzen Distanzen) Büronetzwerke, Rechenzentren RJ45
Cat 6a 500 MHz Bis zu 10 Gbps Rechenzentren, großflächige Netzwerke RJ45
Cat 7 600 MHz Bis zu 10 Gbps Rechenzentren, großflächige Netzwerke GG45, TERA
Cat 7a 1000 MHz Bis zu 10 Gbps Rechenzentren, großflächige Netzwerke GG45, TERA
Cat 8.1 2000 MHz Bis zu 40 Gbps Rechenzentren RJ45
Cat 8.2 2000 MHz Bis zu 40 Gbps Rechenzentren ARJ45

Alternativ kann eine Verkabelung mit Lichtwellenleitern durchgeführt werden.

 

 

 

 

Der ETL Prozess bei Big Data

ETL Prozess

Der ETL-Prozess ist eine Abkürzung für Extraktion, Transformation und Laden. Es ist ein wesentlicher Aspekt der Datenverwaltung und insbesondere der Verarbeitung von Daten bei Big Data.

Schaubild des ETL Prozesses

Er beginnt mit der Extraktion von Daten aus verschiedenen Quellen, die strukturiert, halbstrukturiert oder unstrukturiert sein können.

Nach der Extraktion werden die Daten transformiert, das heißt, sie werden gereinigt, bereinigt, validiert und in ein Format überführt, das von der Ziel-Datenbank gelesen werden kann. Dieser Schritt kann auch die Anreicherung von Daten mit zusätzlichen Informationen und die Durchführung komplexer Berechnungen beinhalten.

Schließlich werden die transformierten Daten in eine Zieldatenbank oder ein Data Warehouse geladen, wo sie für die Anwender im Intranet  zu Analyse- und Auswertungszwecken leicht zugänglich sind.

 

 

Agiles Projektmanagement mit Kanban

Kanban Logo

Kanban ist eine Methodik zur Optimierung von Arbeitsabläufen, die ursprünglich in der japanischen Automobilindustrie entwickelt wurde. Sie basiert auf dem Prinzip der visuellen Darstellung von Aufgaben, deren Status und Fortschritt, meist auf einem „Kanban-Board“. Dies hilft dabei, Engpässe zu identifizieren, die Arbeitslast zu regulieren und die Effizienz des Teams zu steigern

Wie funktioniert Kanban?

Ein Kanban-System ist ziemlich einfach aufgebaut. Es besteht normalerweise aus einem physischen oder digitalen Kanban-Board und darauf platzierten Kanban-Karten.

Kanban Tafel

Das Kanban-Board ist in mehrere Spalten unterteilt, die den unterschiedlichen Stadien des Arbeitsprozesses entsprechen. Die einfachste Form hat drei Spalten: „Zu erledigen“ (To Do), „In Arbeit“ (In Progress) und „Erledigt“ (Done).

Jede Aufgabe im Arbeitsprozess wird auf einer separaten Kanban-Karte dargestellt. Diese Karte enthält Informationen wie die Aufgabenbeschreibung, den verantwortlichen Mitarbeiter, das Startdatum und das Fälligkeitsdatum.

Wenn eine neue Aufgabe ansteht, wird sie als Karte in die „Zu erledigen„-Spalte eingefügt. Wenn jemand an der Aufgabe arbeitet, wird die Karte in die „In Arbeit„-Spalte verschoben. Sobald die Aufgabe abgeschlossen ist, wird die Karte in die „Erledigt„-Spalte verschoben.

Beispiel zur Nutzung von Kanban

Angenommen, Sie sind Teil eines Softwareentwicklungsteams. Die Kanbantafel des Teams könnte so aussehen:

Zu erledigen
1. Funktion zur Benutzeranmeldung erstellen
2. Datenbank für Benutzerinformationen einrichten
3. Design der Startseite entwerfen

In Arbeit
1. Backend für die Benutzeranmeldung entwickeln
2. Testen der Anmeldungs- und Abmeldefunktionen

Erledigt
1. Spezifikationen für die Anwendungsfälle erstellen
2. Entwurf des Anmeldeformulars

Jeder im Team kann den Status jeder Aufgabe auf der Kanbantafel sehen und so schnell erkennen, welche Aufgaben Priorität haben und wer gerade welche Aufgabe bearbeitet.

Die Grundregel des Kanban-Systems ist es, die Anzahl der gleichzeitig „in Arbeit“ befindlichen Aufgaben zu begrenzen. Diese Begrenzung wird als „Work in Progress“ (WIP) -Limit bezeichnet. Das hilft, Überlastung zu vermeiden und sicherzustellen, dass Aufgaben vollständig abgeschlossen werden, bevor neue Aufgaben in Angriff genommen werden.

Es können Engpässe während der Entwicklung schnell erkannt werden und dadurch können passende Gegenmaßnahmen zur Verbesserung umgesetzt werden.

Fazit

Der Einsatz von Kanban in der Softwareentwicklung bietet eine einfache, aber effektive Methode zur Visualisierung und Kontrolle des Arbeitsflusses. Es fördert Transparenz, Zusammenarbeit und unterstützt die kontinuierliche Verbesserung. Durch die Einführung von WIP-Limits kann Kanban dabei helfen, Multitasking zu vermeiden und die Produktivität zu steigern. Insgesamt kann Kanban wesentlich dazu beitragen, die Qualität der Softwareprodukte zu verbessern und die Entwicklungszeiten zu verkürzen.

 

 

Requirements Mangement

Requirements Management Logo

Die Anfänge des Requirements Managements lassen sich auf die 1970er Jahre zurück verfolgen. Die Komplexität der Systeme begann, handgeschriebene Dokumentation und einfache Verwaltungstechniken zu übersteigen. In den 1980er und 1990er Jahren wurden strukturierte Methoden wie die Objektorientierung und spezialisierte Tools entwickelt, um die Verwaltung von IT Anforderungen zu formalisieren und die Nachverfolgbarkeit zu verbessern. In jüngerer Zeit hat der Aufstieg von agilen Entwicklungspraktiken das Requirements Management weiterentwickelt. Es wird ein kontinuierlicher, iterativer Ansatz zur Anforderungserfassung und -anpassung unterstützt.  So kann einfacher auf Änderungen reagieren werden.

Was ist Requirements Management?

Requirements Management bezieht sich im Bereich der Softwareentwicklung auf das Verstehen, Dokumentieren, Verfolgen und Aktualisieren von Anforderungen (engl. requirements). Diese Anforderungen können funktionale oder nichtfunktionale Eigenschaften sein. Ein Softwareprodukt muss diese Anforderungen erfüllen, um den Wünschen der Auftraggeber und Stakeholder zu entsprechen.

Aufgaben des Requirements Management

  • Erfassung und Dokumentation von Anforderungen in einem verständlichen und messbaren Format
  • Priorisierung von Anforderungen basierend auf den Bedürfnissen der Stakeholder
  • Verfolgen von Änderungen in den Anforderungen während des gesamten Projektzyklus
  • Sicherstellung, dass alle Anforderungen während der Entwicklung und beim Testen berücksichtigt werden
  • Verwaltung von Kommunikation und Übereinstimmung zwischen den Stakeholdern hinsichtlich der Anforderungen

Fazit

Gutes Requirements Management und Kommunikation kann dazu beitragen Missverständnisse zu minimieren, sowie das Risiko von Fehlern zu reduzieren und die Qualität der Produkte zu verbessern.

 

 

Der private Adressenbereich bei IPv4

Das Internet entstand aus dem ARPAnet, das ein Produkt des kalten Krieges zwischen der Sowjetunion und den USA war. Es wurde in den 1960er Jahren von der Advanced Research Projects Agency, einer Abteilung des US-Verteidigungsministeriums, geschaffen. Es wurde ein dezentrales Netzwerk zur Übertragung von Daten mit Datenpaketen geschaffen.

1969 begannen vier Elite Universitäten – UCLA, Stanford, UC Santa Barbara und das University of Utah Research Institute das Arpanet aufzubauen – Sie wurden als die ersten Knotenpunkte des neuen Netzwerks. Die Verbindung zwischen diesen Knotenpunkten wurde mit speziell entwickelten Schnittstellen und Protokollen hergestellt.

Im Jahr 1990 wurde das ARPAnet außer Betrieb genommen, als das Internetprotokoll IPv4 eingeführt wurde und das Netzwerk in das öffentliche Internet integriert wurde.

Da die Anzahl der im Internet genutzten Geräte im Laufe der Jahre stark anstieg, erkannten die Experten, dass der Adressraum mit 32 Bit zu stark begrenzt ist. Jede Adresse im öffentlichen Internet darf nur einmal genutzt werden. Um die vielen Unternehmensnetze zu ermöglichen, wurde die  Technologie NAT (Network Address Translation) entwickelt und für die Netzwerk Klassen A bis C private Adressenpools definiert. Später wurde CIDR (Classless Inter-Domain Routing) eingeführt.

Welche privaten Adressenbereiche gibt es?

IPv4 reserviert bestimmte Adressbereiche für den privaten Gebrauch. Hier sind die drei private Adressbereiche von IPv4 mit Beispielen.

1. Private Adressbereich gemäß RFC 1918

      1. 10.0.0.0 bis 10.255.255.255 mit 224-2 Adressen pro Netz für Unternehmen mit großen Adressenbedarf
        Beispiel:
        Netzadresse 10.0.0.0
        IP Adresse 10.0.1.4
        Broadcast Adresse 10.255.255.255
        Subnetzmaske 255.0.0.0
      2. 172.16.0.0 bis 172.31.255.255 mit 216-2 Adressen pro Netz für Unternehmen mit mittleren Adressenbedarf
        Beispiel:
        Netzadresse 172.16.0.0
        IP Adresse 172.16.0.23
        Broadcast Adresse 172.16.255.255
        Subnetzmaske 255.255.0.0
      3. 192.168.0.0 bis 192.168.255.255 mit 28-2 pro Netz Adressen für Unternehmen mit geringen Adressenbedarf
        Beispiel:
        Netzadresse 192.168.3.0
        IP Adresse 192.168.3.120
        Broadcast Adresse 192.168.3.255
        Subnetzmaske 255.255.255.0

2. Link-Local Adressbereich gemäß RFC 3927
              169.254.0.0 bis 169.254.255.255 für die Übertragung von einer Adresse zu gleichzeitig mehreren Adressen

Aufbau der Netzwerk Adressierung

Angenommen, wir haben ein Netzwerk mit der IP-Adresse 192.168.3.21 und einer Subnetzmaske von 255.255.255.0.

In diesem Fall ist die IP-Adresse 192.168.3.0 die Netzadresse, also die Adresse des vorliegenden Netzwerks.

IP-Adressen werden verwendet, um einzelne Geräte in einem Netzwerk zu identifizieren. Jedes Gerät in einem Netzwerk hat eine eindeutige IP-Adresse, wie zum Beispiel 192.168.3.1 oder 192.168.3.21.

Die Subnetzmaske gibt an, welcher Teil der IP-Adresse die Netzwerkadresse ist und welcher Teil für die Identifizierung der einzelnen Geräte im vorliegenden Netz verwendet wird. In diesem Fall ist die Subnetzmaske 255.255.255.0, was bedeutet, dass die ersten drei Zahlenblöcke (192.168.3) die Netzwerkadresse sind und der letzte Zahlenblock (0) für die Identifizierung der Geräte im Host verwendet wird.

Die Broadcast-Adresse ist die höchste Adresse in einem Netzwerk und wird verwendet, um Daten gleichzeitig an alle Geräte im Netzwerk zu senden. In unserem Beispiel wäre die Broadcast-Adresse 192.168.3.255. Wenn also ein Gerät eine Nachricht an alle anderen Geräte im Netzwerk senden möchte und die genaue IP-Adresse nicht kennt, würde es diese Adresse als Zieladresse verwenden.

Einsatzbereich der privaten IP-Adressen

Diese Adressbereiche sind für den privaten Gebrauch in lokalen Netzwerken vorgesehen. Sie können durch NAT beliebig oft in Netzen genutzt werden und werden nicht im Internet geroutet. Sie ermöglichen es vielen Organisationen jeweils eigene IP-Adressen in ihren Netzwerken zu verwenden, ohne mit öffentlichen Adressen zu kollidieren.

 

 

Internet der Dinge oder IoT, was ist das?

IoT steht für das Internet der Dinge (Internet of Things). Es bezieht sich auf das Konzept, dass physische Objekte und Geräte miteinander und mit dem Internet verbunden sind. Die Geräte sind in der Lage, Daten auszutauschen und miteinander zu kommunizieren.

Im IoT werden Objekte und Geräte mit Sensoren ausgestattet, die Daten über ihre Umgebung, ihren Zustand oder ihre Leistungsfähigkeit erfassen können. Diese Daten werden dann über Netzwerkverbindungen, wie z. B. drahtlose oder kabelgebundene Verbindungen, an andere Geräte, Systeme oder Cloud-Plattformen übertragen. Dort werden die Daten verarbeitet, analysiert und genutzt, um Erkenntnisse zu gewinnen, Aktionen auszulösen oder Entscheidungen zu treffen.

Durch das IoT werden verschiedene Bereiche des täglichen Lebens und der Industrie transformiert.

IoT Industrie

Beispiele für IoT-Anwendungen im Smart Home

Das Internet der Dinge bietet eine breite Palette von Einsatzmöglichkeiten im smarten Zuhause, in dem vernetzte Geräte und Systeme zu einem intelligenten und automatisierten Wohnraum führen.

1. Hausautomatisierung durch Steuerung, Vernetzung und Sensorik

IoT ermöglicht die Steuerung verschiedener Aspekte des Hauses, einschließlich Beleuchtung, Heizung, Klimatisierung und Sicherheitssysteme. Durch vernetzte Geräte und Sensoren können Benutzer diese Systeme fernsteuern und automatisierte Zeitpläne oder Szenarien erstellen, um Energie zu sparen und den Komfort zu verbessern.

2. Energieeffizienz erhöhen

Durch das Internet der Dinge wird der Energieverbrauch im Smart Home optimiert. Durch Sensoren und intelligente Thermostate können Heizung und Kühlung automatisch an anwesende Personen oder wechselnde Umgebungsbedingungen angepasst werden. Basierend auf Bewegungserkennung und Tageslichtstärke steuern smarte Beleuchtungssysteme die Beleuchtung. Dadurch können Energieeinsparungen erzielt werden.

3. Überwachung ermöglichen

IoT-basierte Sicherheitssysteme ermöglichen die Fernüberwachung des Hauses. Durch vernetzte Kameras, Bewegungsmelder und Tür- und Fenstersensoren erhalten Benutzer Benachrichtigungen bei verdächtigen Aktivitäten. Zugriffskontrollen und Gebäude können auch von Dritten überwacht werden.

4. Haushaltsgeräte und Haushaltsmanagement optimieren

Vernetzte Haushaltsgeräte wie intelligente Kühlschränke, Waschmaschinen oder Staubsaugerroboter können mit dem Internet verbunden werden. Benutzer können diese Geräte über ihre Smartphones steuern, den Betriebsstatus überwachen oder Benachrichtigungen über beendete Aufgaben erhalten. IoT-fähige Geräte können auch die Verbrauchsdaten sammeln, um Ressourcen zu optimieren und die Wartung anmelden.

5. Gesundheits- und Wohlbefinden erhöhen

IoT kann auch bei der Überwachung der Gesundheit und des Wohlbefindens von Personen helfen. Wearables wie Smartwatches oder Fitnesstracker können Daten, wie Herzfrequenz oder Schlafverhalten, sammeln und an das Smart Home-System senden. Dies ermöglicht die Anpassung von Beleuchtung, Temperatur oder Musik, um eine angenehme Atmosphäre zu schaffen.

Diese Einsatzmöglichkeiten zeigen, wie IoT die Funktionalität und den Komfort im Smart Home verbessern kann. Durch die Vernetzung von Geräten und die Integration von Automatisierung und intelligenten Funktionen können Benutzer Energie sparen, die Sicherheit erhöhen und den Wohnkomfort steigern. Es zeigt aber auch, die Gefahren, die George Orwell in seinem berühmten Buch 1984  und Aldous Huxley in Schöne Neue Welt beschrieben haben.

Das Internet der Dinge im Kontext der smarten Fabriken

Das IoT spielt eine entscheidende Rolle bei der Umsetzung von Smart Factories, auch bekannt als Industrie 4.0. Dazu einige Beispiel des IoT in Smart Factories.

1. Überwachung und Steuerung von Anlagen

Durch die Integration von Sensoren in Maschinen und Anlagen können Echtzeitdaten über deren Zustand und Leistung gesammelt werden. Das ermöglicht eine kontinuierliche Überwachung, Fehlererkennung und präventive Wartung. Es ermöglicht die automatisierte Fernüberwachung und -steuerung von Maschinen, was die Effizienz verbessert und Ausfallzeiten reduziert.

2. Lagerbestandsverwaltung automatisieren

Mit Kameras und Sensoren können Lagerbestände automatisch überwacht und verfolgt werden. Dies ermöglicht eine präzise Bestandsverwaltung, eine automatische Nachbestellung bei Bedarf, sowie die Optimierung des Lagerlayouts und der Materialflüsse.

3. Supply Chain Management optimieren und überwachen

Die Transparenz und Effizienz in von Lieferketten werden mit IoT weiter verbessert. Sensoren können mit RFID den Standort von Produkten oder Komponenten verfolgen. Die Temperatur und Feuchtigkeit während des Transports werden mit Sensoren überwacht und liefern Echtzeitinformationen über den Lieferstatus und die Qualität. Dadurch können Schäden, Engpässe oder Verzögerungen frühzeitig erkannt und Maßnahmen ergriffen werden.

4. Qualitätskontrolle durch Überwachung und Steuerung

IoT-Sensoren werden in Fertigungsprozessen eingesetzt, um die Qualität zu überwachen und steuern. Durch die Echtzeitüberwachung können Abweichungen von der Spezifikation sofort erkannt werden.

5. Effizienz und Sicherheit verbessern

Das Internet der Dinge unterstützt bei der Sicherheit am Arbeitsplatz und steigert die Effizienz der Arbeitskräfte. Zum Beispiel können vernetzte Sensoren in Echtzeit Informationen über die Arbeitsbedingungen liefern, um potenzielle Gefahren zu erkennen und rechtzeitig Maßnahmen zu ergreifen. Wearables und vernetzte Geräte können die Zusammenarbeit und Kommunikation zwischen den Mitarbeitern verbessern.

Vorteile des IoT

Die Vorteile des IoT liegen in der Möglichkeit, umfassende Daten aus der physischen Welt zu sammeln und zu nutzen, um fundierte Entscheidungen zu treffen, Effizienz zu steigern, Kosten zu senken, neue Dienstleistungen zu entwickeln und das tägliche Leben zu verbessern.

Nachteile von IoT

Nachteile durch IoT sind noch zu lösende Probleme, wie die Sicherheit und den Datenschutz der gesammelten Daten. Auch die Wartungs- und Updatemöglichkeit bei kostengünstigen IoT Geräten, sowie bei der Interoperabilität und Skalierbarkeit von IoT-Systemen sind teilweise ungelöst.

Fazit

Die Einsatzmöglichkeiten des Internet der Dinge in smarten Fabriken zeigen, wie die Flexibilität und Anpassungsfähigkeit in der Fertigung verbessern kann. Durch die Integration von IoT in die industrielle Automatisierung können Unternehmen Wettbewerbsvorteile erzielen und auf die sich ändernden Anforderungen des Marktes reagieren. Es gibt aber wachsende ungelöste Probleme, auf die bereits George Orwell in seinem Buch 1984  und Aldous Huxley in Schöne Neue Welt und viele weitere Autoren hingewiesen haben.

 

siehe auch Smart City NEOM

 

CSV zum Austausch von Daten nutzen

Komma-separierte Werte (CSV heißt Comma Separated Value) sind ein lange genutztes und weit verbreitetes Datenformat, das zum Austausch von Daten zwischen verschiedenen Systemen verwendet wird. CSV ist besonders nützlich, wenn es darum geht, strukturierte Daten in einer einfachen, menschenlesbaren Form zu speichern und zu übertragen.

Was ist CSV?

CSV ist ein Dateiformat, das verwendet wird, um Tabellendaten zu speichern. Es besteht aus Zeilen und Spalten, wobei jede Zeile eine Datensatz darstellt und die Spalten die verschiedenen Datenfelder enthalten. Die Werte innerhalb der Spalten werden durch ein Trennzeichen, normalerweise ein Komma, voneinander getrennt. Dadurch entsteht eine einfache Struktur, die leicht zu lesen und zu verarbeiten ist.

Beispiel mit Trennzeichen und Feldnamen

Angenommen, wir haben eine einfache Tabelle mit den Namen von Personen und ihren zugehörigen E-Mail-Adressen. Dazu stehen in der ersten Zeile die Feldnamen. Hier ist ein Beispiel für CSV mit Trennzeichen und Feldnamen:

```
Name, Ort
Max Meier, Erlangen
Gerda Gruber, Frankfurt
```

In diesem Beispiel sind „Name“ und „Ort“ die Spaltenüberschriften, während „Max Meier“ und „Erlangen“ die Daten in der ersten Zeile darstellen. Jede weitere Zeile enthält ähnliche Datensätze. Das Trennzeichen ist hier das Komma und es trennt die einzelnen Werte. Es kann statt dessen auch ein anderes Trennzeichen wie das Semikolon (;) oder das Pipe (|) verwendet werden.

Beispiel ohne Trennzeichen und mit Qualifier

In einigen Fällen kann es vorkommen, dass die CSV-Datei keine expliziten Trennzeichen enthält. Stattdessen werden die Werte einfach durch die Positionierung getrennt. Hier ist ein Beispiel für CSV ohne Trennzeichen, aber mit Qualifier:

```
"Name"         "Ort"
"Max Meier"    "Erlangen"
"Gerda Gruber" "Frankfurt"
```

In diesem Fall werden die Werte durch ihre Position in der Zeile getrennt. Der erste Wert „Max Meier“ gehört zur Spalte „Name“, während „Erlangen“ zur Spalte „Ort“ gehört. Die Trennung erfolgt hier implizit durch die Anzahl der Zeichen zwischen den Werten. Der Qualifier („) wird hier genutzt, damit die zusammengehörenden 2 Worte im Feld Namen als ein Wert erkannt werden.

Vorteile von CSV

CSV bietet mehrere Vorteile, die es zu einem beliebten Format machen. Erstens ist es einfach zu erstellen und zu lesen, da es sich um eine Textdatei handelt. Zweitens kann CSV von den meisten Tabellenkalkulations-programmen und Datenbanken problemlos importiert und exportiert werden. Es ist auch sprachenunabhängig, was bedeutet, dass es von verschiedenen Programmiersprachen unterstützt wird. Darüber hinaus ist CSV effizient in Bezug auf Dateigröße und erfordert weniger Speicherplatz im Vergleich zu anderen Formaten wie XML oder JSON.

Fazit

Komma-separierte Werte sind ein vielseitiges Datenformat, das in vielen Anwendungen weit verbreitet ist. Sie bieten eine einfache Möglichkeit, Tabellendaten zu speichern und auszutauschen. Sowohl CSV mit als auch ohne Separator können verwendet werden, je nach den Anforderungen der Datenverarbeitung.

Primär-, Sekundär- und Tertiärverkabelung bei Netzwerken

In der Netzwerktechnik werden häufig die Begriffe Primärverkabelung, Sekundärverkabelung und Tertiärverkabelung verwendet, um verschiedene Aspekte der Verkabelungsinfrastruktur zu beschreiben. Dazu ein Vergleich der Primär-, Sekundär- und Tertiärverkabelung.

blankVerkabelung von Netzen

Beschreibung:
SV = Standortverteiler
GV = Gebäudeverteiler
EV = Etagenverteiler

Primärverkabelung

  • Die Primärverkabelung umfasst die Hauptverkabelung eines Gebäudes oder Campus. Sie stellt die grundlegende Infrastruktur für die Netzwerkkonnektivität bereit und verbindet den zentralen Netzwerkbereich, wie beispielsweise das Rechenzentrum oder den Serverraum, mit den verschiedenen Endpunkten im Gebäude.
  • Die Primärverkabelung folgt üblicherweise bestimmten Standards wie zum Beispiel bei Ethernet mit metallischen Leitern (mit Cat5e, Cat6, Cat6a oder Cat7) oder Glasfaser (Singlemode, Multimode oder Monomode), um eine zuverlässige und leistungsfähige Übertragung von Daten zu gewährleisten.
  • Die Primärverkabelung kann mehrere Hunderte von Metern bis zu mehreren Kilometern umfassen, je nach den Anforderungen des Netzwerks und der Größe des Gebäudes oder Campus. Je nach Länge können dabei Repeater zur Signalverstärkung eingesetzt werden.

Sekundärverkabelung

  • Die Sekundärverkabelung bezieht sich auf die Verkabelung innerhalb eines bestimmten Bereichs oder Raums, wie beispielsweise Büros, Arbeitsbereiche oder einzelne Etagen. Sie stellt die Verbindung zwischen der Primärverkabelung und den Endgeräten, wie Computern, Telefonen oder Druckern, her.
  • Die Sekundärverkabelung folgt in der Regel den gleichen Standards wie die Primärverkabelung, um eine nahtlose Konnektivität innerhalb des betreffenden Bereichs zu gewährleisten.
  • Die Länge der Sekundärverkabelung ist normalerweise begrenzt und kann je nach den räumlichen Gegebenheiten und Anforderungen variieren, typischerweise im Bereich von einigen Metern bis mehr als einhundert Meter.

Tertiärverkabelung

  • Die Tertiärverkabelung bezieht sich auf die Verkabelung auf einer sehr lokalen Ebene, wie z. B. Verbindungen zwischen einzelnen Anschlüssen wie Patchdosen und Geräten innerhalb eines Arbeitsbereichs. Sie umfasst in der Regel Patchkabel, Steckverbinder und Verteiler, um eine flexible Verbindung zwischen Endgeräten zu ermöglichen.
  • Die Tertiärverkabelung kann die gleichen Standards wie die Primär- und Sekundärverkabelung verwenden oder spezielle Kabeltypen für kurze Strecken und Flexibilität aufweisen, wie z. B. RJ45-Patchkabel oder optische Patchkabel.
  • Die Länge der Tertiärverkabelung ist normalerweise sehr kurz, typischerweise im Bereich von wenigen Metern bis mehr als einhundert Meter, um die direkte Verbindung zwischen den Endgeräten herzustellen.

 

Der Blackbox Test und der Whitebox Test

Der Blackbox-Test und der Whitebox-Test dienen dazu, die Qualität und Zuverlässigkeit von Software- und Systemlösungen sicherzustellen. Die Tests decken verschiedene Aspekte wie Funktionalität, Benutzerfreundlichkeit, Zuverlässigkeit und Sicherheit ab. Sie werden von Anwendungsentwicklern, Systemintegratoren und weiteren Berufen in der IT Sparte eingesetzt.

Der Blackbox Test

Der Blackbox-Test wird auch manchmal als Black-Box-Test beschrieben und ist ein Testverfahren, bei dem die interne Struktur oder das Design des zu testenden Systems nicht bekannt ist oder nicht berücksichtigt wird. Der Tester betrachtet das System als eine „Blackbox“, bei der er nur die Eingaben (Input) und die Ausgaben (Output) kennt. Der Fokus liegt auf der Überprüfung der funktionalen Anforderungen des Systems, wie z. B. ob es die erwarteten Ergebnisse liefert und ob es korrekt mit verschiedenen Eingabeparametern umgeht. Der Tester kann verschiedene Techniken wie Äquivalenzklassenbildung, Grenzwertanalyse, Zustandsübergangstests und zufällige Tests verwenden, um die Wirksamkeit des Systems zu überprüfen. Der Blackbox-Test ermöglicht es, das System aus Sicht des Endbenutzers zu bewerten und kann unabhängig von der internen Implementierung des Systems durchgeführt werden.

Vorteile des Blackbox-Tests

  • Der Blackbox-Test stellt sicher, dass das System den Anforderungen und Erwartungen der Benutzer entspricht.
  • Der Blackbox-Test kann unabhängig von der internen Implementierung durchgeführt werden.
  • Durch den Blackbox-Test können Muster von Fehlern und unerwartetem Verhalten erkannt werden.

Nachteile des Blackbox-Tests

  • Der Blackbox-Test kann bestimmte interne Codepfade oder -bereiche nicht ausreichend testen.
  • Die Ursache von Fehlern kann aufgrund fehlenden Zugangs zur internen Implementierung schwierig zu identifizieren sein.
  • Der Blackbox-Test bezieht sich nicht auf die interne Effizienz oder Optimierung des Codes.

Der Whitebox Test

Der Whitebox-Test wird manchmal als White-Box-Test beschrieben und ist ein Testverfahren, bei dem der Tester Einblick in die interne Struktur, sowie in das Design des zu testenden Systems hat. Der Tester analysiert den Quellcode, die Algorithmen, die Datenstrukturen und andere technische Aspekte des Systems, um Tests zu erstellen, die auf diesen Informationen basieren. Der Whitebox-Test konzentriert sich sowohl auf die Überprüfung der funktionalen Anforderungen als auch auf die strukturelle Abdeckung des Codes. Es werden Techniken wie Pfadabdeckung, Anweisungsabdeckung, Zweigabdeckung und Bedingungsabdeckung verwendet, um sicherzustellen, dass alle möglichen Pfade und Szenarien im Code getestet werden. Der Whitebox-Test wird oft von Entwicklern durchgeführt, um sicherzustellen, dass der Code richtig implementiert ist und potenzielle Fehler und Schwachstellen identifiziert werden.

Vorteile des Whitebox-Tests

  • Der Whitebox-Test ermöglicht eine detaillierte Überprüfung des Codes und identifiziert potenzielle Fehler auf algorithmischer oder struktureller Ebene.
  • Durch den direkten Zugriff auf den Quellcode kann der Whitebox-Test eine umfassende Abdeckung der Code-Pfade und Szenarien erreichen.
  • Der Whitebox-Test ermöglicht es, ineffiziente Codebereiche zu erkennen und zu optimieren, um die Gesamtleistung des Systems zu verbessern.

Nachteile des Whitebox-Tests

  • Der Whitebox-Test erfordert Kenntnisse über die interne Implementierung, was zu Einschränkungen führen kann, wenn der Quellcode nicht verfügbar oder komplex ist.
  • Der Whitebox-Test fokussiert sich stark auf die interne Logik und kann die Perspektive eines Endbenutzers oder externe Schnittstellen möglicherweise nicht vollständig berücksichtigen.
  • Der Whitebox-Test erfordert tiefgreifende Kenntnisse der internen Struktur und erfordert mehr Zeit und Ressourcen im Vergleich zum Blackbox-Test.

Fazit

Der Blackbox-Test ermöglicht eine unabhängige Bewertung der funktionalen Anforderungen aus Benutzersicht, während der Whitebox-Test eine detaillierte Überprüfung der internen Implementierung und eine umfassendere Testabdeckung bietet. Beide Testarten sind wichtige Bestandteile der Qualitätssicherung.

 

 

Die Projektphasen bei PRINCE2 Projektmanagement

PRINCE2 wurde vom britischen Office of Government Commerce (OGC) entwickelt, um Projektmanagement-Methoden zu standardisieren und zu verbessern. Inzwischen ist PRINCE2 weltweit anerkannt und wird von vielen Organisationen angewendet. Seit 2013 wird die Weiterentwicklung von PRINCE2 vom AXELOS-Verlag durchgeführt, der auch andere Best-Practice-Methoden wie ITIL und RESILIA herausgibt. AXELOS arbeitet eng mit Experten und Praktikern aus der Projektmanagement-Community zusammen, um PRINCE2 kontinuierlich an die Bedürfnisse der Branche anzupassen und zu verbessern. Dazu gibt es Zertifizierungen.

Die Phasen von PRINCE2-Projekten lassen sich auch wie folgt beschreiben:

Vor dem Projekt

In dieser Phase wird eine Idee oder ein Bedarf für ein Projekt identifiziert und eine Vorstudie durchgeführt, um zu klären, ob das Projekt durchgeführt werden soll oder nicht. Es werden die Projektziele definiert, der Umfang abgegrenzt und erste Annahmen und Risiken erfasst. Auch werden erste Schritte unternommen, um die Finanzierung und die Ressourcen für das Projekt sicherzustellen.

Initiierungsphase

In dieser Phase werden die Planung und Organisation des Projekts detailliert ausgearbeitet. Der Projektleiter wird ernannt und die Projektorganisation wird aufgestellt. Es wird ein Projektplan erstellt, der die Ziele, die Meilensteine, die Abhängigkeiten, die Risiken, die Qualitätssicherungsmaßnahmen und den Business Case enthält. Ebenfalls wird ein Projektteam zusammengestellt und es werden Ressourcen und Budgets zugewiesen.

Lenkungs- und Steuerungsphase

In dieser Phase wird das Projektmanagement durchgeführt. Der Projektfortschritt wird überwacht, Abweichungen werden erkannt und korrigiert. Die Qualität des Projektergebnisses wird sichergestellt, indem die Qualitätssicherungsmaßnahmen umgesetzt und kontrolliert werden. Ebenfalls werden Risiken und Änderungen im Projektumfeld erkannt und behandelt. Der Projektstatus wird laufend dokumentiert und an die Stakeholder kommuniziert.

Produktlieferungsphase

In dieser Phase werden die Produkte, die im Projekt erstellt wurden, geliefert und getestet. Dabei wird überprüft, ob die Produkte den Anforderungen entsprechen und die Qualitätsstandards erfüllen. Die Produkte werden dokumentiert und an den Kunden oder Nutzer übergeben.

Jede Phase endet mit einer Bewertung, ob das Projekt im Sinne der Zielsetzung erfolgreich fortgesetzt werden kann oder ob es angepasst oder gar abgebrochen werden muss. Diese Überprüfungen und Bewertungen dienen dazu, die Planung und Steuerung des Projekts zu optimieren und somit einen effektiven und effizienten Projektablauf zu gewährleisten.

Das Ausnahmeprinzip

Ein weiterer wichtiger Punkt ist das Ausnahmeprinzip von PRINCE2. Es besagt, dass der Projektleiter befugt ist, Entscheidungen zu treffen und Handlungen durchzuführen, solange sie im Einklang mit dem Projektplan und den Projektzielen stehen. Nur bei Abweichungen oder Ausnahmen von diesem Plan muss der Projektleiter die höheren Managementebenen informieren und um Genehmigung bitten.

Fazit

PRINCE2 ist ein sehr ausgereifte und vielfältig einsetzbare Projektmanagementmethode. Sie wird in mehr als 150 Ländern der Erde eingesetzt. Es gibt die klassische Projektmanagement Variante PRINCE2 und die agile Variante PRINCE2 Agile.

Normalisierung bei relationalen Datenbanken

Für die Nutzung und Wartung eines relationalen Datenbanksystems (DBS) sind sauber strukturierte Daten von Vorteil.

Denn bei der Nutzung können Schwächen, also Anomalien auftreten, die es zu verhindern gilt. Das wären zum Beispiel

  • Die Einfügeanomalie tritt auf, wenn es aufgrund von fehlenden Attributwerten nicht möglich ist, neue Daten in die Tabelle einzufügen.
  • Die Änderungsanomalie tritt auf, wenn Änderungen an einem Attributwert in einer Zeile zu Inkonsistenzen in anderen Zeilen führen.
  • Die Löschungsanomalie tritt auf, wenn das Löschen von Daten in einer Tabelle versehentlich auch andere, relevante Daten löscht oder wenn das Löschen von Daten zu einer fehlenden Information führt.

Um die oben genannten Anomalien zu verhindern, wird der Normalisierungsprozess eingesetzt.

Normalisierung der 1. Normalform

Eine Relation ist in der 1. Normalform, wenn jeder Wert in jeder Spalte des Tabellenentwurfs atomar ist, d.h. keine mehrwertigen Attribute enthält. Es dürfen also keine Spalten mit mehreren Werten in einer Zeile vorhanden sein.

Normalisierung der 2. Normalform

Eine Relation ist in der 2. Normalform, wenn sie bereits in der 1. Normalform ist und kein Teil der Primärschlüssel-Funktionsabhängigkeit von einer Teilmenge der Attribute abhängt. Das bedeutet, dass jede Nichtschlüssel-Spalte von der gesamten Primärschlüssel abhängt, nicht von einem Teil davon.

Normalisierung der 3. Normalform

Eine Relation ist in der 3. Normalform, wenn sie bereits in der 2. Normalform ist und keine transitive Abhängigkeiten existieren. Das bedeutet, dass eine Nichtschlüsselspalte nicht von einer anderen Nichtschlüsselspalte abhängen kann, sondern nur von der Primärschlüsselspalte.

Die Normalformen sind wichtig, um Datenredundanz und -inkonsistenzen zu vermeiden und die Datenkonsistenz und -integrität sicherzustellen.

Beispiel zur Normalisierung

Angenommen, wir haben eine Tabelle „Studenten“ mit den folgenden Spalten:

  • Matrikelnummer (Primärschlüssel)
  • Name
  • Geburtsdatum
  • Studienfach
  • Modul1-Name
  • Modul1-Note
  • Modul2-Name
  • Modul2-Note
  • Modul3-Name
  • Modul3-Note

Diese Tabelle ist nicht in der 1. Normalform, da die Spalten „Modul1-Name“, „Modul1-Note“, „Modul2-Name“, „Modul2-Note“, „Modul3-Name“ und „Modul3-Note“ mehrwertige Attribute enthalten. Wir können die Tabelle in zwei separate Tabellen aufteilen: eine für die Studenteninformationen und eine für die Modulinformationen.

  • Tabelle „Studenten“ (Primärschlüssel: Matrikelnummer)
    • Matrikelnummer (Primärschlüssel)
    • Name
    • Geburtsdatum
    • Studienfach
  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Matrikelnummer (Fremdschlüssel)
    • Modul-Name
    • Modul-Note

Jetzt befindet sich die Tabelle „Studenten“ in der 1. Normalform, da alle Spalten atomar sind. Die Tabelle „Module“ ist in der 2. Normalform, da alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID“ abhängig sind.

Die Tabelle „Module“ ist jedoch noch nicht in der 3. Normalform, da die Spalte „Modul-Name“ und „Modul-Note“ von der Teilmenge der Spalte „Modul-ID“ und „Matrikelnummer“ abhängen, anstatt von der gesamten Primärschlüsselspalte „Modul-ID“ abhängig zu sein. Wir können die Tabelle erneut aufteilen:

  • Tabelle „Module“ (Primärschlüssel: Modul-ID, Fremdschlüssel: Matrikelnummer)
    • Modul-ID (Primärschlüssel)
    • Modul-Name
  • Tabelle „Noten“ (Primärschlüssel: Modul-ID, Matrikelnummer)
    • Modul-ID (Primärschlüssel, Fremdschlüssel)
    • Matrikelnummer (Primärschlüssel, Fremdschlüssel)
    • Modul-Note

Jetzt hängen alle Nichtschlüsselspalten von der gesamten Primärschlüssel-Spalte „Modul-ID, Matrikelnummer“ ab, und die Tabelle „Module“ und „Noten“ befinden sich in der 3. Normalform.

 

 

Die Kardinalität bei dem ER Modell mit SQL

Bei der Entwicklung mit dem ER- Modell ist nicht ersichtlich, in welcher Beziehung die Entitäten stehen. Die (min, max)-Notation wird genutzt, um die Beziehungen zwischen Entitäten zu definieren. Die Notation gibt an, wie viele Instanzen einer Entität in Beziehung zu einer bestimmten Anzahl von Instanzen einer anderen Entität stehen können.

  • Die „min“ – Zahl gibt an, wie viele minimale Instanzen einer Entität in Beziehung zu einer anderen Entität stehen müssen.
  • Die „max“ – Zahl gibt an, wie viele maximale Instanzen einer Entität in Beziehung zu einer anderen Entität stehen können.

Die 1:1 Kardinalität bedeutet beispielsweise, dass es nur eine Instanz der Entität auf der einen Seite und eine Instanz der Entität auf der anderen Seite geben kann.

Die 0:1 Kardinalität bedeutet hingegen, dass es eine oder keine Instanz einer Entität auf der einen Seite geben kann, aber maximal eine Instanz auf der anderen Seite.

Die 1:n Kardinalität beschreibt eine Beziehung zwischen Entitäten, bei der eine Instanz einer Entität mit vielen Instanzen einer anderen Entität in Beziehung steht. Dies wird oft durch die Verwendung von Fremdschlüsseln realisiert, die auf den Primärschlüssel der anderen Entität verweisen.

Die n:m Kardinalität beschreibt eine Beziehung zwischen Entitäten, bei der viele Instanzen einer Entität mit vielen Instanzen einer anderen Entität in Beziehung stehen. Die Beziehung wird über eine Zuordnungstabelle (Zwischentabelle) realisiert, die eine Verbindung zwischen den beiden Entitäten herstellt.

Die Kardinalität der (min, max) – Notation ist ein wichtiger Aspekt bei der Datenmodellierung, da sie die Beziehungen zwischen den Entitäten genau beschreibt. Sie hilft bei der Identifizierung von Datenintegritätsproblemen, indem sie sicherstellt, dass die Daten in einer bestimmten Beziehung konsistent bleiben.

Es ist wichtig zu beachten, dass die (min, max) – Notation nicht immer ausreichend ist, um komplexe Beziehungen zwischen Entitäten zu beschreiben. In solchen Fällen können zusätzliche Regeln und Einschränkungen erforderlich sein, um sicherzustellen, dass die Daten konsistent und korrekt sind. Sie hilft bei der Identifizierung von Integritätsproblemen von Daten und stellt sicher, dass die Daten in einer bestimmten Beziehung konsistent bleiben.

 

Übersicht der Elemente beim ER Modell

Das ER-Modell (Entity-Relationship-Modell) ist eine Methode zur Modellierung von Datenbanken. Es besteht aus drei Grundkonzepten: Entitäten (Objekte), Beziehungen (Verbindungen zwischen Objekten) und Attributen (Eigenschaften von Objekten).

Das ER-Modell hilft bei der klaren und einheitlichen Darstellung von Datenbankstrukturen und unterstützt bei der Planung, Umsetzung und Wartung von Datenbanken.

Entität Eine Entität ist ein Ding oder Objekt der realen Welt.
Attribut Attribute sind Eigenschaften von Entitäten und besitzen einen Wert.
Primärschlüssel Attribute sind durch die Unterstreichung  als Primärschlüssel gekennzeichnet.
Beziehung Beziehungen zeigen die Kommunikation und Abhängigkeiten von Entitäten auf.
Ist-ein oder Is-a Die Ist-ein oder Is-a Beziehung entspricht einer Generalisierung oder Verallgemeinerung. Zum Beispiel ist ein Fahrzeug ein PKW oder ein Motorrad.
Teil-von oder Part-of Die Teil-von oder Part-of Beziehung entspricht einer Aggregation. Zum Beispiel besteht ein Smartphone aus einem Akku, einem Display …

Besonderheit bei der Ist-ein oder Is-a Beziehungen

Disjunkt

Wenn sich zwei Entitätsmengen in der Datenbank nicht überlappen, wird dies „disjunkt“bezeichnet. Das heißt, es gibt keine Entitäten, die gleichzeitig in beiden Entitätsmengen vorkommen.

Nicht Disjunkt

„Nicht disjunkt“ hingegen bedeutet, dass sich zwei Entitätsmengen in der Datenbank überlappen können. Das bedeutet, dass es Entitäten geben kann, die in beiden Entitätsmengen vorkommen können.

Total

Eine „totale“ Beteiligung bedeutet, dass jede Entität in einer Entitätsmenge an einer Beziehung teilnehmen muss. Mit anderen Worten, eine Entität in der Entitätsmenge kann nicht existieren, ohne an der Beziehung teilzunehmen. Es gibt also keine weiteren Teilmengen.

Partiell

Eine „partielle“ Beteiligung bedeutet hingegen, dass nicht alle Entitäten in einer Entitätsmenge an einer Beziehung teilnehmen müssen. Mit anderen Worten, eine Entität in der Entitätsmenge kann existieren, ohne an der Beziehung teilzunehmen. Es gibt hier weitere Teilmengen.

 

Hier ein Beispiel: Ein Fahrzeug ist ein PKW oder ein LKW oder ein Motorrad. Die Beziehung ist damit disjunkt und partiell.

 

Grundprinzipien der Objektorientierung

Die Objektorientierung ist ein Ansatz in der Informatik, der auf der Idee beruht, dass Software als eine Sammlung von Objekten betrachtet werden kann, die jeweils eigene Zustände und Verhaltensweisen haben. Diese Objekte können miteinander interagieren und dadurch komplexe Systeme bilden.

Das Ansatz der Objektorientierung basiert auf vier Grundprinzipien:

Abstraktion

Abstraktion bezieht sich darauf, dass Objekte in der Softwareentwicklung vereinfacht dargestellt werden können, um nur die relevanten Informationen und Funktionalitäten darzustellen.

Vererbung

Vererbung ermöglicht es, dass Objekte bestimmte Eigenschaften und Verhaltensweisen von anderen Objekten erben können, die in der Hierarchie über ihnen liegen.

Polymorphie

Polymorphie beschreibt die Möglichkeit, dass Objekte je nach Kontext unterschiedliche Formen annehmen können und auf verschiedene Arten verwendet werden können.

Kapselung

Kapselung bezieht sich auf die Idee, dass Objekte ihre internen Zustände und Verhaltensweisen vor externen Einflüssen schützen können. Dadurch können sie nur bestimmte Methoden zur Interaktion mit der Außenwelt freigeben.

Dazu gibt es weitere wichtige Konzepte:

Klassifikation

Die Klassifikation ist ein Prozess der Zuordnung von Objekten zu vordefinierten Klassen. Die basiert auf der Grundlage ihrer Eigenschaften und Merkmale. Es ist ein wichtiger Bestandteil bei Data Mining und Machine Learning, um Muster und Beziehungen in Daten zu erkennen und Vorhersagen zu treffen.

Aggregation

Aggregation bezieht sich auf die Zusammenfassung von Daten oder Objekten zu einer hierarisch höheren Ebene der Abstraktion. Dadurch wird die Analyse und Verarbeitung von komplexen Datenstrukturen auf einer vereinfachten Ebene ermöglicht.

Generalisierung

Generalisierung ist ein Prozess, bei dem eine allgemeine Klasse von Objekten definiert wird. Diese wird als Basisklasse oder Superklasse bezeichnet.  Von so einer Basisklasse können andere spezifischere Klassen von Objekten abgeleitet werden. Diese werden als ‚abgeleitete Klassen‘ oder Subklassen bezeichnet. Das ermöglicht die gemeinsame Verwendung von Attributen und Methoden in verschiedenen Klassen und fördert die Wiederverwendbarkeit von Code.

Assoziation

Assoziation beschreibt die Beziehung zwischen zwei oder mehr Objekten, die zusammenarbeiten, um eine bestimmte Aufgabe zu erfüllen. Dadurch wird die Modellierung komplexer Beziehungen zwischen Objekten ermöglicht und  dies trägt zur Flexibilität und Erweiterbarkeit von Software-Systemen bei.

Identifikation

Identifikation bezieht sich auf die eindeutige Zuweisung eines Namens oder einer Identität zu einem Objekt, um es von Anderen zu unterscheiden. Dies ermöglicht die Manipulation und Verarbeitung von Objekten in Software.  So unterstützt die Umsetzung objektorientierte Konzepte, wie Polymorphie und Vererbung.

Fazit:

Die Objektorientierung hat zahlreiche Vorteile, darunter eine hohe Modularität, gute Wiederverwendbarkeit von Code und eine vorzügliche Wartbarkeit. Die Objektorientierung wird in Programmiersprachen wie z.B. in Java, Python und C++ eingesetzt und hat sich als eine der wichtigsten Konzepte in der Softwareentwicklung entwickelt.

 

Relationale Datenbanken entwerfen

Der Entwurf relationaler Datenbanken spielt für Datenbankentwickler eine wichtige Rolle. Dabei wird das 3-Ebenen Modell eingesetzt. Das besteht aus drei Ebenen. Dies sind die externe-, die konzeptionelle- und die interne Ebene. Um die Entwicklung zu vereinfachen, wird häufig das Entity-Relationship Modell eingesetzt. Das wird auch ER-Modell oder ERM genannt.

Der Entwicklungsprozess

Der gesamte Entwicklungsprozess besteht aus mehreren Phasen.

AnforderungsanalyseDatenbank EntwicklungsprozessAnforderungsanalyse

Die Anforderungsanalyse beginnt damit, dass alle Anforderungen der Akteure gesammelt und ausgewertet werden. Dabei können die Akteure in Gruppen geordnet werden. Dabei stellen sich die W-Fragen:

  • Welche Daten werden verarbeitet?
  • Wie werden die Daten verarbeitet?
  • Was ist in der Datenbank abzulegen?
  • Welche Daten werden Wem zur Verfügung gestellt?
  • Wo werden die Daten verarbeitet und wo gespeichert?
  • Wann finden welche Prozesse statt?
  • Wer führt welche Tätigkeiten durch?

Konzeptioneller Entwurf

Beim konzeptionellen Entwurf gibt es verschiedene Vorgehensmodelle. Oft wird die Top-Down- oder die Bottom-Up Methode eingesetzt. Hier werden die Daten, die Prozesse, die Abhängigkeiten in Beziehung gebracht. Jetzt ist der richtige Moment zu entscheiden, welches Datenbank System (DBS) eingesetzt wird, außer die Anforderungen haben dies bereits festgelegt.

Logischer Entwurf

Beim logischen Entwurf findet die Umsetzung des konzeptionellen Schemas statt. Die häufigsten Abfragen sind auf Grund der Anforderungen bekannt und bereits beschrieben. Das Endergebnis ist eine normalisierte Tabellenstruktur, die keine Fehler und Redundanzen enthält.

Implementierung

Jetzt erfolgt die konkrete Umsetzung auf dem Datenbank System. Dabei wird auf ein gutes Laufzeitverhalten und auf Effizienz geachtet. Wichtig ist hier, dass nach den Regeln der KVP (Kontinuierlicher Verbesserung Prozess) die Datenbank optimiert wird. Es werden die Sichten, Relationen, Indizes und die Berechtigungen eingerichtet.

Test / Qualitätssicherung

Bei der Qualitätssicherung wird geprüft, ob die Anforderungen erfüllt sind. Zudem werden die während der Anforderungsanalyse festgestellten Kriterien geprüft. Optimal ist hier zusätzliches automatisiertes Testsystem zu nutzen, dass den ganzen Lebenszyklus des DBS genutzt wird. Das vermeidet wiederkehrende Fehler und optimiert die Qualitätssicherung.

Übergabe und Nutzung

Nach dem Abschluss der Qualitätssicherung findet die Übergabe des Systems statt. Dabei ist zu beachten, dass dies wie alle vorher beschriebenen Prozesse in schriftlicher Form dokumentiert sein soll. Das Übergabedokument wird nach erfolgreicher Abnahme durch den Auftraggeber unterzeichnet und damit ist der Leiter des Projekts entlastet.