Valide XML-Dokumente gegen eine Document-Type-Definition erstellen

Alle XML-Dokumente müssen wohlgeformt sein, also den allgemeinen XML-Regeln genügen. Mithilfe einer Document-Type-Definition (DTD) oder mit XML-Schema können aber darüber hinaus spezifische Regeln an die Abfolge von Elementen und Attributen gestellt werden. Ein XML-Dokument, das solchen Regeln folgt, wird als valide bezeichnet. Dieser Artikel beschreibt die Grundlagen zur Erstellung einer Document-Type-Definition, wofür sie gebraucht wird und wie Du Fehler danach einordnest, ob sie die Wohlgeformtheit oder die Gültigkeit verletzen.

Die Auszeichnungssprache Extensible Markup Language (XML)

Die Extensible Markup Language (XML) wird häufig zur Speicherung und zum Austausch hierarchischer Daten genutzt. Der allgemeine Aufbau von XML und das Hauptmerkmal – die Wohlgeformtheit – wird im Artikel beschrieben, ebenso typische Fehler, an denen die Wohlgeformtheit scheitert, der Unterschied zur Gültigkeit und die Vor- und Nachteile gegenüber CSV und binären Formaten. Dieser Artikel ist der erste Teil einer Artikelserie zu XML.

Übersicht der Programmentwurfsmethoden

Algorithmen können mit unterschiedlichen Programmentwurfstechniken dokumentiert werden: Pseudocode, Programm-Ablaufplan, Struktogramm oder UML-Aktivitätsdiagramm. Hier werden alle vergleichend dargestellt.

Hinweise zum Antrag für die betriebliche Projektarbeit (IHK, Fachinformatiker*innen)

Mit Einreichung der Projektanträge beginnt der zweite Prüfungsteil in den IT-Berufen. Bei den eingereichten Anträgen gibt es eine Reihe leicht vermeidbarer formeller und fachlicher Fehler, die hier gelistet werden. Außerdem gibt es einige subjektive Empfehlungen, die vielleicht helfen, den Projektantrag zu schärfen damit keine zeitfressenden Nachbesserungen nötig sind. Viele Punkte sind für alle Fachinformatiker*innen relevant, speziell zugeschnitten sind sie aber für die Fachrichtungen Anwendungsentwicklung und Daten- und Prozessanalyse.

SQL-Übungsaufgaben (Orga-Datenbank für ein Barcamp)

Übungsaufgaben zur Datenbank-Modellierung und einfachen SQL-Abfragen am Beispiel einer Datenbank für die Planung eines Kongresses. Die einzelnen Schritte werden exemplarisch (an Teilbereichen der Datenbank) abgefragt. Die Aufgaben waren Bestandteil einer klassischen Zettel/Stift Klassenarbeit. Es soll ein konzeptuelles Datenmodell erstellt werden, dieses soll in ein logisches Datenmodell transformiert werden. Das Relationenschema soll normalisiert werden, schließlich soll die Datenstruktur erstellt und die Daten einer Tabelle eingefügt, geändert, gelöscht und ausgelesen werden.

Zugriff erlauben mit OAuth2 (UML-Sequenzdiagramm Übungsaufgabe)

Mit OAuth2 erlaubt eine Nutzerin einer App den Zugriff auf ihre Daten bei einem Webdienst, ohne der App ihr Passwort zu geben. In dieser Aufgabe recherchierst Du die Akteure und die Nachrichtenfolge von OAuth2 (Authorization Code mit PKCE) und stellst sie als UML-Sequenzdiagramm dar. Neben der Sequenzdiagramm-Übung lernst Du so einen zentralen Mechanismus zur Autorisierung kennen.

Whitebox-Übungsaufgabe „Sortierung“: Kontrollflussgraph, McCabe-Zahl und Überdeckung

Zu einer gegebenen Funktion (ein Sortieralgorithmus) soll ein Kontrollflussgraph erstellt werden, die McCabe-Zahl berechnet werden (beides optional), die Überdeckungsmetriken für einen bestehenden Test berechnet werden, weitere Tests aus Whitebox-Sicht ergänzt werden und alles mit einem Code-Coverage-Tool implementiert werden.

Blackboxtest- und Algorithmus-Übungsaufgabe „Gesamtnote und Bestehensregeln“

Übungsaufgaben zur Erstellung von Testfällen nach Blackbox-Systematik für eine Funktion, die aus den Einzelergebnissen die Abschlussnote nach den Bestehensregeln der Ausbildungsverordnung berechnet. Du bestimmst systematisch Äquivalenzklassen und Grenzwerte und formulierst abschließend den Algorithmus in Pseudocode.

Versandkostenrechner-Übungsaufgabe zur Testfallerstellung nach Whitebox-Systematik

Zu einer gegebenen Java-Methode (Versandkostenrechner) erstellst Du einen Kontrollflussgraphen und berechnest die McCabe-Zahl (beides optional), bestimmst Anweisungs- und Zweigüberdeckung eines vorhandenen Tests, ergänzt weitere Testfälle nach Whitebox-Systematik, prüfst alles mit dem Code-Coverage-Werkzeug JaCoCo und suchst einen logischen Fehler, den die Whitebox-Sicht übersieht.

Leitfragen und Übungsaufgaben zum roten Grad des Clean-Code-Developers

Leitfragen und Übungsaufgaben zu Clean Code: Der Artikel enthält eine Reihe von Leitfragen zum Verständnis der Prinzipien (DRY, KISS, BoPO, FCoI, IOSP) und Praktiken (Boy Scout, Root Cause, VCS, Refactoring, Reflection), die im roten Grad des Clean-Code-Developers zusammengefasst sind. Am Ende findet sich eine praktische Übungsaufgabe, bei der Clean-Code-Prinzipien angewendet werden sollen.

Übungsaufgaben zu Representational State Transfer (REST)

Drei Übungsaufgaben zu den Grundlagen von REST: Zuerst klärst Du zentrale Begriffe wie Ressource, Repräsentation, URI, HTTP-Methoden, Garantien und Statuscodes. Danach prüfst Du an zwei Fallbeispielen – der REST-API einer smarten Heizung und der eines Industrieroboters –, ob Aufrufe REST-konform sind, welche CRUD-Funktion und welche Garantien sie haben, und schlägst Alternativen vor.

Pflichtenheft für ein Microcontroller-Projekt

Liegen die Anforderungen der Kundschaft für ein Microcontroller-Projekt vor, so müssen diese nach dem Wasserfall-Modell als nächstes analysiert, mit Realisierungsoptionen versehen und als Pflichtenheft dokumentiert werden. Der Artikel zeigt außerdem, wer das Pflichtenheft schreibt und freigibt, welche Inhalte typisch sind, welche Rolle es für Vertrag, Tests, Änderungen und Abnahme spielt und wie es sich vom Lastenheft unterscheidet.

Lastenheft für ein Microcontroller-Projekt

Wird ein Microcontroller-Projekt nach dem Wasserfall-Modell entwickelt, dann müssen zunächst die Anforderungen aus Auftraggebersicht definiert und in einem Lastenheft dokumentiert werden. Welche Aspekte sollten hierbei erfasst werden? Der Artikel klärt außerdem, wer das Lastenheft schreibt und abstimmt, wofür es im Projekt verwendet wird, welche Inhalte typisch sind und wie es sich vom Pflichtenheft unterscheidet.

What’s important? Nachhaltige Arbeitswege!

Was ist wirklich wichtig? Gute Informatiker*innen denken über Systemgrenzen hinaus – und sorgen sich entsprechend um eine nachhaltige Lebensweise. Der berufliche Alltag fängt mit unserem Weg ins Büro an: Wer ohne Auto ins Büro fährt, kann bis zu einer Tonne CO2 pro Jahr einsparen. Wäre es nicht an der Zeit, das nicht nur zu wissen, sondern endlich damit anzufangen?

Royce‘ Kritik am einfachen Phasenmodell (Wasserfallmodell)

Viele Auszubildende nutzen in ihren Projektdokumentationen das „Wasserfallmodell“ auf Basis einer Grafik, die Winston W. Royce als Beschreibung einer unbefriedigenden Ausgangslage herangezogen hat. Dass er daraufhin fünf wesentliche Schritte formuliert hat, die diesem Modell hinzugefügt werden müssen, um Risiken zu minimieren, ist über die Zeit scheinbar verloren gegangen. Wir nähern uns diesen fünf Schritten über das Originaldokument und Leitfragen.